diff --git a/erpnext/translations/pl.csv b/erpnext/translations/pl.csv
index 4a93d49..4563b64 100644
--- a/erpnext/translations/pl.csv
+++ b/erpnext/translations/pl.csv
@@ -1,9839 +1,9745 @@
-"""Customer Provided Item"" cannot be Purchase Item also","""Element dostarczony przez klienta"" nie może być również elementem nabycia",
-"""Customer Provided Item"" cannot have Valuation Rate","""Element dostarczony przez klienta"" nie może mieć wskaźnika wyceny",
-"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","""Jest Środkiem Trwałym"" nie może być odznaczone, jeśli istnieją pozycje z takim ustawieniem",
-'Based On' and 'Group By' can not be same,"Pola ""Bazuje na"" i ""Grupuj wg."" nie mogą być takie same",
-'Days Since Last Order' must be greater than or equal to zero,Pole 'Dni od ostatniego zamówienia' musi być większe bądź równe zero,
-'Entries' cannot be empty,Pole 'Wpisy' nie może być puste,
-'From Date' is required,Pole 'Od daty' jest wymagane,
-'From Date' must be after 'To Date',Pole 'Od daty' musi następować później niż 'Do daty',
-'Has Serial No' can not be 'Yes' for non-stock item,Numer seryjny nie jest dostępny dla pozycji niemagazynowych,
-'Opening',&quot;Otwarcie&quot;,
-'To Case No.' cannot be less than 'From Case No.','To Case No.' nie powinno być mniejsze niż 'From Case No.',
-'To Date' is required,'Do daty' jest wymaganym polem,
-'Total',&#39;Całkowity&#39;,
-'Update Stock' can not be checked because items are not delivered via {0},"'Aktualizuj Stan' nie może być zaznaczone, ponieważ elementy nie są dostarczane przez {0}",
-'Update Stock' cannot be checked for fixed asset sale,Opcja 'Aktualizuj Stan' nie może być zaznaczona dla sprzedaży środka trwałego,
-) for {0},) dla {0},
-1 exact match.,1 dokładny mecz.,
-90-Above,90-Ponad,
-A Customer Group exists with same name please change the Customer name or rename the Customer Group,Grupa Odbiorców posiada taką nazwę - wprowadź inną nazwę Odbiorcy lub zmień nazwę Grupy,
-A Default Service Level Agreement already exists.,Domyślna umowa dotycząca poziomu usług już istnieje.,
-A Lead requires either a person's name or an organization's name,Ołów wymaga nazwy osoby lub nazwy organizacji,
-A customer with the same name already exists,Klient o tej samej nazwie już istnieje,
-A question must have more than one options,Pytanie musi mieć więcej niż jedną opcję,
-A qustion must have at least one correct options,Qustion musi mieć co najmniej jedną poprawną opcję,
-A {0} exists between {1} and {2} (,{0} istnieje pomiędzy {1} a {2} (,
-A4,A4,
-API Endpoint,Punkt końcowy API,
-API Key,Klucz API,
-Abbr can not be blank or space,Skrót nie może być pusty lub być spacją,
-Abbreviation already used for another company,Skrót już używany przez inną firmę,
-Abbreviation cannot have more than 5 characters,Skrót nie może posiadać więcej niż 5 znaków,
-Abbreviation is mandatory,Skrót jest obowiązkowy,
-About the Company,O firmie,
-About your company,O Twojej firmie,
-Above,Powyżej,
-Absent,Nieobecny,
-Academic Term,semestr,
-Academic Term: ,Okres akademicki:,
-Academic Year,Rok akademicki,
-Academic Year: ,Rok akademicki:,
-Accepted + Rejected Qty must be equal to Received quantity for Item {0},Ilość Przyjętych + Odrzuconych musi odpowiadać ilości Odebranych (Element {0}),
-Access Token,Dostęp za pomocą Tokenu,
-Accessable Value,Dostępna wartość,
-Account,Konto,
-Account Number,Numer konta,
-Account Number {0} already used in account {1},Numer konta {0} jest już używany na koncie {1},
-Account Pay Only,Tylko płatne konto,
-Account Type,typ konta,
-Account Type for {0} must be {1},Typ konta dla {0} musi być {1},
-"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Konto jest na minusie, nie możesz ustawić wymagań jako debet.",
-"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Konto jest na minusie, nie możesz ustawić wymagań jako kredyt.",
-Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Numer konta dla konta {0} jest niedostępny. <br> Skonfiguruj poprawnie swój plan kont.,
-Account with child nodes cannot be converted to ledger,Konto grupujące inne konta nie może być konwertowane,
-Account with child nodes cannot be set as ledger,Konto z węzłów podrzędnych nie może być ustawiony jako księgi,
-Account with existing transaction can not be converted to group.,Konto z istniejącymi zapisami nie może być konwertowane na Grupę (konto dzielone).,
-Account with existing transaction can not be deleted,Konto z istniejącymi zapisami nie może być usunięte,
-Account with existing transaction cannot be converted to ledger,Konto z istniejącymi zapisami nie może być konwertowane,
-Account {0} does not belong to company: {1},Konto {0} nie należy do firmy: {1},
-Account {0} does not belongs to company {1},Konto {0} nie należy do firmy {1},
-Account {0} does not exist,Konto {0} nie istnieje,
-Account {0} does not exists,Konto {0} nie istnieje,
-Account {0} does not match with Company {1} in Mode of Account: {2},Konto {0} nie jest zgodne z firmą {1} w trybie konta: {2},
-Account {0} has been entered multiple times,Konto {0} zostało wprowadzone wielokrotnie,
-Account {0} is added in the child company {1},Konto {0} zostało dodane w firmie podrzędnej {1},
-Account {0} is frozen,Konto {0} jest zamrożone,
-Account {0} is invalid. Account Currency must be {1},Konto {0} jest nieprawidłowe. Waluta konta musi być {1},
-Account {0}: Parent account {1} can not be a ledger,Konto {0}: Nadrzędne konto {1} nie może być zwykłym,
-Account {0}: Parent account {1} does not belong to company: {2},Konto {0}: konto nadrzędne {1} nie należy do firmy: {2},
-Account {0}: Parent account {1} does not exist,Konto {0}: Konto nadrzędne {1} nie istnieje,
-Account {0}: You can not assign itself as parent account,Konto {0}: Nie można przypisać siebie jako konta nadrzędnego,
-Account: {0} can only be updated via Stock Transactions,Konto: {0} może być aktualizowana tylko przez operacje magazynowe,
-Account: {0} with currency: {1} can not be selected,Konto: {0} z waluty: nie można wybrać {1},
-Accountant,Księgowy,
-Accounting,Księgowość,
-Accounting Entry for Asset,Zapis Księgowy dla aktywów,
-Accounting Entry for Stock,Zapis księgowy dla zapasów,
-Accounting Entry for {0}: {1} can only be made in currency: {2},Wprowadzenia danych księgowych dla {0}: {1} może być dokonywane wyłącznie w walucie: {2},
-Accounting Ledger,Księgi rachunkowe,
-Accounting journal entries.,Dziennik zapisów księgowych.,
-Accounts,Księgowość,
-Accounts Manager,Specjalista ds. Sprzedaży,
-Accounts Payable,Zobowiązania,
-Accounts Payable Summary,Zobowiązania Podsumowanie,
-Accounts Receivable,Należności,
-Accounts Receivable Summary,Należności Podsumowanie,
-Accounts User,Konta Użytkownika,
-Accounts table cannot be blank.,Tabela kont nie może być pusta,
-Accrual Journal Entry for salaries from {0} to {1},Zapis wstępny w dzienniku dla zarobków od {0} do {1},
-Accumulated Depreciation,Umorzenia (skumulowana amortyzacja),
-Accumulated Depreciation Amount,Kwota Skumulowanej amortyzacji,
-Accumulated Depreciation as on,Skumulowana amortyzacja jak na,
-Accumulated Monthly,skumulowane miesięcznie,
-Accumulated Values,Skumulowane wartości,
-Accumulated Values in Group Company,Skumulowane wartości w Spółce Grupy,
-Achieved ({}),Osiągnięto ({}),
-Action,Działanie,
-Action Initialised,Działanie zainicjowane,
-Actions,działania,
-Active,Aktywny,
-Activity Cost exists for Employee {0} against Activity Type - {1},Istnieje aktywny Koszt Pracodawcy {0} przed Type Aktywny - {1},
-Activity Cost per Employee,Koszt aktywność na pracownika,
-Activity Type,Rodzaj aktywności,
-Actual Cost,Aktualna cena,
-Actual Delivery Date,Rzeczywista data dostawy,
-Actual Qty,Rzeczywista ilość,
-Actual Qty is mandatory,Rzeczywista ilość jest obowiązkowa,
-Actual Qty {0} / Waiting Qty {1},Rzeczywista ilość {0} / liczba oczekujących {1},
-Actual Qty: Quantity available in the warehouse.,Rzeczywista ilość: ilość dostępna w magazynie.,
-Actual qty in stock,Rzeczywista ilość w magazynie,
-Actual type tax cannot be included in Item rate in row {0},Rzeczywista Podatek typu nie mogą być wliczone w cenę towaru w wierszu {0},
-Add,Dodaj,
-Add / Edit Prices,Dodaj / edytuj ceny,
-Add Comment,Dodaj komentarz,
-Add Customers,Dodaj klientów,
-Add Employees,Dodaj pracowników,
-Add Item,Dodaj pozycję,
-Add Items,Dodaj pozycje,
-Add Leads,Dodaj namiary,
-Add Multiple Tasks,Dodaj wiele zadań,
-Add Row,Dodaj wiersz,
-Add Sales Partners,Dodaj partnerów handlowych,
-Add Serial No,Dodaj nr seryjny,
-Add Students,Dodaj uczniów,
-Add Suppliers,Dodaj dostawców,
-Add Time Slots,Dodaj gniazda czasowe,
-Add Timesheets,Dodaj ewidencja czasu pracy,
-Add Timeslots,Dodaj czasopisma,
-Add Users to Marketplace,Dodaj użytkowników do rynku,
-Add a new address,Dodaj nowy adres,
-Add cards or custom sections on homepage,Dodaj karty lub niestandardowe sekcje na stronie głównej,
-Add more items or open full form,Dodać więcej rzeczy lub otworzyć pełną formę,
-Add notes,Dodaj notatki,
-Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Dodać resztę organizacji jako użytkowników. Można również dodać zaprosić klientów do portalu dodając je z Kontaktów,
-Add to Details,Dodaj do szczegółów,
-Add/Remove Recipients,Dodaj / usuń odbiorców,
-Added,Dodano,
-Added to details,Dodano do szczegółów,
-Added {0} users,Dodano {0} użytkowników,
-Additional Salary Component Exists.,Istnieje dodatkowy składnik wynagrodzenia.,
-Address,Adres,
-Address Line 2,Drugi wiersz adresu,
-Address Name,Adres,
-Address Title,Tytuł adresu,
-Address Type,Typ adresu,
-Administrative Expenses,Wydatki na podstawową działalność,
-Administrative Officer,Urzędnik administracyjny,
-Administrator,Administrator,
-Admission,Wstęp,
-Admission and Enrollment,Wstęp i rejestracja,
-Admissions for {0},Rekrutacja dla {0},
-Admit,Przyznać,
-Admitted,Przyznał,
-Advance Amount,Kwota Zaliczki,
-Advance Payments,Zaliczki,
-Advance account currency should be same as company currency {0},"Waluta konta Advance powinna być taka sama, jak waluta firmy {0}",
-Advance amount cannot be greater than {0} {1},Ilość wyprzedzeniem nie może być większa niż {0} {1},
-Advertising,Reklamowanie,
-Aerospace,Lotnictwo,
-Against,Wyklucza,
-Against Account,Konto korespondujące,
-Against Journal Entry {0} does not have any unmatched {1} entry,Przeciwko Urzędowym Wejście {0} nie ma niezrównaną pozycję {1},
-Against Journal Entry {0} is already adjusted against some other voucher,Zapis {0} jest już powiązany z innym dowodem księgowym,
-Against Supplier Invoice {0} dated {1},Przeciwko Dostawcę faktury {0} {1} dnia,
-Against Voucher,Dowód księgowy,
-Against Voucher Type,Rodzaj dowodu,
-Age,Wiek,
-Age (Days),Wiek (dni),
-Ageing Based On,,
-Ageing Range 1,Starzenie Zakres 1,
-Ageing Range 2,Starzenie Zakres 2,
-Ageing Range 3,Starzenie Zakres 3,
-Agriculture,Rolnictwo,
-Agriculture (beta),Rolnictwo (beta),
-Airline,Linia lotnicza,
-All Accounts,Wszystkie konta,
-All Addresses.,Wszystkie adresy,
-All Assessment Groups,Wszystkie grupy oceny,
-All BOMs,Wszystkie LM,
-All Contacts.,Wszystkie kontakty.,
-All Customer Groups,Wszystkie grupy klientów,
-All Day,Cały Dzień,
-All Departments,Wszystkie departamenty,
-All Healthcare Service Units,Wszystkie jednostki służby zdrowia,
-All Item Groups,Wszystkie grupy produktów,
-All Jobs,Wszystkie Oferty pracy,
-All Products,Wszystkie produkty,
-All Products or Services.,Wszystkie produkty i usługi.,
-All Student Admissions,Wszystkie Przyjęć studenckie,
-All Supplier Groups,Wszystkie grupy dostawców,
-All Supplier scorecards.,Wszystkie karty oceny dostawcy.,
-All Territories,Wszystkie obszary,
-All Warehouses,Wszystkie magazyny,
-All communications including and above this shall be moved into the new Issue,"Wszystkie komunikaty, w tym i powyżej tego, zostaną przeniesione do nowego wydania",
-All items have already been transferred for this Work Order.,Wszystkie przedmioty zostały już przekazane dla tego zlecenia pracy.,
-All other ITC,Wszystkie inne ITC,
-All the mandatory Task for employee creation hasn't been done yet.,Wszystkie obowiązkowe zadanie tworzenia pracowników nie zostało jeszcze wykonane.,
-Allocate Payment Amount,Przeznaczyć Kwota płatności,
-Allocated Amount,Przyznana kwota,
-Allocated Leaves,Przydzielone Nieobecności,
-Allocating leaves...,Przydzielanie Nieobecności...,
-Already record exists for the item {0},Już istnieje rekord dla elementu {0},
-"Already set default in pos profile {0} for user {1}, kindly disabled default","Już ustawiono domyślne w profilu pozycji {0} dla użytkownika {1}, domyślnie wyłączone",
-Alternate Item,Alternatywna pozycja,
-Alternative item must not be same as item code,"Element alternatywny nie może być taki sam, jak kod produktu",
-Amended From,Zmodyfikowany od,
-Amount,Wartość,
-Amount After Depreciation,Kwota po amortyzacji,
-Amount of Integrated Tax,Kwota Zintegrowanego Podatku,
-Amount of TDS Deducted,Kwota potrąconej TDS,
-Amount should not be less than zero.,Kwota nie powinna być mniejsza niż zero.,
-Amount to Bill,Kwota rachunku,
-Amount {0} {1} against {2} {3},Kwota {0} {1} przeciwko {2} {3},
-Amount {0} {1} deducted against {2},Kwota {0} {1} odliczone przed {2},
-Amount {0} {1} transferred from {2} to {3},"Kwota {0} {1} przeniesione z {2} {3}, aby",
-Amount {0} {1} {2} {3},Kwota {0} {1} {2} {3},
-Amt,Amt,
-"An Item Group exists with same name, please change the item name or rename the item group",Istnieje element Grupy o takiej nazwie. Zmień nazwę elementu lub tamtej Grupy.,
-An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Semestr z tym &quot;Roku Akademickiego&quot; {0} i &#39;Nazwa Termin&#39; {1} już istnieje. Proszę zmodyfikować te dane i spróbuj jeszcze raz.,
-An error occurred during the update process,Wystąpił błąd podczas procesu aktualizacji,
-"An item exists with same name ({0}), please change the item group name or rename the item",Istnieje element  o takiej nazwie. Zmień nazwę Grupy lub tego elementu.,
-Analyst,Analityk,
-Analytics,Analityk,
-Annual Billing: {0},Roczne rozliczeniowy: {0},
-Annual Salary,Roczne wynagrodzenie,
-Anonymous,Anonimowy,
-Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},Inny rekord budżetu &quot;{0}&quot; już istnieje w stosunku do {1} &quot;{2}&quot; i konta &quot;{3}&quot; w roku finansowym {4},
-Another Period Closing Entry {0} has been made after {1},Kolejny okres Zamknięcie Wejście {0} została wykonana po {1},
-Another Sales Person {0} exists with the same Employee id,Inna osoba Sprzedaż {0} istnieje w tym samym identyfikator pracownika,
-Antibiotic,Antybiotyk,
-Apparel & Accessories,Odzież i akcesoria,
-Applicable For,Stosowne dla,
-"Applicable if the company is SpA, SApA or SRL","Stosuje się, jeśli spółką jest SpA, SApA lub SRL",
-Applicable if the company is a limited liability company,"Stosuje się, jeśli firma jest spółką z ograniczoną odpowiedzialnością",
-Applicable if the company is an Individual or a Proprietorship,"Stosuje się, jeśli firma jest jednostką lub właścicielem",
-Applicant,Petent,
-Applicant Type,Typ Wnioskodawcy,
-Application of Funds (Assets),Aktywa,
-Application period cannot be across two allocation records,Okres aplikacji nie może mieć dwóch rekordów przydziału,
-Application period cannot be outside leave allocation period,Wskazana data nieobecności nie może wykraczać poza zaalokowany okres dla nieobecności,
-Applied,Stosowany,
-Apply Now,Aplikuj teraz,
-Appointment Confirmation,Potwierdzenie spotkania,
-Appointment Duration (mins),Czas trwania spotkania (min),
-Appointment Type,Typ spotkania,
-Appointment {0} and Sales Invoice {1} cancelled,Mianowanie {0} i faktura sprzedaży {1} zostały anulowane,
-Appointments and Encounters,Spotkania i spotkania,
-Appointments and Patient Encounters,Spotkania i spotkania z pacjentami,
-Appraisal {0} created for Employee {1} in the given date range,Ocena {0} utworzona dla Pracownika {1} w datach od-do,
-Apprentice,Uczeń,
-Approval Status,Status Zatwierdzenia,
-Approval Status must be 'Approved' or 'Rejected',Status Zatwierdzenia musi być 'Zatwierdzono' albo 'Odrzucono',
-Approve,Zatwierdzać,
-Approving Role cannot be same as role the rule is Applicable To,Rola Zatwierdzająca nie może być taka sama jak rola którą zatwierdza,
-Approving User cannot be same as user the rule is Applicable To,"Zatwierdzający Użytkownik nie może być taki sam, jak użytkownik którego zatwierdza",
-"Apps using current key won't be able to access, are you sure?","Aplikacje używające obecnego klucza nie będą mogły uzyskać dostępu, czy na pewno?",
-Are you sure you want to cancel this appointment?,Czy na pewno chcesz anulować to spotkanie?,
-Arrear,Zaległość,
-As Examiner,Jako egzaminator,
-As On Date,W sprawie daty,
-As Supervisor,Jako Supervisor,
-As per rules 42 & 43 of CGST Rules,Zgodnie z zasadami 42 i 43 Regulaminu CGST,
-As per section 17(5),Jak w sekcji 17 (5),
-As per your assigned Salary Structure you cannot apply for benefits,Zgodnie z przypisaną Ci strukturą wynagrodzeń nie możesz ubiegać się o świadczenia,
-Assessment,Oszacowanie,
-Assessment Criteria,Kryteria oceny,
-Assessment Group,Grupa Assessment,
-Assessment Group: ,Grupa oceny:,
-Assessment Plan,Plan oceny,
-Assessment Plan Name,Nazwa planu oceny,
-Assessment Report,Sprawozdanie z oceny,
-Assessment Reports,Raporty z oceny,
-Assessment Result,Wynik oceny,
-Assessment Result record {0} already exists.,Wynik Wynik {0} już istnieje.,
-Asset,Składnik aktywów,
-Asset Category,Aktywa Kategoria,
-Asset Category is mandatory for Fixed Asset item,Kategoria atutem jest obowiązkowe dla Fixed pozycja aktywów,
-Asset Maintenance,Konserwacja aktywów,
-Asset Movement,Zaleta Ruch,
-Asset Movement record {0} created,Rekord Ruch atutem {0} tworzone,
-Asset Name,Zaleta Nazwa,
-Asset Received But Not Billed,"Zasoby odebrane, ale nieopłacone",
-Asset Value Adjustment,Korekta wartości aktywów,
-"Asset cannot be cancelled, as it is already {0}","Aktywów nie mogą być anulowane, ponieważ jest już {0}",
-Asset scrapped via Journal Entry {0},Zaleta złomowany poprzez Journal Entry {0},
-"Asset {0} cannot be scrapped, as it is already {1}","Składnik {0} nie może zostać wycofane, jak to jest już {1}",
-Asset {0} does not belong to company {1},Zaleta {0} nie należą do firmy {1},
-Asset {0} must be submitted,Zaleta {0} należy składać,
-Assets,Majątek,
-Assign,Przydziel,
-Assign Salary Structure,Przypisanie struktury wynagrodzeń,
-Assign To,Przypisano do,
-Assign to Employees,Przypisz do pracowników,
-Assigning Structures...,Przyporządkowywanie Struktur,
-Associate,Współpracownik,
-At least one mode of payment is required for POS invoice.,Co najmniej jeden tryb płatności POS jest wymagane dla faktury.,
-Atleast one item should be entered with negative quantity in return document,Conajmniej jedna pozycja powinna być wpisana w ilości negatywnej w dokumencie powrotnej,
-Atleast one of the Selling or Buying must be selected,Conajmniej jeden sprzedaż lub zakup musi być wybrany,
-Atleast one warehouse is mandatory,Co najmniej jeden magazyn jest wymagany,
-Attach Logo,Załącz Logo,
-Attachment,Załącznik,
-Attachments,Załączniki,
-Attendance,Obecność,
-Attendance From Date and Attendance To Date is mandatory,Obecnośc od i do Daty są obowiązkowe,
-Attendance can not be marked for future dates,Obecność nie może być oznaczana na przyszłość,
-Attendance date can not be less than employee's joining date,data frekwencja nie może być mniejsza niż data łączącej pracownika,
-Attendance for employee {0} is already marked,Frekwencja pracownika {0} jest już zaznaczona,
-Attendance for employee {0} is already marked for this day,Frekwencja na pracownika {0} jest już zaznaczone na ten dzień,
-Attendance has been marked successfully.,Obecność została oznaczona pomyślnie.,
-Attendance not submitted for {0} as it is a Holiday.,"Frekwencja nie została przesłana do {0}, ponieważ jest to święto.",
-Attendance not submitted for {0} as {1} on leave.,Obecność nie została przesłana do {0} jako {1} podczas nieobecności.,
-Attribute table is mandatory,Stół atrybut jest obowiązkowy,
-Attribute {0} selected multiple times in Attributes Table,Atrybut {0} wybrane atrybuty kilka razy w tabeli,
-Author,Autor,
-Authorized Signatory,Upoważniony sygnatariusz,
-Auto Material Requests Generated,Wnioski Auto Materiał Generated,
-Auto Repeat,Auto Repeat,
-Auto repeat document updated,Automatycznie powtórzony dokument został zaktualizowany,
-Automotive,,
-Available,Dostępny,
-Available Leaves,Dostępne Nieobecności,
-Available Qty,Dostępne szt,
-Available Selling,Dostępne sprzedawanie,
-Available for use date is required,Dostępna jest data przydatności do użycia,
-Available slots,Dostępne gniazda,
-Available {0},Dostępne {0},
-Available-for-use Date should be after purchase date,Data przydatności do użycia powinna być późniejsza niż data zakupu,
-Average Age,Średni wiek,
-Average Rate,Średnia Stawka,
-Avg Daily Outgoing,Średnia dzienna Wychodzące,
-Avg. Buying Price List Rate,Śr. Kupowanie kursu cenowego,
-Avg. Selling Price List Rate,Śr. Wskaźnik cen sprzedaży,
-Avg. Selling Rate,Średnia. Cena sprzedaży,
-BOM,BOM,
-BOM Browser,Przeglądarka BOM,
-BOM No,Nr zestawienia materiałowego,
-BOM Rate,BOM Kursy,
-BOM Stock Report,BOM Zdjęcie Zgłoś,
-BOM and Manufacturing Quantity are required,BOM i ilości są wymagane Manufacturing,
-BOM does not contain any stock item,BOM nie zawiera żadnego elementu akcji,
-BOM {0} does not belong to Item {1},BOM {0} nie należy do pozycji {1},
-BOM {0} must be active,BOM {0} musi być aktywny,
-BOM {0} must be submitted,BOM {0} musi być złożony,
-Balance,Bilans,
-Balance (Dr - Cr),Balans (Dr - Cr),
-Balance ({0}),Saldo ({0}),
-Balance Qty,Ilość bilansu,
-Balance Sheet,Arkusz Bilansu,
-Balance Value,Wartość bilansu,
-Balance for Account {0} must always be {1},Bilans dla Konta {0} zawsze powinien wynosić {1},
-Bank,Bank,
-Bank Account,Konto bankowe,
-Bank Accounts,Konta bankowe,
-Bank Draft,Przekaz bankowy,
-Bank Entries,Operacje bankowe,
-Bank Name,Nazwa banku,
-Bank Overdraft Account,Konto z kredytem w rachunku bankowym,
-Bank Reconciliation,Uzgodnienia z wyciągiem bankowym,
-Bank Reconciliation Statement,Stan uzgodnień z wyciągami z banku,
-Bank Statement,Wyciąg bankowy,
-Bank Statement Settings,Ustawienia wyciągu bankowego,
-Bank Statement balance as per General Ledger,Bilans wyciągów bankowych wedle Księgi Głównej,
-Bank account cannot be named as {0},Rachunku bankowego nie może być nazwany {0},
-Bank/Cash transactions against party or for internal transfer,Transakcje Bank / Gotówka przeciwko osobie lub do przenoszenia wewnętrznego,
-Banking,Bankowość,
-Banking and Payments,Operacje bankowe i płatności,
-Barcode {0} already used in Item {1},Kod kreskowy {0} jest już używany dla przedmiotu {1},
-Barcode {0} is not a valid {1} code,Kod kreskowy {0} nie jest prawidłowym kodem {1},
-Base,Baza,
-Base URL,Podstawowy adres URL,
-Based On,Bazujący na,
-Based On Payment Terms,Bazując na Zasadach Płatności,
-Basic,Podstawowy,
-Batch,Partia,
-Batch Entries,Wpisy wsadowe,
-Batch ID is mandatory,Identyfikator zbiorczy jest obowiązkowy,
-Batch Inventory,Inwentaryzacja partii,
-Batch Name,Batch Nazwa,
-Batch No,Nr Partii,
-Batch number is mandatory for Item {0},Numer partii jest obowiązkowy dla produktu {0},
-Batch {0} of Item {1} has expired.,Batch {0} pozycji {1} wygasł.,
-Batch {0} of Item {1} is disabled.,Partia {0} elementu {1} jest wyłączona.,
-Batch: ,Partia:,
-Batches,Partie,
-Become a Seller,Zostań sprzedawcą,
-Beginner,Początkujący,
-Bill,Rachunek,
-Bill Date,Data Rachunku,
-Bill No,Numer Rachunku,
-Bill of Materials,Zestawienie materiałów,
-Bill of Materials (BOM),Zestawienie materiałowe (BOM),
-Billable Hours,Rozliczalne godziny,
-Billed,Rozliczony,
-Billed Amount,Ilość Rozliczenia,
-Billing,Dane do faktury,
-Billing Address,Adres Faktury,
-Billing Address is same as Shipping Address,"Adres rozliczeniowy jest taki sam, jak adres wysyłki",
-Billing Amount,Kwota Rozliczenia,
-Billing Status,Status Faktury,
-Billing currency must be equal to either default company's currency or party account currency,Waluta rozliczeniowa musi być równa domyślnej walucie firmy lub walucie konta strony,
-Bills raised by Suppliers.,Rachunki od dostawców.,
-Bills raised to Customers.,Rachunki dla klientów.,
-Biotechnology,Biotechnologia,
-Birthday Reminder,Przypomnienie o urodzinach,
-Black,czarny,
-Blanket Orders from Costumers.,Zamówienia zbiorcze od klientów.,
-Block Invoice,Zablokuj fakturę,
-Boms,Bomy,
-Bonus Payment Date cannot be a past date,Data płatności premii nie może być datą przeszłą,
-Both Trial Period Start Date and Trial Period End Date must be set,"Należy ustawić zarówno datę rozpoczęcia okresu próbnego, jak i datę zakończenia okresu próbnego",
-Both Warehouse must belong to same Company,Obydwa Magazyny muszą należeć do tej samej firmy,
-Branch,Odddział,
-Broadcasting,Transmitowanie,
-Brokerage,Pośrednictwo,
-Browse BOM,Przeglądaj BOM,
-Budget Against,budżet Against,
-Budget List,Lista budżetu,
-Budget Variance Report,Raport z weryfikacji budżetu,
-Budget cannot be assigned against Group Account {0},Budżet nie może być przypisany do rachunku grupy {0},
-"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Budżet nie może być przypisany przed {0}, ponieważ nie jest to konto przychodów lub kosztów",
-Buildings,Budynki,
-Bundle items at time of sale.,Pakiet przedmiotów w momencie sprzedaży,
-Business Development Manager,Business Development Manager,
-Buy,Kup,
-Buying,Zakupy,
-Buying Amount,Kwota zakupu,
-Buying Price List,Kupowanie cennika,
-Buying Rate,Cena zakupu,
-"Buying must be checked, if Applicable For is selected as {0}","Zakup musi być sprawdzona, jeśli dotyczy wybrano jako {0}",
-By {0},Do {0},
-Bypass credit check at Sales Order ,Pomiń kontrolę kredytową w zleceniu sprzedaży,
-C-Form records,,
-C-form is not applicable for Invoice: {0},C-forma nie ma zastosowania do faktury: {0},
-CEO,CEO,
-CESS Amount,Kwota CESS,
-CGST Amount,CGST Kwota,
-CRM,CRM,
-CWIP Account,Konto CWIP,
-Calculated Bank Statement balance,Obliczony bilans wyciągu bankowego,
-Calls,Połączenia,
-Campaign,Kampania,
-Can be approved by {0},Może być zatwierdzone przez {0},
-"Can not filter based on Account, if grouped by Account","Nie można przefiltrować na podstawie Konta, jeśli pogrupowano z użuciem konta",
-"Can not filter based on Voucher No, if grouped by Voucher","Nie można przefiltrować wg Podstawy, jeśli pogrupowano z użyciem Podstawy",
-"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Nie można oznaczyć rekordu rozładowania szpitala, istnieją niezafakturowane faktury {0}",
-Can only make payment against unbilled {0},Mogą jedynie wpłaty przed Unbilled {0},
-Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',"Może odnosić się do wierdza tylko wtedy, gdy typ opłata jest ""Poprzedniej Wartości Wiersza Suma"" lub ""poprzedniego wiersza Razem""",
-"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Nie można zmienić metody wyceny, ponieważ istnieją transakcje dotyczące niektórych pozycji, które nie mają własnej metody wyceny",
-Can't create standard criteria. Please rename the criteria,Nie można utworzyć standardowych kryteriów. Zmień nazwę kryteriów,
-Cancel,Anuluj,
-Cancel Material Visit {0} before cancelling this Warranty Claim,Anuluj Materiał Odwiedź {0} zanim anuluje to roszczenia z tytułu gwarancji,
-Cancel Material Visits {0} before cancelling this Maintenance Visit,Anuluj Fizyczne Wizyty {0} zanim anulujesz Wizytę Pośrednią,
-Cancel Subscription,Anuluj subskrypcje,
-Cancel the journal entry {0} first,Najpierw anuluj zapis księgowy {0},
-Canceled,Anulowany,
-"Cannot Submit, Employees left to mark attendance","Nie można przesłać, pracownicy zostali pozostawieni, aby zaznaczyć frekwencję",
-Cannot be a fixed asset item as Stock Ledger is created.,"Nie może być pozycją środka trwałego, ponieważ tworzona jest księga zapasowa.",
-Cannot cancel because submitted Stock Entry {0} exists,"Nie można anulować, ponieważ wskazane Wprowadzenie na magazyn {0} istnieje",
-Cannot cancel transaction for Completed Work Order.,Nie można anulować transakcji dotyczącej ukończonego zlecenia pracy.,
-Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},"Nie można anulować {0} {1}, ponieważ numer seryjny {2} nie należy do magazynu {3}",
-Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Nie można zmienić atrybutów po transakcji giełdowej. Zrób nowy przedmiot i prześlij towar do nowego przedmiotu,
-Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,"Nie można zmienić Rok obrotowy Data rozpoczęcia i Data zakończenia roku obrotowego, gdy rok obrotowy jest zapisane.",
-Cannot change Service Stop Date for item in row {0},Nie można zmienić daty zatrzymania usługi dla pozycji w wierszu {0},
-Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,"Nie można zmienić właściwości wariantu po transakcji giełdowej. Będziesz musiał zrobić nową rzecz, aby to zrobić.",
-"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Nie można zmienić domyślnej waluty firmy, ponieważ istnieją przypisane do niej transakcje. Anuluj transakcje, aby zmienić domyślną walutę",
-Cannot change status as student {0} is linked with student application {1},Nie można zmienić status studenta {0} jest powiązany z aplikacją studentów {1},
-Cannot convert Cost Center to ledger as it has child nodes,"Nie można przekonwertować centrum kosztów do księgi głównej, jak to ma węzły potomne",
-Cannot covert to Group because Account Type is selected.,"Nie można konwertowanie do grupy, ponieważ jest wybrany rodzaj konta.",
-Cannot create Retention Bonus for left Employees,Nie można utworzyć bonusu utrzymania dla leworęcznych pracowników,
-Cannot create a Delivery Trip from Draft documents.,Nie można utworzyć podróży dostawy z dokumentów roboczych.,
-Cannot deactivate or cancel BOM as it is linked with other BOMs,Nie można wyłączyć lub anulować LM jak to jest połączone z innymi LM,
-"Cannot declare as lost, because Quotation has been made.",Nie można zadeklarować jako zagubiony z powodu utworzenia kwotacji,
-Cannot deduct when category is for 'Valuation' or 'Valuation and Total',"Nie można wywnioskować, kiedy kategoria dotyczy ""Ocena"" a kiedy ""Oceny i Total""",
-Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',"Nie można odliczyć, gdy kategoria jest dla &#39;Wycena&#39; lub &#39;Vaulation i Total&#39;",
-"Cannot delete Serial No {0}, as it is used in stock transactions","Nie można usunąć nr seryjnego {0}, ponieważ jest wykorzystywany w transakcjach magazynowych",
-Cannot enroll more than {0} students for this student group.,Nie można zapisać więcej niż {0} studentów dla tej grupy studentów.,
-Cannot find active Leave Period,Nie można znaleźć aktywnego Okresu Nieobecności,
-Cannot produce more Item {0} than Sales Order quantity {1},Nie można wyprodukować więcej przedmiotów {0} niż wartość {1} na Zamówieniu,
-Cannot promote Employee with status Left,Nie można promować pracownika z pozostawionym statusem,
-Cannot refer row number greater than or equal to current row number for this Charge type,Nie można wskazać numeru wiersza większego lub równego numerowi dla tego typu Opłaty,
-Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,"Nie można wybrać typu opłaty jako ""Sumy Poprzedniej Komórki"" lub ""Całkowitej kwoty poprzedniej Komórki"" w pierwszym rzędzie",
-Cannot set as Lost as Sales Order is made.,Nie można ustawić jako Utracone Zamówienia Sprzedaży,
-Cannot set authorization on basis of Discount for {0},Nie można ustawić autoryzacji na podstawie Zniżki dla {0},
-Cannot set multiple Item Defaults for a company.,Nie można ustawić wielu wartości domyślnych dla danej firmy.,
-Cannot set quantity less than delivered quantity,Nie można ustawić ilości mniejszej niż dostarczona ilość,
-Cannot set quantity less than received quantity,Nie można ustawić ilości mniejszej niż ilość odebrana,
-Cannot set the field <b>{0}</b> for copying in variants,Nie można ustawić pola <b>{0}</b> do kopiowania w wariantach,
-Cannot transfer Employee with status Left,Nie można przenieść pracownika ze statusem w lewo,
-Cannot {0} {1} {2} without any negative outstanding invoice,Nie można {0} {1} {2} bez negatywnego wybitne faktury,
-Capital Equipments,Wyposażenie Kapitałowe,
-Capital Stock,Kapitał zakładowy,
-Capital Work in Progress,Praca kapitałowa w toku,
-Cart,Koszyk,
-Cart is Empty,Koszyk jest pusty,
-Case No(s) already in use. Try from Case No {0},Numer(y) sprawy w użytku. Proszę spróbować Numer Sprawy {0},
-Cash,Gotówka,
-Cash Flow Statement,Raport kasowy,
-Cash Flow from Financing,Cash Flow z finansowania,
-Cash Flow from Investing,Przepływy środków pieniężnych z Inwestowanie,
-Cash Flow from Operations,Przepływy środków pieniężnych z działalności operacyjnej,
-Cash In Hand,Gotówka w kasie,
-Cash or Bank Account is mandatory for making payment entry,Konto Gotówka lub Bank jest wymagane dla tworzenia zapisów Płatności,
-Cashier Closing,Zamknięcie kasjera,
-Casual Leave,Urlop okolicznościowy,
-Category,Kategoria,
-Category Name,Nazwa kategorii,
-Caution,Uwaga,
-Central Tax,Podatek centralny,
-Certification,Orzecznictwo,
-Cess,Cess,
-Change Amount,Zmień Kwota,
-Change Item Code,Zmień kod przedmiotu,
-Change Release Date,Zmień datę wydania,
-Change Template Code,Zmień kod szablonu,
-Changing Customer Group for the selected Customer is not allowed.,Zmiana grupy klientów dla wybranego klienta jest niedozwolona.,
-Chapter,Rozdział,
-Chapter information.,Informacje o rozdziale.,
-Charge of type 'Actual' in row {0} cannot be included in Item Rate,,
-Chargeble,Chargeble,
-Charges are updated in Purchase Receipt against each item,Opłaty są aktualizowane w ZAKUPU każdej pozycji,
-"Charges will be distributed proportionately based on item qty or amount, as per your selection","Koszty zostaną rozdzielone proporcjonalnie na podstawie Ilość pozycji lub kwoty, jak na swój wybór",
-Chart of Cost Centers,Struktura kosztów (MPK),
-Check all,Zaznacz wszystkie,
-Checkout,Sprawdzić,
-Chemical,Chemiczny,
-Cheque,Czek,
-Cheque/Reference No,Czek / numer,
-Cheques Required,Wymagane kontrole,
-Cheques and Deposits incorrectly cleared,Czeki i Depozyty nieprawidłowo rozliczone,
-Child Task exists for this Task. You can not delete this Task.,Dla tego zadania istnieje zadanie podrzędne. Nie możesz usunąć tego zadania.,
-Child nodes can be only created under 'Group' type nodes,węzły potomne mogą być tworzone tylko w węzłach typu &quot;grupa&quot;,
-Child warehouse exists for this warehouse. You can not delete this warehouse.,Magazyn Dziecko nie istnieje dla tego magazynu. Nie można usunąć tego magazynu.,
-Circular Reference Error,Circular Error Referencje,
-City,Miasto,
-City/Town,Miasto/Miejscowość,
-Claimed Amount,Kwota roszczenia,
-Clay,Glina,
-Clear filters,Wyczyść filtry,
-Clear values,Wyczyść wartości,
-Clearance Date,Data Czystki,
-Clearance Date not mentioned,,
-Clearance Date updated,Rozliczenie Data aktualizacji,
-Client,Klient,
-Client ID,Identyfikator klienta,
-Client Secret,Klient Secret,
-Clinical Procedure,Procedura kliniczna,
-Clinical Procedure Template,Szablon procedury klinicznej,
-Close Balance Sheet and book Profit or Loss.,Sporządzenie Bilansu oraz Rachunku zysków i strat.,
-Close Loan,Zamknij pożyczkę,
-Close the POS,Zamknij punkt sprzedaży,
-Closed,Zamknięte,
-Closed order cannot be cancelled. Unclose to cancel.,Kolejność Zamknięty nie mogą być anulowane. Unclose aby anulować.,
-Closing (Cr),Zamknięcie (Cr),
-Closing (Dr),Zamknięcie (Dr),
-Closing (Opening + Total),Zamknięcie (otwarcie + suma),
-Closing Account {0} must be of type Liability / Equity,Zamknięcie konta {0} musi być typu odpowiedzialności / Equity,
-Closing Balance,Bilans zamknięcia,
-Code,Kod,
-Collapse All,Zwinąć wszystkie,
-Color,Kolor,
-Colour,Kolor,
-Combined invoice portion must equal 100%,Łączna kwota faktury musi wynosić 100%,
-Commercial,Komercyjny,
-Commission,Prowizja,
-Commission Rate %,Stawka prowizji%,
-Commission on Sales,Prowizja od sprzedaży,
-Commission rate cannot be greater than 100,Wartość prowizji nie może być większa niż 100,
-Community Forum,Społeczność Forum,
-Company (not Customer or Supplier) master.,Informacje o własnej firmie.,
-Company Abbreviation,Nazwa skrótowa firmy,
-Company Abbreviation cannot have more than 5 characters,Skrót firmy nie może zawierać więcej niż 5 znaków,
-Company Name,Nazwa firmy,
-Company Name cannot be Company,Nazwa firmy nie może być firmą,
-Company currencies of both the companies should match for Inter Company Transactions.,Waluty firmy obu spółek powinny być zgodne z Transakcjami między spółkami.,
-Company is manadatory for company account,Firma jest manadatory dla konta firmowego,
-Company name not same,Nazwa firmy nie jest taka sama,
-Company {0} does not exist,Firma {0} nie istnieje,
-Compensatory Off,,
-Compensatory leave request days not in valid holidays,Dni urlopu wyrównawczego nie zawierają się w zakresie prawidłowych dniach świątecznych,
-Complaint,Skarga,
-Completion Date,Data ukończenia,
-Computer,Komputer,
-Condition,Stan,
-Configure,Konfiguruj,
-Configure {0},Konfiguruj {0},
-Confirmed orders from Customers.,Potwierdzone zamówienia od klientów,
-Connect Amazon with ERPNext,Połącz Amazon z ERPNext,
-Connect Shopify with ERPNext,Połącz Shopify z ERPNext,
-Connect to Quickbooks,Połącz się z Quickbooks,
-Connected to QuickBooks,Połączony z QuickBooks,
-Connecting to QuickBooks,Łączenie z QuickBookami,
-Consultation,Konsultacja,
-Consultations,Konsultacje,
-Consulting,Konsulting,
-Consumable,Konsumpcyjny,
-Consumed,Skonsumowano,
-Consumed Amount,Skonsumowana wartość,
-Consumed Qty,Skonsumowana ilość,
-Consumer Products,Produkty konsumenckie,
-Contact,Kontakt,
-Contact Details,Szczegóły kontaktu,
-Contact Number,Numer kontaktowy,
-Contact Us,Skontaktuj się z nami,
-Content,Zawartość,
-Content Masters,Mistrzowie treści,
-Content Type,Typ zawartości,
-Continue Configuration,Kontynuuj konfigurację,
-Contract,Kontrakt,
-Contract End Date must be greater than Date of Joining,Końcowa data kontraktu musi być większa od Daty Członkowstwa,
-Contribution %,Udział %,
-Contribution Amount,Kwota udziału,
-Conversion factor for default Unit of Measure must be 1 in row {0},Współczynnikiem konwersji dla domyślnej Jednostki Pomiaru musi być 1 w rzędzie {0},
-Conversion rate cannot be 0 or 1,Wartością konwersji nie może być 0 ani 1,
-Convert to Group,Przekształć w Grupę,
-Convert to Non-Group,Przekształć w nie-Grupę,
-Cosmetics,Kosmetyki,
-Cost Center,Centrum kosztów,
-Cost Center Number,Numer centrum kosztów,
-Cost Center and Budgeting,Centrum kosztów i budżetowanie,
-Cost Center is required in row {0} in Taxes table for type {1},,
-Cost Center with existing transactions can not be converted to group,Centrum Kosztów z istniejącą transakcją nie może być przekształcone w grupę,
-Cost Center with existing transactions can not be converted to ledger,Centrum Kosztów z istniejącą transakcją nie może być przekształcone w rejestr,
-Cost Centers,Centra Kosztów,
-Cost Updated,Koszt Zaktualizowano,
-Cost as on,Kosztować od,
-Cost of Delivered Items,Koszt dostarczonych przedmiotów,
-Cost of Goods Sold,Wartość sprzedanych pozycji w cenie nabycia,
-Cost of Issued Items,Koszt Emitowanych Przedmiotów,
-Cost of New Purchase,Koszt zakupu nowego,
-Cost of Purchased Items,Koszt zakupionych towarów,
-Cost of Scrapped Asset,Koszt złomowany aktywach,
-Cost of Sold Asset,Koszt sprzedanych aktywów,
-Cost of various activities,Koszt różnych działań,
-"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again","Nie można utworzyć noty kredytowej automatycznie, odznacz opcję &quot;Nota kredytowa&quot; i prześlij ponownie",
-Could not generate Secret,Nie można wygenerować Tajnego,
-Could not retrieve information for {0}.,Nie można pobrać informacji dla {0}.,
-Could not solve criteria score function for {0}. Make sure the formula is valid.,"Nie można rozwiązać funkcji punktacji kryterium dla {0}. Upewnij się, że formuła jest prawidłowa.",
-Could not solve weighted score function. Make sure the formula is valid.,"Nie udało się rozwiązać funkcji ważonych punktów. Upewnij się, że formuła jest prawidłowa.",
-Could not submit some Salary Slips,Nie można przesłać niektórych zwrotów wynagrodzeń,
-"Could not update stock, invoice contains drop shipping item.","Nie można zaktualizować stanu - faktura zawiera pozycję, której proces wysyłki scedowano na dostawcę.",
-Country wise default Address Templates,Szablony Adresów na dany kraj,
-Course,Kurs,
-Course Code: ,Kod kursu:,
-Course Enrollment {0} does not exists,Rejestracja kursu {0} nie istnieje,
-Course Schedule,Plan zajęć,
-Course: ,Kierunek:,
-Cr,Kr,
-Create,Utwórz,
-Create BOM,Utwórz zestawienie komponentów,
-Create Delivery Trip,Utwórz podróż dostawy,
-Create Disbursement Entry,Utwórz wpis wypłaty,
-Create Employee,Utwórz pracownika,
-Create Employee Records,Tworzenie pracownicze Records,
-"Create Employee records to manage leaves, expense claims and payroll","Tworzenie rekordów pracownika do zarządzania nieobecnościami, roszczenia o wydatkach i płac",
-Create Fee Schedule,Utwórz harmonogram opłat,
-Create Fees,Utwórz opłaty,
-Create Inter Company Journal Entry,Utwórz wpis do dziennika firmy,
-Create Invoice,Wystaw fakturę,
-Create Invoices,Utwórz faktury,
-Create Job Card,Utwórz kartę pracy,
-Create Journal Entry,Utwórz wpis do dziennika,
-Create Lead,Utwórz ołów,
-Create Leads,Tworzenie Leads,
-Create Maintenance Visit,Utwórz wizytę serwisową,
-Create Material Request,Utwórz żądanie materiałowe,
-Create Multiple,Utwórz wiele,
-Create Opening Sales and Purchase Invoices,Utwórz otwarcie sprzedaży i faktury zakupu,
-Create Payment Entries,Utwórz wpisy płatności,
-Create Payment Entry,Utwórz wpis płatności,
-Create Print Format,Tworzenie format wydruku,
-Create Purchase Order,Utwórz zamówienie zakupu,
-Create Purchase Orders,Stwórz zamówienie zakupu,
-Create Quotation,Utwórz ofertę,
-Create Salary Slip,Utwórz pasek wynagrodzenia,
-Create Salary Slips,Utwórz wynagrodzenie wynagrodzenia,
-Create Sales Invoice,Utwórz fakturę sprzedaży,
-Create Sales Order,Utwórz zamówienie sprzedaży,
-Create Sales Orders to help you plan your work and deliver on-time,"Twórz zlecenia sprzedaży, aby pomóc Ci zaplanować pracę i dostarczyć terminowość",
-Create Sample Retention Stock Entry,Utwórz wpis dotyczący przechowywania próbki,
-Create Student,Utwórz ucznia,
-Create Student Batch,Utwórz Partię Ucznia,
-Create Student Groups,Tworzenie grup studenckich,
-Create Supplier Quotation,Utwórz ofertę dla dostawców,
-Create Tax Template,Utwórz szablon podatku,
-Create Timesheet,Utwórz grafik,
-Create User,Stwórz użytkownika,
-Create Users,Tworzenie użytkowników,
-Create Variant,Utwórz wariant,
-Create Variants,Tworzenie Warianty,
-"Create and manage daily, weekly and monthly email digests.",,
-Create customer quotes,Tworzenie cytaty z klientami,
-Create rules to restrict transactions based on values.,,
-Created {0} scorecards for {1} between: ,Utworzono {0} karty wyników dla {1} między:,
-Creating Company and Importing Chart of Accounts,Tworzenie firmy i importowanie planu kont,
-Creating Fees,Tworzenie opłat,
-Creating Payment Entries......,Tworzenie wpisów płatności ......,
-Creating Salary Slips...,Tworzenie zarobków ...,
-Creating student groups,Tworzenie grup studentów,
-Creating {0} Invoice,Tworzenie faktury {0},
-Credit,,
-Credit ({0}),Kredyt ({0}),
-Credit Account,Konto kredytowe,
-Credit Balance,Saldo kredytowe,
-Credit Card,,
-Credit Days cannot be a negative number,Dni kredytu nie mogą być liczbą ujemną,
-Credit Limit,Limit kredytowy,
-Credit Note,Nota uznaniowa (kredytowa),
-Credit Note Amount,Kwota noty uznaniowej,
-Credit Note Issued,Credit blanco wystawiony,
-Credit Note {0} has been created automatically,Nota kredytowa {0} została utworzona automatycznie,
-Credit limit has been crossed for customer {0} ({1}/{2}),Limit kredytowy został przekroczony dla klienta {0} ({1} / {2}),
-Creditors,Wierzyciele,
-Criteria weights must add up to 100%,Kryteria wag muszą dodać do 100%,
-Crop Cycle,Crop Cycle,
-Crops & Lands,Uprawy i ziemie,
-Currency Exchange must be applicable for Buying or for Selling.,Wymiana walut musi dotyczyć Kupowania lub Sprzedaży.,
-Currency can not be changed after making entries using some other currency,Waluta nie może być zmieniony po dokonaniu wpisów używając innej walucie,
-Currency exchange rate master.,Główna wartość Wymiany walut,
-Currency for {0} must be {1},Waluta dla {0} musi być {1},
-Currency is required for Price List {0},Waluta jest wymagana dla Cenniku {0},
-Currency of the Closing Account must be {0},Waluta Rachunku Zamknięcie musi być {0},
-Currency of the price list {0} must be {1} or {2},Waluta listy cen {0} musi wynosić {1} lub {2},
-Currency should be same as Price List Currency: {0},"Waluta powinna być taka sama, jak waluta cennika: {0}",
-Current,Bieżący,
-Current Assets,Aktywa finansowe,
-Current BOM and New BOM can not be same,,
-Current Job Openings,Aktualne ofert pracy,
-Current Liabilities,Bieżące Zobowiązania,
-Current Qty,Obecna ilość,
-Current invoice {0} is missing,Brak aktualnej faktury {0},
-Custom HTML,Niestandardowy HTML,
-Custom?,Niestandardowy?,
-Customer,Klient,
-Customer Addresses And Contacts,,
-Customer Contact,Kontakt z klientem,
-Customer Database.,Baza danych klientów.,
-Customer Group,Grupa klientów,
-Customer LPO,Klient LPO,
-Customer LPO No.,Numer klienta LPO,
-Customer Name,Nazwa klienta,
-Customer POS Id,Identyfikator klienta klienta,
-Customer Service,Obsługa klienta,
-Customer and Supplier,Klient i dostawca,
-Customer is required,Klient jest wymagany,
-Customer isn't enrolled in any Loyalty Program,Klient nie jest zarejestrowany w żadnym Programie Lojalnościowym,
-Customer required for 'Customerwise Discount',,
-Customer {0} does not belong to project {1},Klient {0} nie należy do projektu {1},
-Customer {0} is created.,Utworzono klienta {0}.,
-Customers in Queue,Klienci w kolejce,
-Customize Homepage Sections,Dostosuj sekcje strony głównej,
-Customizing Forms,Dostosowywanie formularzy,
-Daily Project Summary for {0},Codzienne podsumowanie projektu dla {0},
-Daily Reminders,Codzienne przypomnienia,
-Daily Work Summary,Dziennie Podsumowanie zawodowe,
-Daily Work Summary Group,Codzienna grupa podsumowująca pracę,
-Data Import and Export,Import i eksport danych,
-Data Import and Settings,Import i ustawienia danych,
-Database of potential customers.,Baza danych potencjalnych klientów.,
-Date Format,Format daty,
-Date Of Retirement must be greater than Date of Joining,Data przejścia na emeryturę musi być większa niż Data wstąpienia,
-Date is repeated,Data jest powtórzona,
-Date of Birth,Data urodzenia,
-Date of Birth cannot be greater than today.,Data urodzenia nie może być większa niż data dzisiejsza.,
-Date of Commencement should be greater than Date of Incorporation,Data rozpoczęcia powinna być większa niż data założenia,
-Date of Joining,Data Wstąpienia,
-Date of Joining must be greater than Date of Birth,Data Wstąpienie musi być większa niż Data Urodzenia,
-Date of Transaction,Data transakcji,
-Datetime,Data-czas,
-Day,Dzień,
-Debit,Debet,
-Debit ({0}),Debet ({0}),
-Debit A/C Number,Numer A / C debetu,
-Debit Account,Konto debetowe,
-Debit Note,Nota debetowa,
-Debit Note Amount,Kwota noty debetowej,
-Debit Note Issued,Nocie debetowej,
-Debit To is required,Debetowane Konto jest wymagane,
-Debit and Credit not equal for {0} #{1}. Difference is {2}.,Debetowe i kredytowe nie równe dla {0} # {1}. Różnica jest {2}.,
-Debtors,Dłużnicy,
-Debtors ({0}),Dłużnicy ({0}),
-Declare Lost,Zadeklaruj Zagubiony,
-Deduction,Odliczenie,
-Default Activity Cost exists for Activity Type - {0},Istnieje Domyślnie aktywny Koszt rodzajów działalności - {0},
-Default BOM ({0}) must be active for this item or its template,Domyślnie Wykaz Materiałów ({0}) musi być aktywny dla tej pozycji lub jej szablonu,
-Default BOM for {0} not found,Domyślnie BOM dla {0} Nie znaleziono,
-Default BOM not found for Item {0} and Project {1},Domyślnie nie znaleziono elementu BOM dla elementu {0} i projektu {1},
-Default Letter Head,Domyślny nagłówek pisma,
-Default Tax Template,Domyślny szablon podatkowy,
-Default Unit of Measure for Item {0} cannot be changed directly because you have already made some transaction(s) with another UOM. You will need to create a new Item to use a different Default UOM.,"Domyślnie Jednostka miary dla pozycji {0} nie może być zmieniana bezpośrednio, ponieważ masz już jakąś transakcję (y) z innym UOM. Musisz utworzyć nowy obiekt, aby użyć innego domyślnego UOM.",
-Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',"Domyślne jednostki miary dla wariantu &quot;{0}&quot; musi być taki sam, jak w szablonie &#39;{1}&#39;",
-Default settings for buying transactions.,Domyślne ustawienia dla transakcji kupna,
-Default settings for selling transactions.,Domyślne ustawienia dla transakcji sprzedaży,
-Default tax templates for sales and purchase are created.,Definiowane są domyślne szablony podatkowe dla sprzedaży i zakupu.,
-Defaults,Wartości domyślne,
-Defense,Obrona,
-Define Project type.,Zdefiniuj typ projektu.,
-Define budget for a financial year.,Definiowanie budżetu za dany rok budżetowy.,
-Define various loan types,Definiować różne rodzaje kredytów,
-Del,Del,
-Delay in payment (Days),Opóźnienie w płatności (dni),
-Delete all the Transactions for this Company,"Usuń wszystkie transakcje, dla tej firmy",
-Deletion is not permitted for country {0},Usunięcie jest niedozwolone w przypadku kraju {0},
-Delivered,Dostarczono,
-Delivered Amount,Dostarczone Ilość,
-Delivered Qty,Dostarczona Liczba jednostek,
-Delivered: {0},Dostarczone: {0},
-Delivery,Dostarczanie,
-Delivery Date,Data dostawy,
-Delivery Note,Dowód dostawy,
-Delivery Note {0} is not submitted,Dowód dostawy {0} nie został wysłany,
-Delivery Note {0} must not be submitted,Dowód dostawy {0} nie może być wysłany,
-Delivery Notes {0} must be cancelled before cancelling this Sales Order,Dowody Dostawy {0} muszą być anulowane przed anulowanie Zamówienia Sprzedaży,
-Delivery Notes {0} updated,Zaktualizowano uwagi dotyczące dostawy {0},
-Delivery Status,Status dostawy,
-Delivery Trip,Podróż dostawy,
-Delivery warehouse required for stock item {0},Dostawa wymagane dla magazynu pozycji magazynie {0},
-Department,Departament,
-Department Stores,,
-Depreciation,Amortyzacja,
-Depreciation Amount,Kwota amortyzacji,
-Depreciation Amount during the period,Kwota amortyzacji w okresie,
-Depreciation Date,amortyzacja Data,
-Depreciation Eliminated due to disposal of assets,Amortyzacja Wyeliminowany z tytułu zbycia aktywów,
-Depreciation Entry,Amortyzacja,
-Depreciation Method,Metoda amortyzacji,
-Depreciation Row {0}: Depreciation Start Date is entered as past date,Wiersz amortyzacji {0}: Data rozpoczęcia amortyzacji jest wprowadzana jako data przeszła,
-Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Wiersz amortyzacji {0}: oczekiwana wartość po okresie użyteczności musi być większa lub równa {1},
-Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Wiersz amortyzacji {0}: Data następnej amortyzacji nie może być wcześniejsza niż data przydatności do użycia,
-Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Wiersz amortyzacji {0}: Data następnej amortyzacji nie może być wcześniejsza niż Data zakupu,
-Designer,Projektant,
-Detailed Reason,Szczegółowy powód,
-Details,Szczegóły,
-Details of Outward Supplies and inward supplies liable to reverse charge,Szczegóły dotyczące dostaw zewnętrznych i dostaw wewnętrznych podlegających zwrotnemu obciążeniu,
-Details of the operations carried out.,Szczegóły dotyczące przeprowadzonych operacji.,
-Diagnosis,Diagnoza,
-Did not find any item called {0},Nie znaleziono żadnych pozycji o nazwie {0},
-Diff Qty,Diff Qty,
-Difference Account,Konto Różnic,
-"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Konto różnica musi być kontem typu aktywami / pasywami, ponieważ Zdjęcie Pojednanie jest Wejście otwarcia",
-Difference Amount,Kwota różnicy,
-Difference Amount must be zero,Różnica Kwota musi wynosić zero,
-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,Wydatki bezpośrednie,
-Direct Income,Przychody bezpośrednie,
-Disable,Wyłącz,
-Disabled template must not be default template,Szablon niepełnosprawnych nie może być domyślny szablon,
-Disburse Loan,Wypłata pożyczki,
-Disbursed,Wypłacony,
-Disc,Dysk,
-Discharge,Rozładować się,
-Discount,Zniżka (rabat),
-Discount Percentage can be applied either against a Price List or for all Price List.,Rabat procentowy może być stosowany zarówno przed cenniku dla wszystkich Cenniku.,
-Discount must be less than 100,Zniżka musi wynosić mniej niż 100,
-Diseases & Fertilizers,Choroby i nawozy,
-Dispatch,Wyślij,
-Dispatch Notification,Powiadomienie o wysyłce,
-Dispatch State,Państwo wysyłki,
-Distance,Dystans,
-Distribution,Dystrybucja,
-Distributor,Dystrybutor,
-Dividends Paid,Dywidendy wypłacone,
-Do you really want to restore this scrapped asset?,Czy na pewno chcesz przywrócić złomowane atut?,
-Do you really want to scrap this asset?,Czy naprawdę chcemy zlikwidować ten atut?,
-Do you want to notify all the customers by email?,Czy chcesz powiadomić wszystkich klientów pocztą e-mail?,
-Doc Date,Doc Data,
-Doc Name,Doc Name,
-Doc Type,Doc Type,
-Docs Search,Wyszukiwanie dokumentów,
-Document Name,Nazwa dokumentu,
-Document Status,Stan dokumentu,
-Document Type,Typ Dokumentu,
-Domain,Domena,
-Domains,Domeny,
-Done,Gotowe,
-Donor,Dawca,
-Donor Type information.,Informacje o typie dawcy.,
-Donor information.,Informacje o dawcy.,
-Download JSON,Pobierz JSON,
-Draft,Wersja robocza,
-Drop Ship,Drop Ship,
-Drug,Narkotyk,
-Due / Reference Date cannot be after {0},Data referencyjne / Termin nie może być po {0},
-Due Date cannot be before Posting / Supplier Invoice Date,"Data ""do"" nie może być przed datą faktury Opublikowania / Dostawcy",
-Due Date is mandatory,Due Date jest obowiązkowe,
-Duplicate Entry. Please check Authorization Rule {0},Wpis zduplikowany. Proszę sprawdzić zasadę autoryzacji {0},
-Duplicate Serial No entered for Item {0},Zduplikowany Nr Seryjny wprowadzony dla przedmiotu {0},
-Duplicate customer group found in the cutomer group table,Duplikat grupa klientów znajduje się w tabeli grupy cutomer,
-Duplicate entry,Wpis zduplikowany,
-Duplicate item group found in the item group table,Duplikat grupę pozycji w tabeli grupy produktów,
-Duplicate roll number for student {0},Duplikat numeru rolki dla ucznia {0},
-Duplicate row {0} with same {1},Wiersz zduplikowany {0} z tym samym {1},
-Duplicate {0} found in the table,Duplikat {0} znaleziony w tabeli,
-Duration in Days,Czas trwania w dniach,
-Duties and Taxes,Podatki i cła,
-E-Invoicing Information Missing,Brak informacji o e-fakturowaniu,
-ERPNext Demo,ERPNext Demo,
-ERPNext Settings,Ustawienia ERPNext,
-Earliest,Najwcześniejszy,
-Earnest Money,Pieniądze zaliczkowe,
-Earning,Dochód,
-Edit,Edytować,
-Edit Publishing Details,Edytuj szczegóły publikowania,
-"Edit in full page for more options like assets, serial nos, batches etc.","Edytuj na całej stronie, aby uzyskać więcej opcji, takich jak zasoby, numery seryjne, partie itp.",
-Education,Edukacja,
-Either location or employee must be required,Każda lokalizacja lub pracownik muszą być wymagane,
-Either target qty or target amount is mandatory,Wymagana jest ilość lub kwota docelowa,
-Either target qty or target amount is mandatory.,Wymagana jest ilość lub kwota docelowa,
-Electrical,Elektryczne,
-Electronic Equipments,Urządzenia elektroniczne,
-Electronics,Elektronika,
-Eligible ITC,Kwalifikujące się ITC,
-Email Account,Konto e-mail,
-Email Address,Adres e-mail,
-"Email Address must be unique, already exists for {0}","E-mail musi być unikalny, istnieje już dla {0}",
-Email Digest: ,przetwarzanie maila,
-Email Reminders will be sent to all parties with email contacts,Przypomnienia e-mailem będą wysyłane do wszystkich stron z kontaktami e-mail,
-Email Sent,Wiadomość wysłana,
-Email Template,Szablon e-maila,
-Email not found in default contact,Nie znaleziono wiadomości e-mail w domyślnym kontakcie,
-Email sent to {0},Wiadomość wysłana do {0},
-Employee,Pracownik,
-Employee A/C Number,Numer A / C pracownika,
-Employee Advances,Zaliczki dla pracowników,
-Employee Benefits,Świadczenia pracownicze,
-Employee Grade,Klasa pracownika,
-Employee ID,numer identyfikacyjny pracownika,
-Employee Lifecycle,Cykl życia pracownika,
-Employee Name,Nazwisko pracownika,
-Employee Promotion cannot be submitted before Promotion Date ,Promocji Pracowników nie można przesłać przed datą promocji,
-Employee Referral,Referencje pracownika,
-Employee Transfer cannot be submitted before Transfer Date ,Przeniesienie pracownika nie może zostać przesłane przed datą transferu,
-Employee cannot report to himself.,Pracownik nie może odpowiadać do samego siebie.,
-Employee relieved on {0} must be set as 'Left',pracownik zwalnia się na {0} musi być ustawiony jako 'opuścił',
-Employee {0} already submited an apllication {1} for the payroll period {2},Pracownik {0} przesłał już aplikację {1} na okres rozliczeniowy {2},
-Employee {0} has already applied for {1} between {2} and {3} : ,Pracownik {0} złożył już wniosek o przyznanie {1} między {2} a {3}:,
-Employee {0} has no maximum benefit amount,Pracownik {0} nie ma maksymalnej kwoty świadczenia,
-Employee {0} is not active or does not exist,Pracownik {0} jest nieaktywny lub nie istnieje,
-Employee {0} is on Leave on {1},Pracownik {0} jest Nieobecny w trybie {1},
-Employee {0} of grade {1} have no default leave policy,Pracownik {0} stopnia {1} nie ma domyślnych zasad dotyczących urlopu,
-Employee {0} on Half day on {1},Pracownik {0} na pół dnia na {1},
-Enable,Włączyć,
-Enable / disable currencies.,Włącz/wyłącz waluty.,
-Enabled,Aktywny,
-"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Włączenie &quot;użycie do koszyka&quot;, ponieważ koszyk jest włączony i nie powinno być co najmniej jedna zasada podatkowa w koszyku",
-End Date,Data zakonczenia,
-End Date can not be less than Start Date,Data zakończenia nie może być krótsza niż data rozpoczęcia,
-End Date cannot be before Start Date.,Data zakończenia nie może być wcześniejsza niż data rozpoczęcia.,
-End Year,Koniec roku,
-End Year cannot be before Start Year,Koniec roku nie może być przed rozpoczęciem Roku,
-End on,Podłużnie,
-End time cannot be before start time,Czas zakończenia nie może być wcześniejszy niż czas rozpoczęcia,
-Ends On date cannot be before Next Contact Date.,Kończy się Data nie może być wcześniejsza niż data następnego kontaktu.,
-Energy,Energia,
-Engineer,Inżynier,
-Enough Parts to Build,Wystarczające elementy do budowy,
-Enroll,Zapisać,
-Enrolling student,Zapis uczeń,
-Enrolling students,Zapisywanie studentów,
-Enter depreciation details,Wprowadź szczegóły dotyczące amortyzacji,
-Enter the Bank Guarantee Number before submittting.,Wprowadź numer gwarancyjny banku przed złożeniem wniosku.,
-Enter the name of the Beneficiary before submittting.,Wprowadź nazwę Beneficjenta przed złożeniem wniosku.,
-Enter the name of the bank or lending institution before submittting.,Wprowadź nazwę banku lub instytucji kredytowej przed złożeniem wniosku.,
-Enter value betweeen {0} and {1},Wpisz wartość między {0} a {1},
-Entertainment & Leisure,Rozrywka i relaks,
-Entertainment Expenses,Wydatki na reprezentację,
-Equity,Kapitał własny,
-Error Log,Dziennik błędów,
-Error evaluating the criteria formula,Błąd podczas oceny formuły kryterium,
-Error in formula or condition: {0},Błąd wzoru lub stanu {0},
-Error: Not a valid id?,Błąd: Nie ważne id?,
-Estimated Cost,Szacowany koszt,
-Evaluation,Ocena,
-"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Nawet jeśli istnieje wiele przepisów dotyczących cen o najwyższym priorytecie, a następnie następujące priorytety wewnętrznej są stosowane:",
-Event,Wydarzenie,
-Event Location,Lokalizacja wydarzenia,
-Event Name,Nazwa wydarzenia,
-Exchange Gain/Loss,Wymiana Zysk / Strata,
-Exchange Rate Revaluation master.,Mistrz wyceny kursu wymiany.,
-Exchange Rate must be same as {0} {1} ({2}),"Kurs wymiany muszą być takie same, jak {0} {1} ({2})",
-Excise Invoice,Akcyza Faktura,
-Execution,Wykonanie,
-Executive Search,Szukanie wykonawcze,
-Expand All,Rozwiń wszystkie,
-Expected Delivery Date,Spodziewana data odbioru przesyłki,
-Expected Delivery Date should be after Sales Order Date,Oczekiwana data dostarczenia powinna nastąpić po Dacie Zamówienia Sprzedaży,
-Expected End Date,Spodziewana data końcowa,
-Expected Hrs,Oczekiwany godz,
-Expected Start Date,Spodziewana data startowa,
-Expense,Koszt,
-Expense / Difference account ({0}) must be a 'Profit or Loss' account,"Konto koszty / Różnica ({0}) musi być kontem ""rachunek zysków i strat""",
-Expense Account,Konto Wydatków,
-Expense Claim,Zwrot kosztów,
-Expense Claim for Vehicle Log {0},Koszty Żądanie Vehicle Zaloguj {0},
-Expense Claim {0} already exists for the Vehicle Log,Koszty roszczenie {0} już istnieje dla Zaloguj Pojazdów,
-Expense Claims,Zapotrzebowania na wydatki,
-Expense account is mandatory for item {0},Konto wydatków jest obowiązkowe dla przedmiotu {0},
-Expenses,Wydatki,
-Expenses Included In Asset Valuation,Koszty uwzględnione w wycenie aktywów,
-Expenses Included In Valuation,Zaksięgowane wydatki w wycenie,
-Expired Batches,Wygasłe partie,
-Expires On,Upływa w dniu,
-Expiring On,Wygasający,
-Expiry (In Days),Wygaśnięcie (w dniach),
-Explore,Przeglądaj,
-Export E-Invoices,Eksportuj e-faktury,
-Extra Large,Bardzo duży,
-Extra Small,Extra Small,
-Fail,Zawieść,
-Failed,Nieudane,
-Failed to create website,Nie udało się utworzyć witryny,
-Failed to install presets,Nie udało się zainstalować ustawień wstępnych,
-Failed to login,Nie udało się zalogować,
-Failed to setup company,Nie udało się skonfigurować firmy,
-Failed to setup defaults,Nie udało się skonfigurować ustawień domyślnych,
-Failed to setup post company fixtures,Nie udało się skonfigurować urządzeń firm post,
-Fax,Faks,
-Fee,Opłata,
-Fee Created,Opłata utworzona,
-Fee Creation Failed,Utworzenie opłaty nie powiodło się,
-Fee Creation Pending,Tworzenie opłat w toku,
-Fee Records Created - {0},Utworzono Records Fee - {0},
-Feedback,Informacja zwrotna,
-Fees,Opłaty,
-Female,Kobieta,
-Fetch Data,Pobierz dane,
-Fetch Subscription Updates,Pobierz aktualizacje subskrypcji,
-Fetch exploded BOM (including sub-assemblies),,
-Fetching records......,Pobieranie rekordów ......,
-Field Name,Nazwa pola,
-Fieldname,Nazwa pola,
-Fields,Pola,
-Fill the form and save it,Wypełnij formularz i zapisz,
-Filter Employees By (Optional),Filtruj pracowników według (opcjonalnie),
-"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Filtruj pola Wiersz # {0}: Nazwa pola <b>{1}</b> musi być typu „Link” lub „Tabela MultiSelect”,
-Filter Total Zero Qty,Filtruj całkowitą liczbę zerową,
-Finance Book,Książka finansowa,
-Financial / accounting year.,Rok finansowy / księgowy.,
-Financial Services,Usługi finansowe,
-Financial Statements,Sprawozdania finansowe,
-Financial Year,Rok budżetowy,
-Finish,koniec,
-Finished Good,Skończony dobrze,
-Finished Good Item Code,Gotowy kod dobrego towaru,
-Finished Goods,Ukończone dobra,
-Finished Item {0} must be entered for Manufacture type entry,Zakończone Pozycja {0} musi być wprowadzony do wejścia typu Produkcja,
-Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,Ilość gotowego produktu <b>{0}</b> i ilość <b>{1}</b> nie mogą się różnić,
-First Name,Imię,
-"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","System fiskalny jest obowiązkowy, uprzejmie ustal system podatkowy w firmie {0}",
-Fiscal Year,Rok podatkowy,
-Fiscal Year End Date should be one year after Fiscal Year Start Date,Data zakończenia roku obrachunkowego powinna wynosić jeden rok od daty rozpoczęcia roku obrachunkowego,
-Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Rok obrotowy Data rozpoczęcia i Data zakończenia roku obrotowego są już ustawione w roku podatkowym {0},
-Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,Data rozpoczęcia roku podatkowego powinna być o rok wcześniejsza niż data zakończenia roku obrotowego,
-Fiscal Year {0} does not exist,Rok fiskalny {0} nie istnieje,
-Fiscal Year {0} is required,Rok fiskalny {0} jest wymagane,
-Fiscal Year {0} not found,Rok fiskalny {0} Nie znaleziono,
-Fixed Asset,Trwała własność,
-Fixed Asset Item must be a non-stock item.,Trwałego Rzecz musi być element non-stock.,
-Fixed Assets,Środki trwałe,
-Following Material Requests have been raised automatically based on Item's re-order level,Niniejszy materiał Wnioski zostały podniesione automatycznie na podstawie poziomu ponownego zamówienia elementu,
-Following accounts might be selected in GST Settings:,W ustawieniach GST można wybrać następujące konta:,
-Following course schedules were created,Utworzono harmonogramy kursów,
-Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,Poniższy element {0} nie jest oznaczony jako element {1}. Możesz je włączyć jako element {1} z jego wzorca pozycji,
-Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,Następujące elementy {0} nie są oznaczone jako {1}. Możesz je włączyć jako element {1} z jego wzorca pozycji,
-Food,Żywność,
-"Food, Beverage & Tobacco","Żywność, Trunki i Tytoń",
-For,Dla,
-"For 'Product Bundle' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Product Bundle' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table.","Dla pozycji &quot;Produkt Bundle&quot;, magazyn, nr seryjny i numer partii będą rozpatrywane z &quot;packing list&quot; tabeli. Jeśli magazynowe oraz Batch Nie są takie same dla wszystkich elementów Opakowanie do pozycji każdego &quot;produkt Bundle&quot;, wartości te mogą zostać wpisane do tabeli głównej pozycji, wartości zostaną skopiowane do &quot;packing list&quot; tabeli.",
-For Employee,Dla pracownika,
-For Quantity (Manufactured Qty) is mandatory,Do Ilość (Wyprodukowano kopie) są obowiązkowe,
-For Supplier,Dla dostawcy,
-For Warehouse,Dla magazynu,
-For Warehouse is required before Submit,Dla magazynu jest wymagane przed wysłaniem,
-"For an item {0}, quantity must be negative number",W przypadku elementu {0} ilość musi być liczbą ujemną,
-"For an item {0}, quantity must be positive number",W przypadku elementu {0} liczba musi być liczbą dodatnią,
-"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry",W przypadku karty pracy {0} można dokonać tylko wpisu typu „Transfer materiałów do produkcji”,
-"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Do rzędu {0} w {1}. Aby dołączyć {2} w cenę towaru, wiersze {3} musi być włączone",
-For row {0}: Enter Planned Qty,Dla wiersza {0}: wpisz planowaną liczbę,
-"For {0}, only credit accounts can be linked against another debit entry","Dla {0}, tylko Kredytowane konta mogą być połączone z innym zapisem po stronie debetowej",
-"For {0}, only debit accounts can be linked against another credit entry","Dla {0}, tylko rachunki płatnicze mogą być połączone z innym wejściem kredytową",
-Forum Activity,Aktywność na forum,
-Free item code is not selected,Kod wolnego przedmiotu nie jest wybrany,
-Freight and Forwarding Charges,Koszty dostaw i przesyłek,
-Frequency,Częstotliwość,
-Friday,Piątek,
-From,Od,
-From Address 1,Od adresu 1,
-From Address 2,Od adresu 2,
-From Currency and To Currency cannot be same,Od Waluty i Do Waluty nie mogą być te same,
-From Date and To Date lie in different Fiscal Year,Od daty i daty są różne w danym roku obrotowym,
-From Date cannot be greater than To Date,Data od - nie może być późniejsza niż Data do,
-From Date must be before To Date,Data od musi być przed datą do,
-From Date should be within the Fiscal Year. Assuming From Date = {0},"""Data od"" powinna być w tym roku podatkowym. Przyjmując Datę od = {0}",
-From Date {0} cannot be after employee's relieving Date {1},Od daty {0} nie może być po zwolnieniu pracownika Data {1},
-From Date {0} cannot be before employee's joining Date {1},Od daty {0} nie może upłynąć data dołączenia pracownika {1},
-From Datetime,Od DateTime,
-From Delivery Note,Od dowodu dostawy,
-From Fiscal Year,Od roku obrotowego,
-From GSTIN,Z GSTIN,
-From Party Name,Od nazwy imprezy,
-From Pin Code,Z kodu PIN,
-From Place,Z miejsca,
-From Range has to be less than To Range,Od Zakres musi być mniejsza niż do zakresu,
-From State,Z państwa,
-From Time,Od czasu,
-From Time Should Be Less Than To Time,Od czasu powinno być mniej niż w czasie,
-From Time cannot be greater than To Time.,Od czasu nie może być większa niż do czasu.,
-"From a supplier under composition scheme, Exempt and Nil rated","Od dostawcy w ramach systemu składu, Zwolniony i Nil oceniono",
-From and To dates required,Daty Od i Do są wymagane,
-From date can not be less than employee's joining date,Od daty nie może być mniejsza niż data dołączenia pracownika,
-From value must be less than to value in row {0},"Wartość ""od"" musi być mniejsza niż wartość w rzędzie {0}",
-From {0} | {1} {2},Od {0} | {1} {2},
-Fuel Price,Cena paliwa,
-Fuel Qty,Ilość paliwa,
-Fulfillment,Spełnienie,
-Full,Pełny,
-Full Name,Imię i nazwisko,
-Full-time,Na cały etet,
-Fully Depreciated,pełni zamortyzowanych,
-Furnitures and Fixtures,Meble i wyposażenie,
-"Further accounts can be made under Groups, but entries can be made against non-Groups","Dalsze relacje mogą być wykonane w ramach grup, ale wpisy mogą być wykonane przed spoza grup",
-Further cost centers can be made under Groups but entries can be made against non-Groups,"Kolejne centra kosztów mogą być wykonane w ramach grup, ale wpisy mogą być wykonane przed spoza grup",
-Further nodes can be only created under 'Group' type nodes,"Kolejne powiązania mogą być tworzone tylko w powiązaniach typu ""grupa""",
-Future dates not allowed,Przyszłe daty są niedozwolone,
-GSTIN,GSTIN,
-GSTR3B-Form,Formularz GSTR3B,
-Gain/Loss on Asset Disposal,Zysk / Strata na Aktywów pozbywaniu,
-Gantt Chart,Wykres Gantta,
-Gantt chart of all tasks.,Wykres Gantta dla wszystkich zadań.,
-Gender,Płeć,
-General,Ogólne,
-General Ledger,Księga Główna,
-Generate Material Requests (MRP) and Work Orders.,Generuj zapotrzebowanie materiałowe (MRP) i zlecenia pracy.,
-Generate Secret,Generuj sekret,
-Get Details From Declaration,Uzyskaj szczegółowe informacje z deklaracji,
-Get Employees,Zdobądź pracowników,
-Get Invocies,Zdobądź Invocies,
-Get Invoices,Uzyskaj faktury,
-Get Invoices based on Filters,Uzyskaj faktury na podstawie filtrów,
-Get Items from BOM,Weź produkty z zestawienia materiałowego,
-Get Items from Healthcare Services,Pobierz przedmioty z usług opieki zdrowotnej,
-Get Items from Prescriptions,Zdobądź przedmioty z recept,
-Get Items from Product Bundle,Elementy z Bundle produktu,
-Get Suppliers,Dodaj dostawców,
-Get Suppliers By,Dodaj dostawców wg,
-Get Updates,Informuj o aktualizacjach,
-Get customers from,Zdobądź klientów,
-Get from Patient Encounter,Uzyskaj od Spotkania Pacjenta,
-Getting Started,Start,
-GitHub Sync ID,GitHub Sync ID,
-Global settings for all manufacturing processes.,Globalne ustawienia dla wszystkich procesów produkcyjnych.,
-Go to the Desktop and start using ERPNext,Przejdź do pulpitu i rozpocząć korzystanie ERPNext,
-GoCardless SEPA Mandate,Mandat SEPA bez karty,
-GoCardless payment gateway settings,Ustawienia bramy płatności bez płatności,
-Goal and Procedure,Cel i procedura,
-Goals cannot be empty,Cele nie mogą być puste,
-Goods In Transit,Towary w tranzycie,
-Goods Transferred,Przesyłane towary,
-Goods and Services Tax (GST India),Podatek od towarów i usług (GST India),
-Goods are already received against the outward entry {0},Towary są już otrzymane w stosunku do wpisu zewnętrznego {0},
-Government,Rząd,
-Grand Total,Suma Całkowita,
-Grant,Dotacja,
-Grant Application,Wniosek o dofinansowanie,
-Grant Leaves,Przydziel możliwe Nieobecności,
-Grant information.,Udziel informacji.,
-Grocery,Artykuły spożywcze,
-Gross Pay,Płaca brutto,
-Gross Profit,Zysk brutto,
-Gross Profit %,Zysk brutto%,
-Gross Profit / Loss,Zysk / Strata,
-Gross Purchase Amount,Zakup Kwota brutto,
-Gross Purchase Amount is mandatory,Zakup Kwota brutto jest obowiązkowe,
-Group by Account,Grupuj według konta,
-Group by Party,Grupa według partii,
-Group by Voucher,Grupuj według Podstawy księgowania,
-Group by Voucher (Consolidated),Group by Voucher (Consolidated),
-Group node warehouse is not allowed to select for transactions,"Magazyn węzeł Grupa nie jest dozwolone, aby wybrać dla transakcji",
-Group to Non-Group,Grupa do Non-Group,
-Group your students in batches,Grupa uczniowie w partiach,
-Groups,Grupy,
-Guardian1 Email ID,Identyfikator e-maila Guardian1,
-Guardian1 Mobile No,Guardian1 Komórka Nie,
-Guardian1 Name,Nazwa Guardian1,
-Guardian2 Email ID,Identyfikator e-mail Guardian2,
-Guardian2 Mobile No,Guardian2 Komórka Nie,
-Guardian2 Name,Nazwa Guardian2,
-Guest,Gość,
-HR Manager,Kierownik ds. Personalnych,
-HSN,HSN,
-HSN/SAC,HSN / SAC,
-Half Day,Pół Dnia,
-Half Day Date is mandatory,Data półdniowa jest obowiązkowa,
-Half Day Date should be between From Date and To Date,Pół Dzień Data powinna być pomiędzy Od Data i do tej pory,
-Half Day Date should be in between Work From Date and Work End Date,Data pół dnia powinna znajdować się pomiędzy datą pracy a datą zakończenia pracy,
-Half Yearly,Pół Roku,
-Half day date should be in between from date and to date,Data pół dnia powinna być pomiędzy datą i datą,
-Half-Yearly,Półroczny,
-Hardware,Sprzęt komputerowy,
-Head of Marketing and Sales,Kierownik marketingu i sprzedaży,
-Health Care,Opieka zdrowotna,
-Healthcare,Opieka zdrowotna,
-Healthcare (beta),Opieka zdrowotna (beta),
-Healthcare Practitioner,Praktyk opieki zdrowotnej,
-Healthcare Practitioner not available on {0},Pracownik służby zdrowia niedostępny na {0},
-Healthcare Practitioner {0} not available on {1},Pracownik służby zdrowia {0} nie jest dostępny w {1},
-Healthcare Service Unit,Jednostka opieki zdrowotnej,
-Healthcare Service Unit Tree,Drzewo usług opieki zdrowotnej,
-Healthcare Service Unit Type,Rodzaj usługi opieki zdrowotnej,
-Healthcare Services,Opieka zdrowotna,
-Healthcare Settings,Ustawienia opieki zdrowotnej,
-Hello,cześć,
-Help Results for,Pomoc Wyniki dla,
-High,Wysoki,
-High Sensitivity,Wysoka czułość,
-Hold,Trzymaj,
-Hold Invoice,Hold Invoice,
-Holiday,Święto,
-Holiday List,Lista Świąt,
-Hotel Rooms of type {0} are unavailable on {1},Pokoje hotelowe typu {0} są niedostępne w dniu {1},
-Hotels,Hotele,
-Hourly,Cogodzinny,
-Hours,godziny,
-House rent paid days overlapping with {0},Dni płatne za wynajem domu pokrywają się z {0},
-House rented dates required for exemption calculation,Daty wynajmu domu wymagane do obliczenia odstępstwa,
-House rented dates should be atleast 15 days apart,Terminy wynajmu domu powinny wynosić co najmniej 15 dni,
-How Pricing Rule is applied?,Jak reguła jest stosowana Wycena?,
-Hub Category,Kategoria koncentratora,
-Hub Sync ID,Identyfikator Hub Sync,
-Human Resource,Zasoby ludzkie,
-Human Resources,Kadry,
-IFSC Code,Kod IFSC,
-IGST Amount,Wielkość IGST,
-IP Address,Adres IP,
-ITC Available (whether in full op part),Dostępne ITC (czy w pełnej wersji),
-ITC Reversed,Odwrócono ITC,
-Identifying Decision Makers,Identyfikacja decydentów,
-"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Jeśli zaznaczona jest opcja automatycznego wyboru, klienci zostaną automatycznie połączeni z danym Programem lojalnościowym (przy zapisie)",
-"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Jeśli wiele Zasady ustalania cen nadal dominować, użytkownicy proszeni są o ustawienie Priorytet ręcznie rozwiązać konflikt.",
-"If selected Pricing Rule is made for 'Rate', it will overwrite Price List. Pricing Rule rate is the final rate, so no further discount should be applied. Hence, in transactions like Sales Order, Purchase Order etc, it will be fetched in 'Rate' field, rather than 'Price List Rate' field.","Jeśli wybrana zostanie reguła cenowa dla &quot;Stawka&quot;, nadpisze ona Cennik. Stawka za ustalanie stawek jest ostateczną stawką, więc nie należy stosować dodatkowej zniżki. W związku z tym w transakcjach takich jak zamówienie sprzedaży, zamówienie itp. Zostanie ono pobrane w polu &quot;stawka&quot;, a nie w polu &quot;cennik ofert&quot;.",
-"If two or more Pricing Rules are found based on the above conditions, Priority is applied. Priority is a number between 0 to 20 while default value is zero (blank). Higher number means it will take precedence if there are multiple Pricing Rules with same conditions.","Jeśli dwóch lub więcej Zasady ustalania cen na podstawie powyższych warunków, jest stosowana Priorytet. Priorytetem jest liczba z zakresu od 0 do 20, podczas gdy wartość domyślna wynosi zero (puste). Wyższa liczba oznacza, że będzie mieć pierwszeństwo, jeśli istnieje wiele przepisów dotyczących cen z samych warunkach.",
-"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.",W przypadku nielimitowanego wygaśnięcia punktów lojalnościowych czas trwania ważności jest pusty lub 0.,
-"If you have any questions, please get back to us.","Jeśli masz jakieś pytania, proszę wrócić do nas.",
-Ignore Existing Ordered Qty,Ignoruj istniejącą zamówioną ilość,
-Image,Obrazek,
-Image View,Widok obrazka,
-Import Data,Importuj dane,
-Import Day Book Data,Importuj dane książki dziennej,
-Import Log,Log operacji importu,
-Import Master Data,Importuj dane podstawowe,
-Import in Bulk,Masowego importu,
-Import of goods,Import towarów,
-Import of services,Import usług,
-Importing Items and UOMs,Importowanie elementów i UOM,
-Importing Parties and Addresses,Importowanie stron i adresów,
-In Maintenance,W naprawie,
-In Production,W produkcji,
-In Qty,W ilości,
-In Stock Qty,Ilość w magazynie,
-In Stock: ,W magazynie:,
-In Value,w polu Wartość,
-"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","W przypadku programu wielowarstwowego Klienci zostaną automatycznie przypisani do danego poziomu, zgodnie z wydatkami",
-Inactive,Nieaktywny,
-Incentives,,
-Include Default Book Entries,Dołącz domyślne wpisy książki,
-Include Exploded Items,Dołącz rozstrzelone przedmioty,
-Include POS Transactions,Uwzględnij transakcje POS,
-Include UOM,Dołącz UOM,
-Included in Gross Profit,Zawarte w zysku brutto,
-Income,Przychody,
-Income Account,Konto przychodów,
-Income Tax,Podatek dochodowy,
-Incoming,Przychodzące,
-Incoming Rate,,
-Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Nieprawidłowa liczba zapisów w Księdze głównej. Być może wybrano niewłaściwe konto w transakcji.,
-Increment cannot be 0,Przyrost nie może być 0,
-Increment for Attribute {0} cannot be 0,Przyrost dla atrybutu {0} nie może być 0,
-Indirect Expenses,Wydatki pośrednie,
-Indirect Income,Przychody pośrednie,
-Individual,Indywidualny,
-Ineligible ITC,Niekwalifikowany ITC,
-Initiated,Zapoczątkowany,
-Inpatient Record,Zapis ambulatoryjny,
-Insert,Wstaw,
-Installation Note,Notka instalacyjna,
-Installation Note {0} has already been submitted,Notka instalacyjna {0} została już dodana,
-Installation date cannot be before delivery date for Item {0},Data instalacji nie może być wcześniejsza niż data dostawy dla pozycji {0},
-Installing presets,Instalowanie ustawień wstępnych,
-Institute Abbreviation,Instytut Skrót,
-Institute Name,Nazwa Instytutu,
-Instructor,Instruktor,
-Insufficient Stock,Niewystarczający zapas,
-Insurance Start date should be less than Insurance End date,Data rozpoczęcia ubezpieczenia powinna być mniejsza niż data zakończenia ubezpieczenia,
-Integrated Tax,Zintegrowany podatek,
-Inter-State Supplies,Dostawy międzypaństwowe,
-Interest Amount,Kwota procentowa,
-Interests,Zainteresowania,
-Intern,Stażysta,
-Internet Publishing,Wydawnictwa internetowe,
-Intra-State Supplies,Materiały wewnątrzpaństwowe,
-Introduction,Wprowadzenie,
-Invalid Attribute,Nieprawidłowy atrybut,
-Invalid Blanket Order for the selected Customer and Item,Nieprawidłowe zamówienie zbiorcze dla wybranego klienta i przedmiotu,
-Invalid Company for Inter Company Transaction.,Nieważna firma dla transakcji między przedsiębiorstwami.,
-Invalid GSTIN! A GSTIN must have 15 characters.,Nieprawidłowy GSTIN! GSTIN musi mieć 15 znaków.,
-Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,Nieprawidłowy GSTIN! Pierwsze 2 cyfry GSTIN powinny pasować do numeru stanu {0}.,
-Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,Nieprawidłowy GSTIN! Wprowadzone dane nie pasują do formatu GSTIN.,
-Invalid Posting Time,Nieprawidłowy czas publikacji,
-Invalid attribute {0} {1},Nieprawidłowy atrybut {0} {1},
-Invalid quantity specified for item {0}. Quantity should be greater than 0.,Nieprawidłowa ilość określona dla elementu {0}. Ilość powinna być większa niż 0.,
-Invalid reference {0} {1},Nieprawidłowy odniesienia {0} {1},
-Invalid {0},Nieprawidłowy {0},
-Invalid {0} for Inter Company Transaction.,Nieprawidłowy {0} dla transakcji między przedsiębiorstwami.,
-Invalid {0}: {1},Nieprawidłowy {0}: {1},
-Inventory,Inwentarz,
-Investment Banking,Bankowość inwestycyjna,
-Investments,Inwestycje,
-Invoice,Faktura,
-Invoice Created,Utworzono fakturę,
-Invoice Discounting,Dyskontowanie faktury,
-Invoice Patient Registration,Rejestracja pacjenta faktury,
-Invoice Posting Date,Faktura Data zamieszczenia,
-Invoice Type,Typ faktury,
-Invoice already created for all billing hours,Faktura została już utworzona dla wszystkich godzin rozliczeniowych,
-Invoice can't be made for zero billing hour,Faktura nie może zostać wystawiona na zero godzin rozliczeniowych,
-Invoice {0} no longer exists,Faktura {0} już nie istnieje,
-Invoiced,Zafakturowane,
-Invoiced Amount,Kwota zafakturowana,
-Invoices,Faktury,
-Invoices for Costumers.,Faktury dla klientów.,
-Inward supplies from ISD,Dostawy wewnętrzne z ISD,
-Inward supplies liable to reverse charge (other than 1 & 2 above),Dostawy wewnętrzne podlegające zwrotowi (inne niż 1 i 2 powyżej),
-Is Active,Jest aktywny,
-Is Default,Jest domyślny,
-Is Existing Asset,Czy istniejącego środka trwałego,
-Is Frozen,Zamrożony,
-Is Group,Czy Grupa,
-Issue,Zdarzenie,
-Issue Material,Wydanie Materiał,
-Issued,Wydany,
-Issues,Zagadnienia,
-It is needed to fetch Item Details.,"Jest to niezbędne, aby pobrać szczegółowe dotyczące pozycji.",
-Item,Asortyment,
-Item 1,Pozycja 1,
-Item 2,Pozycja 2,
-Item 3,Pozycja 3,
-Item 4,Pozycja 4,
-Item 5,Pozycja 5,
-Item Cart,poz Koszyk,
-Item Code,Kod identyfikacyjny,
-Item Code cannot be changed for Serial No.,Kod przedmiotu nie może być zmieniony na podstawie numeru seryjnego,
-Item Code required at Row No {0},Wymagany jest kod elementu w wierszu nr {0},
-Item Description,Opis produktu,
-Item Group,Kategoria,
-Item Group Tree,Drzewo kategorii,
-Item Group not mentioned in item master for item {0},Pozycja Grupa nie wymienione w pozycji do pozycji mistrza {0},
-Item Name,Nazwa przedmiotu,
-Item Price added for {0} in Price List {1},Pozycja Cena dodany do {0} w Cenniku {1},
-"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Cena produktu pojawia się wiele razy w oparciu o Cennik, Dostawcę / Klienta, Walutę, Pozycję, UOM, Ilość i Daty.",
-Item Price updated for {0} in Price List {1},Pozycja Cena aktualizowana {0} w Cenniku {1},
-Item Row {0}: {1} {2} does not exist in above '{1}' table,Wiersz pozycji {0}: {1} {2} nie istnieje w powyższej tabeli &quot;{1}&quot;,
-Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,,
-Item Template,Szablon przedmiotu,
-Item Variant Settings,Ustawienia wariantu pozycji,
-Item Variant {0} already exists with same attributes,Pozycja Wersja {0} istnieje już z samymi atrybutami,
-Item Variants,Warianty artykuł,
-Item Variants updated,Zaktualizowano wariant produktu,
-Item has variants.,Pozycja ma warianty.,
-Item must be added using 'Get Items from Purchase Receipts' button,"Rzecz musi być dodane za ""elementy z zakupu wpływy"" przycisk",
-Item valuation rate is recalculated considering landed cost voucher amount,Jednostkowy wskaźnik wyceny przeliczone z uwzględnieniem kosztów ilość kupon wylądował,
-Item variant {0} exists with same attributes,Pozycja wariant {0} istnieje z samymi atrybutami,
-Item {0} does not exist,Element {0} nie istnieje,
-Item {0} does not exist in the system or has expired,Element {0} nie istnieje w systemie lub wygasł,
-Item {0} has already been returned,Element {0} został zwrócony,
-Item {0} has been disabled,Element {0} została wyłączona,
-Item {0} has reached its end of life on {1},Element {0} osiągnął kres przydatności {1},
-Item {0} ignored since it is not a stock item,"Element {0} jest ignorowany od momentu, kiedy nie ma go w magazynie",
-"Item {0} is a template, please select one of its variants","Element {0} jest szablon, należy wybrać jedną z jego odmian",
-Item {0} is cancelled,Element {0} jest anulowany,
-Item {0} is disabled,Element {0} jest wyłączony,
-Item {0} is not a serialized Item,,
-Item {0} is not a stock Item,Element {0} nie jest w magazynie,
-Item {0} is not active or end of life has been reached,"Element {0} nie jest aktywny, lub osiągnął datę przydatności",
-Item {0} is not setup for Serial Nos. Check Item master,Element {0} nie jest ustawiony na nr seryjny. Sprawdź mastera tego elementu,
-Item {0} is not setup for Serial Nos. Column must be blank,Element {0} nie jest ustawiony na nr seryjny. Kolumny powinny być puste,
-Item {0} must be a Fixed Asset Item,Element {0} musi być trwałego przedmiotu,
-Item {0} must be a Sub-contracted Item,,
-Item {0} must be a non-stock item,Element {0} musi być elementem non-stock,
-Item {0} must be a stock Item,Item {0} musi być dostępna w magazynie,
-Item {0} not found,Element {0} nie został znaleziony,
-Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Element {0} nie znajdują się w &quot;materiały dostarczane&quot; tabeli w Zamówieniu {1},
-Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Element {0}: Zamówione szt {1} nie może być mniejsza niż minimalna Ilość zamówień {2} (określonego w pkt).,
-Item: {0} does not exist in the system,Pozycja: {0} nie istnieje w systemie,
-Items,Produkty,
-Items Filter,Elementy Filtruj,
-Items and Pricing,Produkty i cennik,
-Items for Raw Material Request,Elementy do żądania surowca,
-Job Card,Karta pracy,
-Job Description,Opis stanowiska Pracy,
-Job Offer,Oferta pracy,
-Job card {0} created,Utworzono kartę zadania {0},
-Jobs,Oferty pracy,
-Join,łączyć,
-Journal Entries {0} are un-linked,Zapisy księgowe {0} nie są powiązane,
-Journal Entry,Zapis księgowy,
-Journal Entry {0} does not have account {1} or already matched against other voucher,Księgowanie {0} nie masz konta {1} lub już porównywane inne bon,
-Kanban Board,Kanban Board,
-Key Reports,Kluczowe raporty,
-LMS Activity,Aktywność LMS,
-Lab Test,Test laboratoryjny,
-Lab Test Report,Raport z testów laboratoryjnych,
-Lab Test Sample,Próbka do badań laboratoryjnych,
-Lab Test Template,Szablon testu laboratoryjnego,
-Lab Test UOM,Lab Test UOM,
-Lab Tests and Vital Signs,Testy laboratoryjne i Vital Signs,
-Lab result datetime cannot be before testing datetime,Data zestawienia wyników laboratorium nie może być wcześniejsza niż test datetime,
-Lab testing datetime cannot be before collection datetime,Data testowania laboratorium nie może być datą zbierania danych,
-Label,etykieta,
-Laboratory,Laboratorium,
-Language Name,Nazwa Język,
-Large,Duży,
-Last Communication,Ostatnia komunikacja,
-Last Communication Date,Ostatni dzień komunikacji,
-Last Name,Nazwisko,
-Last Order Amount,Kwota ostatniego zamówienia,
-Last Order Date,Data ostatniego zamówienia,
-Last Purchase Price,Ostatnia cena zakupu,
-Last Purchase Rate,Data Ostatniego Zakupu,
-Latest,Ostatnie,
-Latest price updated in all BOMs,Aktualna cena została zaktualizowana we wszystkich biuletynach,
-Lead,Potencjalny klient,
-Lead Count,Liczba potencjalnych klientów,
-Lead Owner,Właściciel Tropu,
-Lead Owner cannot be same as the Lead,Ołów Właściciel nie może być taka sama jak Lead,
-Lead Time Days,Czas realizacji (dni),
-Lead to Quotation,Trop do Wyceny,
-"Leads help you get business, add all your contacts and more as your leads","Przewody pomóc biznesu, dodać wszystkie kontakty i więcej jak swoich klientów",
-Learn,Samouczek,
-Leave Approval Notification,Powiadomienie o zmianie zatwierdzającego Nieobecność,
-Leave Blocked,Urlop Zablokowany,
-Leave Encashment,Zostawić Inkaso,
-Leave Management,Zarządzanie Nieobecnościami,
-Leave Status Notification,Powiadomienie o Statusie zgłoszonej Nieobecności,
-Leave Type,Typ urlopu,
-Leave Type is madatory,Typ Nieobecności jest polem wymaganym,
-Leave Type {0} cannot be allocated since it is leave without pay,"Typ Nieobecności {0} nie może zostać zaalokowany, ponieważ jest Urlopem Bezpłatnym",
-Leave Type {0} cannot be carry-forwarded,Typ Nieobecności {0} nie może zostać przeniesiony w przyszłość,
-Leave Type {0} is not encashable,Typ opuszczenia {0} nie podlega szyfrowaniu,
-Leave Without Pay,Urlop bezpłatny,
-Leave and Attendance,Nieobecności i Obecności,
-Leave application {0} already exists against the student {1},Pozostaw aplikację {0} już istnieje przeciwko uczniowi {1},
-"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Nieobecność nie może być przyznana przed {0}, a bilans nieobecności został już przeniesiony na przyszły wpis alokacyjny nieobecności {1}",
-"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Zostaw nie mogą być stosowane / anulowana przed {0}, a bilans urlopu zostało już przeniesionych przekazywane w przyszłości rekordu alokacji urlopu {1}",
-Leave of type {0} cannot be longer than {1},Urlop typu {0} nie może być dłuższy niż {1},
-Leaves,Odchodzi,
-Leaves Allocated Successfully for {0},Nieobecności Przedzielono z Powodzeniem dla {0},
-Leaves has been granted sucessfully,Nieobecności zostały przyznane z powodzeniem,
-Leaves must be allocated in multiples of 0.5,"Urlop musi być zdefiniowany jako wielokrotność liczby ""0.5""",
-Leaves per Year,Nieobecności w Roku,
-Ledger,Rejestr,
-Legal,Legalnie,
-Legal Expenses,Wydatki na obsługę prawną,
-Letter Head,Nagłówek,
-Letter Heads for print templates.,Nagłówki dla szablonów druku,
-Level,Poziom,
-Liability,Zobowiązania,
-License,Licencja,
-Lifecycle,Koło życia,
-Limit,Limit,
-Limit Crossed,Limit Crossed,
-Link to Material Request,Link do żądania materiałowego,
-List of all share transactions,Lista wszystkich transakcji akcji,
-List of available Shareholders with folio numbers,Lista dostępnych Akcjonariuszy z numerami folio,
-Loading Payment System,Ładowanie systemu płatności,
-Loan,Pożyczka,
-Loan Amount cannot exceed Maximum Loan Amount of {0},Kwota kredytu nie może przekroczyć maksymalna kwota kredytu o {0},
-Loan Application,Podanie o pożyczkę,
-Loan Management,Zarządzanie kredytem,
-Loan Repayment,Spłata pożyczki,
-Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,"Data rozpoczęcia pożyczki i okres pożyczki są obowiązkowe, aby zapisać dyskontowanie faktury",
-Loans (Liabilities),Kredyty (zobowiązania),
-Loans and Advances (Assets),Pożyczki i zaliczki (aktywa),
-Local,Lokalne,
-Log,Log,
-Logs for maintaining sms delivery status,Logi do utrzymania sms stan przesyłki,
-Lost,Straty,
-Lost Reasons,Przegrane przyczyny,
-Low,Niski,
-Low Sensitivity,Mała czułość,
-Lower Income,Niższy przychód,
-Loyalty Amount,Kwota lojalności,
-Loyalty Point Entry,Punkt lojalnościowy,
-Loyalty Points,Punkty lojalnościowe,
-"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Punkty lojalnościowe będą obliczane na podstawie zużytego (za pomocą faktury sprzedaży), na podstawie wspomnianego współczynnika zbierania.",
-Loyalty Points: {0},Punkty lojalnościowe: {0},
-Loyalty Program,Program lojalnościowy,
-Main,Główny,
-Maintenance,Konserwacja,
-Maintenance Log,Dziennik konserwacji,
-Maintenance Manager,Menager Konserwacji,
-Maintenance Schedule,Plan Konserwacji,
-Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',"Plan Konserwacji nie jest generowany dla wszystkich przedmiotów. Proszę naciśnij ""generuj plan""",
-Maintenance Schedule {0} exists against {1},Harmonogram konserwacji {0} istnieje przeciwko {1},
-Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Plan Konserwacji {0} musi być anulowany przed usunięciem tego zamówienia,
-Maintenance Status has to be Cancelled or Completed to Submit,Stan konserwacji musi zostać anulowany lub uzupełniony do przesłania,
-Maintenance User,Użytkownik Konserwacji,
-Maintenance Visit,Wizyta Konserwacji,
-Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Wizyta Konserwacji {0} musi być anulowana przed usunięciem nakazu sprzedaży,
-Maintenance start date can not be before delivery date for Serial No {0},Początek daty konserwacji nie może być wcześniejszy od daty numeru seryjnego {0},
-Make,Stwórz,
-Make Payment,Dokonać płatności,
-Make project from a template.,Utwórz projekt z szablonu.,
-Making Stock Entries,Dokonywanie stockowe Wpisy,
-Male,Mężczyzna,
-Manage Customer Group Tree.,Zarządzaj drzewem grupy klientów,
-Manage Sales Partners.,Zarządzaj Partnerami Sprzedaży.,
-Manage Sales Person Tree.,Zarządzaj Drzewem Sprzedawców,
-Manage Territory Tree.,Zarządzaj drzewem terytorium,
-Manage your orders,Zarządzanie zamówień,
-Management,Zarząd,
-Manager,Menager,
-Managing Projects,Zarządzanie projektami,
-Managing Subcontracting,Zarządzanie Podwykonawstwo,
-Mandatory,Obowiązkowe,
-Mandatory field - Academic Year,Pole obowiązkowe - Rok akademicki,
-Mandatory field - Get Students From,Pole obowiązkowe - pobierz uczniów,
-Mandatory field - Program,Pole obowiązkowe - program,
-Manufacture,Produkcja,
-Manufacturer,Producent,
-Manufacturer Part Number,Numer katalogowy producenta,
-Manufacturing,Produkcja,
-Manufacturing Quantity is mandatory,Ilość wyprodukowanych jest obowiązkowa,
-Mapping,Mapowanie,
-Mapping Type,Typ odwzorowania,
-Mark Absent,Oznacz Nieobecna,
-Mark Attendance,Oznaczaj Uczestnictwo,
-Mark Half Day,Oznacz pół dnia,
-Mark Present,Mark Present,
-Marketing,Marketing,
-Marketing Expenses,Wydatki marketingowe,
-Marketplace,Rynek,
-Marketplace Error,Błąd na rynku,
-Masters,Magistrowie,
-Match Payments with Invoices,Płatności mecz fakturami,
-Match non-linked Invoices and Payments.,Łączenie faktur z płatnościami,
-Material,Materiał,
-Material Consumption,Zużycie materiału,
-Material Consumption is not set in Manufacturing Settings.,Zużycie materiału nie jest ustawione w ustawieniach produkcyjnych.,
-Material Receipt,Przyjęcie materiałów,
-Material Request,Zamówienie produktu,
-Material Request Date,Materiał Zapytanie Data,
-Material Request No,Zamówienie produktu nr,
-"Material Request not created, as quantity for Raw Materials already available.","Nie utworzono wniosku o materiał, jako ilość dostępnych surowców.",
-Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Zamówienie produktu o maksymalnej ilości {0} może być zrealizowane dla przedmiotu {1} w zamówieniu {2},
-Material Request to Purchase Order,Twoje zamówienie jest w realizacji,
-Material Request {0} is cancelled or stopped,Zamówienie produktu {0} jest anulowane lub wstrzymane,
-Material Request {0} submitted.,Wysłano żądanie materiałowe {0}.,
-Material Transfer,Transfer materiałów,
-Material Transferred,Przeniesiony materiał,
-Material to Supplier,Materiał do dostawcy,
-Max Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},Maksymalna kwota zwolnienia nie może być większa niż maksymalna kwota zwolnienia {0} kategorii zwolnienia podatkowego {1},
-Max benefits should be greater than zero to dispense benefits,Maksymalne korzyści powinny być większe niż zero w celu rozłożenia korzyści,
-Max discount allowed for item: {0} is {1}%,Maksymalna zniżka pozwoliło na pozycji: {0} jest {1}%,
-Max: {0},Max: {0},
-Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,Maksymalne próbki - {0} mogą zostać zachowane dla Batch {1} i Item {2}.,
-Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,Maksymalne próbki - {0} zostały już zachowane dla partii {1} i pozycji {2} w partii {3}.,
-Maximum amount eligible for the component {0} exceeds {1},Maksymalna kwota kwalifikująca się do komponentu {0} przekracza {1},
-Maximum benefit amount of component {0} exceeds {1},Maksymalna kwota świadczenia komponentu {0} przekracza {1},
-Maximum benefit amount of employee {0} exceeds {1},Maksymalna kwota świadczenia pracownika {0} przekracza {1},
-Maximum discount for Item {0} is {1}%,Maksymalna zniżka dla pozycji {0} to {1}%,
-Maximum leave allowed in the leave type {0} is {1},Maksymalny dozwolony urlop w typie urlopu {0} to {1},
-Medical,Medyczny,
-Medical Code,Kodeks medyczny,
-Medical Code Standard,Standardowy kod medyczny,
-Medical Department,Wydział Lekarski,
-Medical Record,Historia choroby,
-Medium,Średni,
-Meeting,Spotkanie,
-Member Activity,Aktywność użytkownika,
-Member ID,ID Użytkownika,
-Member Name,Nazwa członka,
-Member information.,Informacje o członkach.,
-Membership,Członkostwo,
-Membership Details,Dane dotyczące członkostwa,
-Membership ID,Identyfikator członkostwa,
-Membership Type,typ członkostwa,
-Memebership Details,Szczegóły Memebership,
-Memebership Type Details,Szczegóły typu memebership,
-Merge,Łączyć,
-Merge Account,Połącz konto,
-Merge with Existing Account,Scal z istniejącym kontem,
-"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Połączenie jest możliwe tylko wtedy, gdy następujące właściwości są takie same w obu płyt. Czy Grupa Root Typ, Firma",
-Message Examples,Przykłady wiadomości,
-Message Sent,Wiadomość wysłana,
-Method,Metoda,
-Middle Income,Średni dochód,
-Middle Name,Drugie imię,
-Middle Name (Optional),Drugie imię (opcjonalnie),
-Min Amt can not be greater than Max Amt,Min Amt nie może być większy niż Max Amt,
-Min Qty can not be greater than Max Qty,Minimalna ilość nie może być większa niż maksymalna ilość,
-Minimum Lead Age (Days),Minimalny wiek ołowiu (dni),
-Miscellaneous Expenses,Pozostałe drobne wydatki,
-Missing Currency Exchange Rates for {0},Brakujące Wymiana walut stawki dla {0},
-Missing email template for dispatch. Please set one in Delivery Settings.,Brakujący szablon wiadomości e-mail do wysyłki. Ustaw jeden w Ustawieniach dostawy.,
-"Missing value for Password, API Key or Shopify URL","Brakująca wartość hasła, klucza API lub Shopify URL",
-Mode of Payment,Sposób płatności,
-Mode of Payments,Tryb płatności,
-Mode of Transport,Tryb transportu,
-Mode of Transportation,Środek transportu,
-Mode of payment is required to make a payment,"Sposób płatności jest wymagane, aby dokonać płatności",
-Model,Model,
-Moderate Sensitivity,Średnia czułość,
-Monday,Poniedziałek,
-Monthly,Miesięcznie,
-Monthly Distribution,Miesięczny Dystrybucja,
-Monthly Repayment Amount cannot be greater than Loan Amount,Miesięczna kwota spłaty nie może być większa niż Kwota kredytu,
-More,Więcej,
-More Information,Więcej informacji,
-More than one selection for {0} not allowed,Więcej niż jeden wybór dla {0} jest niedozwolony,
-More...,Jeszcze...,
-Motion Picture & Video,Ruchomy Obraz i Video,
-Move,ruch,
-Move Item,Move Item,
-Multi Currency,Wielowalutowy,
-Multiple Item prices.,Wiele cen przedmiotu.,
-Multiple Loyalty Program found for the Customer. Please select manually.,Znaleziono wiele programów lojalnościowych dla klienta. Wybierz ręcznie.,
-"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}",Wiele Zasad Cen istnieje w tych samych kryteriach proszę rozwiązywania konflikty poprzez przypisanie priorytetu. Zasady Cen: {0},
-Multiple Variants,Wiele wariantów,
-Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,Wiele lat podatkowych istnieją na dzień {0}. Proszę ustawić firmy w roku finansowym,
-Music,Muzyka,
-My Account,Moje Konto,
-Name error: {0},Błąd Nazwa: {0},
-Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Nazwa nowego konta. Uwaga: Proszę nie tworzyć konta dla odbiorców i dostawców,
-Name or Email is mandatory,Imię lub E-mail jest obowiązkowe,
-Nature Of Supplies,Natura dostaw,
-Navigating,Nawigacja,
-Needs Analysis,Analiza potrzeb,
-Negative Quantity is not allowed,Ilość nie może być wyrażana na minusie,
-Negative Valuation Rate is not allowed,Błąd Szacowania Wartość nie jest dozwolona,
-Negotiation/Review,Negocjacje / przegląd,
-Net Asset value as on,Wartość aktywów netto na,
-Net Cash from Financing,Przepływy pieniężne netto z finansowania,
-Net Cash from Investing,Przepływy pieniężne netto z inwestycji,
-Net Cash from Operations,Środki pieniężne netto z działalności operacyjnej,
-Net Change in Accounts Payable,Zmiana netto stanu zobowiązań,
-Net Change in Accounts Receivable,Zmiana netto stanu należności,
-Net Change in Cash,Zmiana netto stanu środków pieniężnych,
-Net Change in Equity,Zmiana netto w kapitale własnym,
-Net Change in Fixed Asset,Zmiana netto stanu trwałego,
-Net Change in Inventory,Zmiana netto stanu zapasów,
-Net ITC Available(A) - (B),Net ITC Available (A) - (B),
-Net Pay,Stawka Netto,
-Net Pay cannot be less than 0,Wynagrodzenie netto nie może być mniejsza niż 0,
-Net Profit,Zysk netto,
-Net Salary Amount,Kwota wynagrodzenia netto,
-Net Total,Łączna wartość netto,
-Net pay cannot be negative,Stawka Netto nie może być na minusie,
-New Account Name,Nowa nazwa konta,
-New Address,Nowy adres,
-New BOM,Nowe zestawienie materiałowe,
-New Batch ID (Optional),Nowy identyfikator partii (opcjonalnie),
-New Batch Qty,Nowa partia,
-New Company,Nowa firma,
-New Cost Center Name,Nazwa nowego Centrum Kosztów,
-New Customer Revenue,Nowy Przychody klienta,
-New Customers,Nowi Klienci,
-New Department,Nowy dział,
-New Employee,Nowy pracownik,
-New Location,Nowa lokalizacja,
-New Quality Procedure,Nowa procedura jakości,
-New Sales Invoice,Nowa faktura sprzedaży,
-New Sales Person Name,Nazwa nowej osoby Sprzedaży,
-New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Nowy nr seryjny nie może mieć Magazynu. Magazyn musi być ustawiona przez Zasoby lub  na podstawie Paragonu Zakupu,
-New Warehouse Name,Nowy magazyn Nazwa,
-New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},Nowy limit kredytowy wynosi poniżej aktualnej kwoty należności dla klienta. Limit kredytowy musi być conajmniej {0},
-New task,Nowe zadanie,
-New {0} pricing rules are created,Utworzono nowe {0} reguły cenowe,
-Newsletters,Biuletyny,
-Newspaper Publishers,Wydawcy gazet,
-Next,Dalej,
-Next Contact By cannot be same as the Lead Email Address,Następnie Kontakt By nie może być taki sam jak adres e-mail Wiodącego,
-Next Contact Date cannot be in the past,Następnie Kontakt Data nie może być w przeszłości,
-Next Steps,Następne kroki,
-No Action,Bez akcji,
-No Customers yet!,Brak klientów!,
-No Data,Brak danych,
-No Delivery Note selected for Customer {},Nie wybrano uwagi dostawy dla klienta {},
-No Employee Found,Nie znaleziono pracownika,
-No Item with Barcode {0},Nie istnieje Przedmiot o kodzie kreskowym {0},
-No Item with Serial No {0},Brak przedmiotu o podanym numerze seryjnym {0},
-No Items available for transfer,Brak przedmiotów do przeniesienia,
-No Items selected for transfer,Nie wybrano pozycji do przeniesienia,
-No Items to pack,Brak Przedmiotów do pakowania,
-No Items with Bill of Materials to Manufacture,Brak przedmioty z Bill of Materials do produkcji,
-No Items with Bill of Materials.,Brak przedmiotów z zestawieniem materiałów.,
-No Permission,Brak uprawnień,
-No Remarks,Brak uwag,
-No Result to submit,Brak wyniku,
-No Salary Structure assigned for Employee {0} on given date {1},Brak struktury wynagrodzenia dla pracownika {0} w danym dniu {1},
-No Staffing Plans found for this Designation,Nie znaleziono planów zatrudnienia dla tego oznaczenia,
-No Student Groups created.,Brak grup studenckich utworzony.,
-No Students in,Brak uczniów w Poznaniu,
-No Tax Withholding data found for the current Fiscal Year.,Nie znaleziono danych potrącenia podatku dla bieżącego roku obrotowego.,
-No Work Orders created,Nie utworzono zleceń pracy,
-No accounting entries for the following warehouses,Brak zapisów księgowych dla następujących magazynów,
-No active or default Salary Structure found for employee {0} for the given dates,Brak aktywnego czy ustawiona Wynagrodzenie Struktura znalezionych dla pracownika {0} dla podanych dat,
-No contacts with email IDs found.,Nie znaleziono kontaktów z identyfikatorami e-mail.,
-No data for this period,Brak danych dla tego okresu,
-No description given,Brak opisu,
-No employees for the mentioned criteria,Brak pracowników dla wymienionych kryteriów,
-No gain or loss in the exchange rate,Brak zysków lub strat w kursie wymiany,
-No items listed,Brak elementów na liście,
-No items to be received are overdue,Żadne przedmioty do odbioru nie są spóźnione,
-No material request created,Nie utworzono żadnego żadnego materialnego wniosku,
-No more updates,Brak więcej aktualizacji,
-No of Interactions,Liczba interakcji,
-No of Shares,Liczba akcji,
-No pending Material Requests found to link for the given items.,Nie znaleziono oczekujĘ ... cych żĘ ... danych żĘ ... danych w celu połĘ ... czenia dla podanych elementów.,
-No products found,Nie znaleziono produktów,
-No products found.,Nie znaleziono produktów.,
-No record found,Nie znaleziono wyników,
-No records found in the Invoice table,Nie znaleziono w tabeli faktury rekordy,
-No records found in the Payment table,Nie znaleziono rekordów w tabeli płatności,
-No replies from,Brak odpowiedzi ze strony,
-No salary slip found to submit for the above selected criteria OR salary slip already submitted,Nie znaleziono pokwitowania wypłaty za wyżej wymienione kryteria LUB wniosek o wypłatę wynagrodzenia już przesłano,
-No tasks,Brak zadań,
-No time sheets,Brak karty czasu,
-No values,Brak wartości,
-No {0} found for Inter Company Transactions.,"Nie znaleziono rekordów ""{0}"" dla transakcji między spółkami.",
-Non GST Inward Supplies,Non GST Inward Supplies,
-Non Profit,Brak Zysków,
-Non Profit (beta),Non Profit (beta),
-Non-GST outward supplies,Dostawy zewnętrzne spoza GST,
-Non-Group to Group,Dla grupy do grupy,
-None,Żaden,
-None of the items have any change in quantity or value.,Żaden z elementów ma żadnych zmian w ilości lub wartości.,
-Nos,Numery,
-Not Available,Niedostępny,
-Not Marked,nieoznaczone,
-Not Paid and Not Delivered,Nie Płatny i nie Dostarczany,
-Not Permitted,Niedozwolone,
-Not Started,Nie Rozpoczęte,
-Not active,Nieaktywny,
-Not allow to set alternative item for the item {0},Nie zezwalaj na ustawienie pozycji alternatywnej dla pozycji {0},
-Not allowed to update stock transactions older than {0},Niedozwolona jest modyfikacja transakcji zapasów starszych niż {0},
-Not authorized to edit frozen Account {0},Brak autoryzacji do edycji zamrożonego Konta {0},
-Not authroized since {0} exceeds limits,Brak autoryzacji od {0} przekroczono granice,
-Not permitted for {0},Nie dopuszczony do {0},
-"Not permitted, configure Lab Test Template as required","Niedozwolone, w razie potrzeby skonfiguruj szablon testu laboratorium",
-Not permitted. Please disable the Service Unit Type,Nie dozwolone. Wyłącz opcję Service Unit Type,
-Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Uwaga: Ze względu / Data odniesienia przekracza dozwolony dzień kredytowej klienta przez {0} dni (s),
-Note: Item {0} entered multiple times,Uwaga: Element {0} wpisano kilka razy,
-Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,"Uwaga: Płatność nie zostanie utworzona, gdyż nie określono konta 'Gotówka lub Bank'",
-Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Uwaga: System nie sprawdza nad-dostawy oraz nadmiernej rezerwacji dla pozycji {0} jej wartość lub kwota wynosi 0,
-Note: There is not enough leave balance for Leave Type {0},Uwaga: Nie ma wystarczającej ilości urlopu aby ustalić typ zwolnienia {0},
-Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Informacja: To Centrum Kosztów jest grupą. Nie mogę wykonać operacji rachunkowych na grupach.,
-Note: {0},Uwaga: {0},
-Notes,Notatki,
-Nothing is included in gross,Nic nie jest wliczone w brutto,
-Nothing more to show.,Nic więcej do pokazania.,
-Nothing to change,Nic do zmiany,
-Notice Period,Okres wypowiedzenia,
-Notify Customers via Email,Powiadom klientów przez e-mail,
-Number,Numer,
-Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Ilość amortyzacją Zarezerwowane nie może być większa od ogólnej liczby amortyzacją,
-Number of Interaction,Liczba interakcji,
-Number of Order,Numer zlecenia,
-"Number of new Account, it will be included in the account name as a prefix","Numer nowego Konta, zostanie dodany do nazwy konta jako prefiks",
-"Number of new Cost Center, it will be included in the cost center name as a prefix","Numer nowego miejsca powstawania kosztów, zostanie wprowadzony do nazwy miejsca powstawania kosztów jako prefiks",
-Number of root accounts cannot be less than 4,Liczba kont root nie może być mniejsza niż 4,
-Odometer,Drogomierz,
-Office Equipments,Urządzenie Biura,
-Office Maintenance Expenses,Wydatki na obsługę biura,
-Office Rent,Wydatki na wynajem,
-On Hold,W oczekiwaniu,
-On Net Total,Na podstawie Kwoty Netto,
-One customer can be part of only single Loyalty Program.,Jeden klient może być częścią tylko jednego Programu lojalnościowego.,
-Online Auctions,Aukcje online,
-Only Leave Applications with status 'Approved' and 'Rejected' can be submitted,Pozostawić tylko Aplikacje ze statusem „Approved” i „Odrzucone” mogą być składane,
-"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",W poniższej tabeli zostanie wybrana tylko osoba ubiegająca się o przyjęcie ze statusem &quot;Zatwierdzona&quot;.,
-Only users with {0} role can register on Marketplace,Tylko użytkownicy z rolą {0} mogą rejestrować się w usłudze Marketplace,
-Open BOM {0},Otwarte BOM {0},
-Open Item {0},Pozycja otwarta {0},
-Open Notifications,Otwarte Powiadomienia,
-Open Orders,Otwarte zlecenia,
-Open a new ticket,Otwórz nowy bilet,
-Opening,Otwarcie,
-Opening (Cr),Otwarcie (Cr),
-Opening (Dr),Otwarcie (Dr),
-Opening Accounting Balance,Stan z bilansu otwarcia,
-Opening Accumulated Depreciation,Otwarcie Skumulowana amortyzacja,
-Opening Accumulated Depreciation must be less than equal to {0},Otwarcie Skumulowana amortyzacja powinna być mniejsza niż równa {0},
-Opening Balance,Bilans otwarcia,
-Opening Balance Equity,Bilans otwarcia Kapitału własnego,
-Opening Date and Closing Date should be within same Fiscal Year,Otwarcie Data i termin powinien być w obrębie samego roku podatkowego,
-Opening Date should be before Closing Date,Data otwarcia powinien być przed Dniem Zamknięcia,
-Opening Entry Journal,Otwarcie dziennika wejścia,
-Opening Invoice Creation Tool,Otwieranie narzędzia tworzenia faktury,
-Opening Invoice Item,Otwieranie faktury,
-Opening Invoices,Otwieranie faktur,
-Opening Invoices Summary,Otwieranie podsumowań faktur,
-Opening Qty,Ilość otwarcia,
-Opening Stock,Otwarcie Zdjęcie,
-Opening Stock Balance,Saldo otwierające zapasy,
-Opening Value,Wartość otwarcia,
-Opening {0} Invoice created,Otworzono fakturę {0},
-Operation,Operacja,
-Operation Time must be greater than 0 for Operation {0},Czas działania musi być większy niż 0 do operacji {0},
-"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operacja {0} dłużej niż wszelkie dostępne w godzinach pracy stacji roboczej {1}, rozbić na kilka operacji operacji",
-Operations,Działania,
-Operations cannot be left blank,Operacje nie może być puste,
-Opp Count,Opp Count,
-Opp/Lead %,Opp / ołów%,
-Opportunities,Możliwości,
-Opportunities by lead source,Możliwości według źródła ołowiu,
-Opportunity,Oferta,
-Opportunity Amount,Kwota możliwości,
-Optional Holiday List not set for leave period {0},Opcjonalna lista dni świątecznych nie jest ustawiona dla okresu urlopu {0},
-"Optional. Sets company's default currency, if not specified.","Opcjonalny. Ustawia domyślną walutę firmy, jeśli nie podano.",
-Optional. This setting will be used to filter in various transactions.,Opcjonalne. Te Ustawienie będzie użyte w filtrze dla różnych transacji.,
-Options,Opcje,
-Order Count,Liczba zamówień,
-Order Entry,Wprowadzanie zamówień,
-Order Value,Wartość zamówienia,
-Order rescheduled for sync,Zamów zmianę terminu do synchronizacji,
-Order/Quot %,Zamówienie / kwota%,
-Ordered,Zamówione,
-Ordered Qty,Ilość Zamówiona,
-"Ordered Qty: Quantity ordered for purchase, but not received.",,
-Orders,Zamówienia,
-Orders released for production.,Zamówienia puszczone do produkcji.,
-Organization,Organizacja,
-Organization Name,Nazwa organizacji,
-Other,Inne,
-Other Reports,Inne raporty,
-"Other outward supplies(Nil rated,Exempted)","Inne dostawy zewnętrzne (bez oceny, zwolnione)",
-Others,Inni,
-Out Qty,Brak Ilości,
-Out Value,Brak Wartości,
-Out of Order,Nieczynny,
-Outgoing,Wychodzący,
-Outstanding,Wybitny,
-Outstanding Amount,Zaległa Ilość,
-Outstanding Amt,Zaległa wartość,
-Outstanding Cheques and Deposits to clear,"Wybitni Czeki i depozytów, aby usunąć",
-Outstanding for {0} cannot be less than zero ({1}),Zaległość za {0} nie może być mniejsza niż ({1}),
-Outward taxable supplies(zero rated),Dostaw podlegających opodatkowaniu zewnętrznemu (zero punktów),
-Overdue,Zaległy,
-Overlap in scoring between {0} and {1},Pokrywaj się w punktacji pomiędzy {0} a {1},
-Overlapping conditions found between:,Nakładające warunki pomiędzy:,
-Owner,Właściciel,
-PAN,Stały numer konta (PAN),
-POS,POS,
-POS Profile,POS profilu,
-POS Profile is required to use Point-of-Sale,Profil POS jest wymagany do korzystania z Point-of-Sale,
-POS Profile required to make POS Entry,Profil POS wymagany do tworzenia wpisu z POS,
-POS Settings,Ustawienia POS,
-Packed quantity must equal quantity for Item {0} in row {1},Wartość spakowana musi równać się ilości dla przedmiotu {0} w rzędzie {1},
-Packing Slip,List przewozowy,
-Packing Slip(s) cancelled,List(y) przewozowe anulowane,
-Paid,Zapłacono,
-Paid Amount,Zapłacona kwota,
-Paid Amount cannot be greater than total negative outstanding amount {0},Wpłaconej kwoty nie może być większa od całkowitej ujemnej kwoty należności {0},
-Paid amount + Write Off Amount can not be greater than Grand Total,Wartość zapłaty + Wartość odliczenia nie może być większa niż Cała Kwota,
-Paid and Not Delivered,Płatny i niedostarczone,
-Parameter,Parametr,
-Parent Item {0} must not be a Stock Item,Dominująca pozycja {0} nie może być pozycja Zdjęcie,
-Parents Teacher Meeting Attendance,Spotkanie wychowawców rodziców,
-Part-time,Niepełnoetatowy,
-Partially Depreciated,częściowo Zamortyzowany,
-Partially Received,Częściowo odebrane,
-Party,Grupa,
-Party Name,Nazwa Party,
-Party Type,Typ grupy,
-Party Type and Party is mandatory for {0} account,Typ strony i strona są obowiązkowe dla konta {0},
-Party Type is mandatory,Rodzaj Partia jest obowiązkowe,
-Party is mandatory,Partia jest obowiązkowe,
-Password,Hasło,
-Password policy for Salary Slips is not set,Polityka haseł dla poświadczeń wynagrodzenia nie jest ustawiona,
-Past Due Date,Minione terminy,
-Patient,Cierpliwy,
-Patient Appointment,Powtarzanie Pacjenta,
-Patient Encounter,Spotkanie z pacjentem,
-Patient not found,Nie znaleziono pacjenta,
-Pay Remaining,Zapłać pozostałe,
-Pay {0} {1},Zapłać {0} {1},
-Payable,Płatność,
-Payable Account,Konto płatności,
-Payable Amount,Kwota do zapłaty,
-Payment,Płatność,
-Payment Cancelled. Please check your GoCardless Account for more details,"Płatność anulowana. Sprawdź swoje konto bez karty, aby uzyskać więcej informacji",
-Payment Confirmation,Potwierdzenie płatności,
-Payment Date,Data płatności,
-Payment Days,Dni płatności,
-Payment Document,Płatność Dokument,
-Payment Due Date,Termin płatności,
-Payment Entries {0} are un-linked,Wpisy płatności {0} są un-linked,
-Payment Entry,Płatność,
-Payment Entry already exists,Zapis takiej Płatności już istnieje,
-Payment Entry has been modified after you pulled it. Please pull it again.,Wpis płatności został zmodyfikowany po ściągnięciu. Proszę ściągnąć ponownie.,
-Payment Entry is already created,Zapis takiej Płatności już został utworzony,
-Payment Failed. Please check your GoCardless Account for more details,"Płatność nie powiodła się. Sprawdź swoje konto bez karty, aby uzyskać więcej informacji",
-Payment Gateway,Bramki płatności,
-"Payment Gateway Account not created, please create one manually.","Payment Gateway konta nie jest tworzony, należy utworzyć ręcznie.",
-Payment Gateway Name,Nazwa bramki płatności,
-Payment Mode,Tryb Płatności,
-Payment Receipt Note,Otrzymanie płatności Uwaga,
-Payment Request,Żądanie zapłaty,
-Payment Request for {0},Prośba o płatność za {0},
-Payment Tems,Tematyka płatności,
-Payment Term,Termin płatności,
-Payment Terms,Zasady płatności,
-Payment Terms Template,Szablon warunków płatności,
-Payment Terms based on conditions,Warunki płatności oparte na warunkach,
-Payment Type,Typ płatności,
-"Payment Type must be one of Receive, Pay and Internal Transfer",Typ płatności musi być jednym z Odbierz Pay and przelew wewnętrzny,
-Payment against {0} {1} cannot be greater than Outstanding Amount {2},Płatność przed {0} {1} nie może być większa niż kwota kredytu pozostała {2},
-Payment of {0} from {1} to {2},Płatność {0} od {1} do {2},
-Payment request {0} created,Żądanie zapłaty {0} zostało utworzone,
-Payments,Płatności,
-Payroll,Lista płac,
-Payroll Number,Numer listy płac,
-Payroll Payable,Płace Płatne,
-Payslip,Odcinek wypłaty,
-Pending Activities,Oczekujące Inne,
-Pending Amount,Kwota Oczekiwana,
-Pending Leaves,Oczekujące Nieobecności,
-Pending Qty,Oczekuje szt,
-Pending Quantity,Ilość oczekująca,
-Pending Review,Czekający na rewizję,
-Pending activities for today,Działania oczekujące na dziś,
-Pension Funds,Fundusze emerytalne,
-Percentage Allocation should be equal to 100%,Przydział Procentowy powinien wynosić 100%,
-Perception Analysis,Analiza percepcji,
-Period,Okres,
-Period Closing Entry,Wpis Kończący Okres,
-Period Closing Voucher,Zamknięcie roku,
-Periodicity,Okresowość,
-Personal Details,Dane osobowe,
-Pharmaceutical,Farmaceutyczny,
-Pharmaceuticals,Farmaceutyczne,
-Physician,Lekarz,
-Piecework,Praca akordowa,
-Pincode,Kod PIN,
-Place Of Supply (State/UT),Miejsce zaopatrzenia (stan / UT),
-Place Order,Złóż zamówienie,
-Plan Name,Nazwa planu,
-Plan for maintenance visits.,Plan wizyt serwisowych.,
-Planned Qty,Planowana ilość,
-"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Planowana ilość: ilość, dla której zlecenie pracy zostało podniesione, ale oczekuje na wyprodukowanie.",
-Planning,Planowanie,
-Plants and Machineries,Rośliny i maszyn,
-Please Set Supplier Group in Buying Settings.,Ustaw grupę dostawców w ustawieniach zakupów.,
-Please add a Temporary Opening account in Chart of Accounts,Dodaj konto tymczasowego otwarcia w planie kont,
-Please add the account to root level Company - ,Dodaj konto do poziomu głównego firmy -,
-Please add the remaining benefits {0} to any of the existing component,Dodaj pozostałe korzyści {0} do dowolnego z istniejących komponentów,
-Please check Multi Currency option to allow accounts with other currency,"Proszę sprawdzić multi opcji walutowych, aby umożliwić rachunki w innych walutach",
-Please click on 'Generate Schedule',"Proszę kliknąć na ""Wygeneruj Harmonogram""",
-Please click on 'Generate Schedule' to fetch Serial No added for Item {0},"Proszę kliknąć na ""Generowanie Harmonogramu"", aby sprowadzić nr seryjny dodany do pozycji {0}",
-Please click on 'Generate Schedule' to get schedule,"Kliknij na ""Generuj Harmonogram"" aby otrzymać harmonogram",
-Please confirm once you have completed your training,Potwierdź po zakończeniu szkolenia,
-Please create purchase receipt or purchase invoice for the item {0},Utwórz paragon zakupu lub fakturę zakupu elementu {0},
-Please define grade for Threshold 0%,Proszę określić stopień dla progu 0%,
-Please enable Applicable on Booking Actual Expenses,Włącz opcję Rzeczywiste wydatki za rezerwację,
-Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Włącz Włączone do zamówienia i obowiązujące przy rzeczywistych kosztach rezerwacji,
-Please enable default incoming account before creating Daily Work Summary Group,Włącz domyślne konto przychodzące przed utworzeniem Daily Summary Summary Group,
-Please enable pop-ups,Proszę włączyć pop-upy,
-Please enter 'Is Subcontracted' as Yes or No,"Proszę wprowadź ""Zlecona"" jako Tak lub Nie",
-Please enter API Consumer Key,Wprowadź klucz klienta API,
-Please enter API Consumer Secret,Wprowadź klucz tajny API,
-Please enter Account for Change Amount,Proszę wpisać uwagę do zmiany kwoty,
-Please enter Approving Role or Approving User,Proszę wprowadzić Rolę osoby zatwierdzającej dla użytkownika zatwierdzającego,
-Please enter Cost Center,Wprowadź Centrum kosztów,
-Please enter Delivery Date,Proszę podać datę doręczenia,
-Please enter Employee Id of this sales person,Proszę podać ID pracownika tej osoby ze sprzedaży,
-Please enter Expense Account,Wprowadź konto Wydatków,
-Please enter Item Code to get Batch Number,"Proszę wpisać kod produkt, aby uzyskać numer partii",
-Please enter Item Code to get batch no,Proszę wprowadzić Kod Produktu w celu przyporządkowania serii,
-Please enter Item first,Proszę najpierw wprowadzić Przedmiot,
-Please enter Maintaince Details first,Proszę wprowadzić szczegóły dotyczące konserwacji,
-Please enter Planned Qty for Item {0} at row {1},Proszę podać Planowane Ilości dla pozycji {0} w wierszu {1},
-Please enter Preferred Contact Email,Proszę wpisać Preferowany Kontakt Email,
-Please enter Production Item first,Wprowadź jako pierwszą Produkowaną Rzecz,
-Please enter Purchase Receipt first,Proszę wpierw wprowadzić dokument zakupu,
-Please enter Receipt Document,Proszę podać Otrzymanie dokumentu,
-Please enter Reference date,,
-Please enter Repayment Periods,Proszę wprowadzić okresy spłaty,
-Please enter Reqd by Date,Wprowadź datę realizacji,
-Please enter Woocommerce Server URL,Wprowadź adres URL serwera Woocommerce,
-Please enter Write Off Account,Proszę zdefiniować konto odpisów,
-Please enter atleast 1 invoice in the table,Wprowadź co najmniej jedną fakturę do tabelki,
-Please enter company first,Proszę najpierw wpisać Firmę,
-Please enter company name first,Proszę najpierw wpisać nazwę Firmy,
-Please enter default currency in Company Master,Proszę dodać domyślną walutę w Głównych Ustawieniach Firmy,
-Please enter message before sending,Proszę wpisać wiadomość przed wysłaniem,
-Please enter parent cost center,Proszę podać nadrzędne centrum kosztów,
-Please enter quantity for Item {0},Wprowadź ilość dla przedmiotu {0},
-Please enter relieving date.,,
-Please enter repayment Amount,Wpisz Kwota spłaty,
-Please enter valid Financial Year Start and End Dates,Proszę wpisać poprawny rok obrotowy od daty rozpoczęcia i zakończenia,
-Please enter valid email address,Proszę wprowadzić poprawny adres email,
-Please enter {0} first,Podaj {0} pierwszy,
-Please fill in all the details to generate Assessment Result.,"Proszę wypełnić wszystkie szczegóły, aby wygenerować wynik oceny.",
-Please identify/create Account (Group) for type - {0},Określ / utwórz konto (grupę) dla typu - {0},
-Please identify/create Account (Ledger) for type - {0},Zidentyfikuj / utwórz konto (księga) dla typu - {0},
-Please login as another user to register on Marketplace,"Zaloguj się jako inny użytkownik, aby zarejestrować się na rynku",
-Please make sure you really want to delete all the transactions for this company. Your master data will remain as it is. This action cannot be undone.,"Upewnij się, że na pewno chcesz usunąć wszystkie transakcje dla tej firmy. Twoje dane podstawowe pozostanie tak jak jest. Ta akcja nie można cofnąć.",
-Please mention Basic and HRA component in Company,Proszę wspomnieć o komponencie Basic i HRA w firmie,
-Please mention Round Off Account in Company,Proszę określić konto do zaokrągleń kwot w firmie,
-Please mention Round Off Cost Center in Company,Powołaj zaokrąglić centrum kosztów w Spółce,
-Please mention no of visits required,,
-Please mention the Lead Name in Lead {0},Zapoznaj się z nazwą wiodącego wiodącego {0},
-Please pull items from Delivery Note,Wyciągnij elementy z dowodu dostawy,
-Please register the SIREN number in the company information file,Zarejestruj numer SIREN w pliku z informacjami o firmie,
-Please remove this Invoice {0} from C-Form {1},Proszę usunąć tę fakturę {0} z C-Form {1},
-Please save the patient first,Najpierw zapisz pacjenta,
-Please save the report again to rebuild or update,"Zapisz raport ponownie, aby go odbudować lub zaktualizować",
-"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Proszę wybrać Przyznana kwota, faktury i faktury Rodzaj numer w conajmniej jednym rzędzie",
-Please select Apply Discount On,Proszę wybrać Zastosuj RABAT,
-Please select BOM against item {0},Wybierz zestawienie materiałów w odniesieniu do pozycji {0},
-Please select BOM for Item in Row {0},Proszę wybrać LM dla pozycji w wierszu {0},
-Please select BOM in BOM field for Item {0},Proszę wybrać LM w dziedzinie BOM dla pozycji {0},
-Please select Category first,Proszę najpierw wybrać kategorię,
-Please select Charge Type first,Najpierw wybierz typ opłaty,
-Please select Company,Proszę wybrać firmę,
-Please select Company and Designation,Wybierz firmę i oznaczenie,
-Please select Company and Posting Date to getting entries,"Wybierz Firmę i Data księgowania, aby uzyskać wpisy",
-Please select Company first,Najpierw wybierz firmę,
-Please select Completion Date for Completed Asset Maintenance Log,Proszę wybrać opcję Data zakończenia dla ukończonego dziennika konserwacji zasobów,
-Please select Completion Date for Completed Repair,Proszę wybrać datę zakończenia naprawy zakończonej,
-Please select Course,Proszę wybrać Kurs,
-Please select Drug,Proszę wybrać lek,
-Please select Employee,Wybierz pracownika,
-Please select Existing Company for creating Chart of Accounts,Wybierz istniejący podmiot do tworzenia planu kont,
-Please select Healthcare Service,Wybierz Healthcare Service,
-"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle","Proszę wybrać produkt, gdzie &quot;Czy Pozycja Zdjęcie&quot; brzmi &quot;Nie&quot; i &quot;Czy Sales Item&quot; brzmi &quot;Tak&quot;, a nie ma innego Bundle wyrobów",
-Please select Maintenance Status as Completed or remove Completion Date,Wybierz Stan konserwacji jako Zakończony lub usuń datę ukończenia,
-Please select Party Type first,Wybierz typ pierwszy Party,
-Please select Patient,Proszę wybrać Pacjenta,
-Please select Patient to get Lab Tests,"Wybierz pacjenta, aby uzyskać testy laboratoryjne",
-Please select Posting Date before selecting Party,Proszę wybrać Data księgowania przed wybraniem Stronę,
-Please select Posting Date first,Najpierw wybierz zamieszczenia Data,
-Please select Price List,Wybierz Cennik,
-Please select Program,Proszę wybrać Program,
-Please select Qty against item {0},Wybierz Qty przeciwko pozycji {0},
-Please select Sample Retention Warehouse in Stock Settings first,Najpierw wybierz Sample Retention Warehouse w ustawieniach magazynowych,
-Please select Start Date and End Date for Item {0},Wybierz Datę Startu i Zakończenia dla elementu {0},
-Please select Student Admission which is mandatory for the paid student applicant,"Wybierz Wstęp studenta, który jest obowiązkowy dla płatnego studenta",
-Please select a BOM,Wybierz zestawienie materiałów,
-Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,"Wybierz partię dla elementu {0}. Nie można znaleźć pojedynczej partii, która spełnia ten wymóg",
-Please select a Company,Wybierz firmę,
-Please select a batch,Wybierz partię,
-Please select a csv file,Proszę wybrać plik .csv,
-Please select a field to edit from numpad,Proszę wybrać pole do edycji z numpadu,
-Please select a table,Proszę wybrać tabelę,
-Please select a valid Date,Proszę wybrać prawidłową datę,
-Please select a value for {0} quotation_to {1},Proszę wprowadzić wartość dla wyceny {0} {1},
-Please select a warehouse,Proszę wybrać magazyn,
-Please select at least one domain.,Wybierz co najmniej jedną domenę.,
-Please select correct account,Proszę wybrać prawidłową konto,
-Please select date,Proszę wybrać datę,
-Please select item code,Wybierz kod produktu,
-Please select month and year,Wybierz miesiąc i rok,
-Please select prefix first,Wybierz prefiks,
-Please select the Company,Wybierz firmę,
-Please select the Multiple Tier Program type for more than one collection rules.,Wybierz typ programu dla wielu poziomów dla więcej niż jednej reguły zbierania.,
-Please select the assessment group other than 'All Assessment Groups',Proszę wybrać grupę oceniającą inną niż &quot;Wszystkie grupy oceny&quot;,
-Please select the document type first,Najpierw wybierz typ dokumentu,
-Please select weekly off day,Wybierz tygodniowe dni wolne,
-Please select {0},Proszę wybrać {0},
-Please select {0} first,Proszę najpierw wybrać {0},
-Please set 'Apply Additional Discount On',Proszę ustawić &quot;Zastosuj dodatkowe zniżki na &#39;,
-Please set 'Asset Depreciation Cost Center' in Company {0},Proszę ustawić &quot;aktywa Amortyzacja Cost Center&quot; w towarzystwie {0},
-Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Proszę ustaw &#39;wpływ konto / strata na aktywach Spółki w unieszkodliwianie &quot;{0},
-Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Ustaw konto w magazynie {0} lub domyślne konto zapasów w firmie {1},
-Please set B2C Limit in GST Settings.,Ustaw Limit B2C w Ustawieniach GST.,
-Please set Company,Proszę ustawić firmę,
-Please set Company filter blank if Group By is 'Company',"Proszę wyłączyć filtr firmy, jeśli Group By jest &quot;Company&quot;",
-Please set Default Payroll Payable Account in Company {0},Proszę ustawić domyślny Payroll konto płatne w Spółce {0},
-Please set Depreciation related Accounts in Asset Category {0} or Company {1},Proszę ustawić amortyzacyjny dotyczący Konta aktywów z kategorii {0} lub {1} Spółki,
-Please set Email Address,Proszę ustawić adres e-mail,
-Please set GST Accounts in GST Settings,Ustaw Konta GST w Ustawieniach GST,
-Please set Hotel Room Rate on {},Ustaw stawkę hotelową na {},
-Please set Number of Depreciations Booked,Proszę ustawić ilość amortyzacji zarezerwowano,
-Please set Unrealized Exchange Gain/Loss Account in Company {0},Ustaw niezrealizowane konto zysku / straty w firmie {0},
-Please set User ID field in an Employee record to set Employee Role,Proszę ustawić pole ID użytkownika w rekordzie pracownika do roli pracownika zestawu,
-Please set a default Holiday List for Employee {0} or Company {1},Proszę ustawić domyślnej listy wypoczynkowe dla pracowników {0} lub {1} firmy,
-Please set account in Warehouse {0},Ustaw konto w magazynie {0},
-Please set an active menu for Restaurant {0},Ustaw aktywne menu restauracji {0},
-Please set associated account in Tax Withholding Category {0} against Company {1},Ustaw powiązane konto w kategorii U źródła poboru podatku {0} względem firmy {1},
-Please set at least one row in the Taxes and Charges Table,Ustaw co najmniej jeden wiersz w tabeli Podatki i opłaty,
-Please set default Cash or Bank account in Mode of Payment {0},Proszę ustawić domyślne konto Gotówka lub Bank dla płatności typu {0},
-Please set default account in Salary Component {0},Proszę ustawić domyślne konto wynagrodzenia komponentu {0},
-Please set default customer in Restaurant Settings,Ustaw domyślnego klienta w Ustawieniach restauracji,
-Please set default template for Leave Approval Notification in HR Settings.,Ustaw domyślny szablon powiadomienia o pozostawieniu zatwierdzania w Ustawieniach HR.,
-Please set default template for Leave Status Notification in HR Settings.,Ustaw domyślny szablon dla Opuszczania powiadomienia o statusie w Ustawieniach HR.,
-Please set default {0} in Company {1},Proszę ustawić domyślny {0} w towarzystwie {1},
-Please set filter based on Item or Warehouse,Proszę ustawić filtr na podstawie pkt lub magazynie,
-Please set leave policy for employee {0} in Employee / Grade record,Ustaw zasadę urlopu dla pracownika {0} w rekordzie Pracownicy / stanowisko,
-Please set recurring after saving,Proszę ustawić cykliczne po zapisaniu,
-Please set the Company,Proszę ustawić firmę,
-Please set the Customer Address,Ustaw adres klienta,
-Please set the Date Of Joining for employee {0},Proszę ustawić datę dołączenia do pracownika {0},
-Please set the Default Cost Center in {0} company.,Ustaw domyślne miejsce powstawania kosztów w firmie {0}.,
-Please set the Email ID for the Student to send the Payment Request,"Proszę podać identyfikator e-mailowy studenta, aby wysłać żądanie płatności",
-Please set the Item Code first,Proszę najpierw ustawić kod pozycji,
-Please set the Payment Schedule,Ustaw harmonogram płatności,
-Please set the series to be used.,"Ustaw serię, która ma być używana.",
-Please set {0} for address {1},Ustaw {0} na adres {1},
-Please setup Students under Student Groups,Proszę ustawić Studentów w grupach studenckich,
-Please share your feedback to the training by clicking on 'Training Feedback' and then 'New',"Podziel się swoją opinią na szkolenie, klikając link &quot;Szkolenia zwrotne&quot;, a następnie &quot;Nowy&quot;",
-Please specify Company,Sprecyzuj Firmę,
-Please specify Company to proceed,Sprecyzuj firmę aby przejść dalej,
-Please specify a valid 'From Case No.',,
-Please specify a valid Row ID for row {0} in table {1},Proszę podać poprawny identyfikator wiersz dla rzędu {0} w tabeli {1},
-Please specify at least one attribute in the Attributes table,Proszę zaznaczyć co najmniej jeden atrybut w tabeli atrybutów,
-Please specify currency in Company,Proszę określić walutę w Spółce,
-Please specify either Quantity or Valuation Rate or both,Podaj dokładnie Ilość lub Stawkę lub obie,
-Please specify from/to range,Proszę określić zakres od/do,
-Please supply the specified items at the best possible rates,Proszę dostarczyć określone przedmioty w najlepszych możliwych cenach,
-Please update your status for this training event,Proszę zaktualizować swój status w tym szkoleniu,
-Please wait 3 days before resending the reminder.,Poczekaj 3 dni przed ponownym wysłaniem przypomnienia.,
-Point of Sale,Punkt Sprzedaży (POS),
-Point-of-Sale,Punkt sprzedaży,
-Point-of-Sale Profile,Point-of-Sale profil,
-Portal,Portal,
-Portal Settings,Ustawienia,
-Possible Supplier,Dostawca możliwe,
-Postal Expenses,Wydatki pocztowe,
-Posting Date,Data publikacji,
-Posting Date cannot be future date,Data publikacji nie może być datą przyszłą,
-Posting Time,Czas publikacji,
-Posting date and posting time is mandatory,Delegowanie datę i czas delegowania jest obowiązkowe,
-Posting timestamp must be after {0},Datownik musi byś ustawiony przed {0},
-Potential opportunities for selling.,Potencjalne szanse na sprzedaż.,
-Practitioner Schedule,Harmonogram praktyk,
-Pre Sales,Przedsprzedaż,
-Preference,Pierwszeństwo,
-Prescribed Procedures,Zalecane procedury,
-Prescription,Recepta,
-Prescription Dosage,Dawka leku na receptę,
-Prescription Duration,Czas trwania recepty,
-Prescriptions,Recepty,
-Present,Obecny,
-Prev,Poprzedni,
-Preview,Podgląd,
-Preview Salary Slip,Podgląd Zarobki Slip,
-Previous Financial Year is not closed,Poprzedni rok finansowy nie jest zamknięta,
-Price,Cena,
-Price List,Cennik,
-Price List Currency not selected,Nie wybrano Cennika w Walucie,
-Price List Rate,Wartość w cenniku,
-Price List master.,Ustawienia Cennika.,
-Price List must be applicable for Buying or Selling,Cennik musi być przyporządkowany do kupna albo sprzedaży,
-Price List {0} is disabled or does not exist,Cennik {0} jest wyłączona lub nie istnieje,
-Price or product discount slabs are required,Wymagane są płyty cenowe lub rabatowe na produkty,
-Pricing,Ustalanie cen,
-Pricing Rule,Zasada ustalania cen,
-"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Wycena Zasada jest najpierw wybiera się na podstawie ""Zastosuj Na"" polu, które może być pozycja, poz Grupa lub Marka.",
-"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Wycena Zasada jest nadpisanie cennik / określenie procentowego rabatu, w oparciu o pewne kryteria.",
-Pricing Rule {0} is updated,Zaktualizowano regułę cenową {0},
-Pricing Rules are further filtered based on quantity.,Zasady ustalania cen są dalej filtrowane na podstawie ilości.,
-Primary Address Details,Podstawowe dane adresowe,
-Primary Contact Details,Podstawowe dane kontaktowe,
-Principal Amount,Główna kwota,
-Print Format,Format Druku,
-Print IRS 1099 Forms,Drukuj formularze IRS 1099,
-Print Report Card,Wydrukuj kartę raportu,
-Print Settings,Ustawienia drukowania,
-Print and Stationery,Druk i Materiały Biurowe,
-Print settings updated in respective print format,Ustawienia drukowania zaktualizowane w odpowiednim formacie druku,
-Print taxes with zero amount,Drukowanie podatków z zerową kwotą,
-Printing and Branding,Drukowanie i firmowanie,
-Private Equity,Kapitał prywatny,
-Privilege Leave,Nieobecność z przywileju,
-Probation,Wyrok lub staż,
-Probationary Period,Okres próbny,
-Procedure,Procedura,
-Process Day Book Data,Dane książki dnia procesu,
-Process Master Data,Przetwarzaj dane podstawowe,
-Processing Chart of Accounts and Parties,Przetwarzanie planu kont i stron,
-Processing Items and UOMs,Przetwarzanie elementów i UOM,
-Processing Party Addresses,Adresy stron przetwarzających,
-Processing Vouchers,Bony przetwarzające,
-Procurement,Zaopatrzenie,
-Produced Qty,Wytworzona ilość,
-Product,Produkt,
-Product Bundle,Pakiet produktów,
-Product Search,Wyszukiwarka produktów,
-Production,Produkcja,
-Production Item,Pozycja Produkcja,
-Products,Produkty,
-Profit and Loss,Zyski i Straty,
-Profit for the year,Zysk za rok,
-Program,Program,
-Program in the Fee Structure and Student Group {0} are different.,Program w strukturze opłat i grupa studencka {0} są różne.,
-Program {0} does not exist.,Program {0} nie istnieje.,
-Program: ,Program:,
-Progress % for a task cannot be more than 100.,Postęp% dla zadania nie może zawierać więcej niż 100.,
-Project Collaboration Invitation,Projekt zaproszenie Współpraca,
-Project Id,Projekt Id,
-Project Manager,Menadżer projektu,
-Project Name,Nazwa Projektu,
-Project Start Date,Data startu projektu,
-Project Status,Status projektu,
-Project Summary for {0},Podsumowanie projektu dla {0},
-Project Update.,Aktualizacja projektu.,
-Project Value,Wartość projektu,
-Project activity / task.,Czynność / zadanie projektu,
-Project master.,Dyrektor projektu,
-Project-wise data is not available for Quotation,,
-Projected,Prognozowany,
-Projected Qty,Przewidywana ilość,
-Projected Quantity Formula,Formuła przewidywanej ilości,
-Projects,Projekty,
-Property,Właściwość,
-Property already added,Właściwość została już dodana,
-Proposal Writing,Pisanie wniosku,
-Proposal/Price Quote,Propozycja/Oferta cenowa,
-Prospecting,Poszukiwania,
-Provisional Profit / Loss (Credit),Rezerwowy Zysk / Strata (Credit),
-Publications,Publikacje,
-Publish Items on Website,Publikowanie przedmioty na stronie internetowej,
-Published,Opublikowany,
-Publishing,Działalność wydawnicza,
-Purchase,Zakup,
-Purchase Amount,Kwota zakupu,
-Purchase Date,Data zakupu,
-Purchase Invoice,Faktura zakupu,
-Purchase Invoice {0} is already submitted,Faktura zakupu {0} została już wysłana,
-Purchase Manager,Menadżer Zakupów,
-Purchase Master Manager,Główny Menadżer Zakupów,
-Purchase Order,Zamówienie,
-Purchase Order Amount,Kwota zamówienia zakupu,
-Purchase Order Amount(Company Currency),Kwota zamówienia zakupu (waluta firmy),
-Purchase Order Date,Data zamówienia zakupu,
-Purchase Order Items not received on time,Elementy zamówienia zakupu nie zostały dostarczone na czas,
-Purchase Order number required for Item {0},Numer Zamówienia Kupna wymagany do {0},
-Purchase Order to Payment,Zamówienie zakupu do płatności,
-Purchase Order {0} is not submitted,Zamówienia Kupna {0} nie zostało wysłane,
-Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Zlecenia zakupu nie są dozwolone w {0} z powodu karty wyników {1}.,
-Purchase Orders given to Suppliers.,Zamówienia Kupna dane Dostawcom,
-Purchase Price List,Cennik zakupowy,
-Purchase Receipt,Potwierdzenie zakupu,
-Purchase Receipt {0} is not submitted,Potwierdzenie zakupu {0} nie zostało wysłane,
-Purchase Tax Template,Szablon podatkowy zakupów,
-Purchase User,Zakup użytkownika,
-Purchase orders help you plan and follow up on your purchases,Zamówienia pomoże Ci zaplanować i śledzić na zakupy,
-Purchasing,Dostawy,
-Purpose must be one of {0},Cel musi być jednym z {0},
-Qty,Ilość,
-Qty To Manufacture,Ilość do wyprodukowania,
-Qty Total,Ilość całkowita,
-Qty for {0},Ilość dla {0},
-Qualification,Kwalifikacja,
-Quality,Jakość,
-Quality Action,Akcja jakości,
-Quality Goal.,Cel jakości.,
-Quality Inspection,Kontrola jakości,
-Quality Inspection: {0} is not submitted for the item: {1} in row {2},Kontrola jakości: {0} nie jest przesyłany dla przedmiotu: {1} w wierszu {2},
-Quality Management,Zarządzanie jakością,
-Quality Meeting,Spotkanie jakościowe,
-Quality Procedure,Procedura jakości,
-Quality Procedure.,Procedura jakości.,
-Quality Review,Przegląd jakości,
-Quantity,Ilość,
-Quantity for Item {0} must be less than {1},Ilość dla przedmiotu {0} musi być mniejsza niż {1},
-Quantity in row {0} ({1}) must be same as manufactured quantity {2},Ilość w rzędzie  {0} ({1}) musi być taka sama jak wyprodukowana ilość {2},
-Quantity must be less than or equal to {0},Ilość musi być mniejsze niż lub równe {0},
-Quantity must not be more than {0},Ilość nie może być większa niż {0},
-Quantity required for Item {0} in row {1},Ilość wymagana dla Przedmiotu {0} w rzędzie {1},
-Quantity should be greater than 0,Ilość powinna być większa niż 0,
-Quantity to Make,Ilość do zrobienia,
-Quantity to Manufacture must be greater than 0.,Ilość do produkcji musi być większy niż 0 ° C.,
-Quantity to Produce,Ilość do wyprodukowania,
-Quantity to Produce can not be less than Zero,Ilość do wyprodukowania nie może być mniejsza niż zero,
-Query Options,Opcje Zapytania,
-Queued for replacing the BOM. It may take a few minutes.,W kolejce do zastąpienia BOM. Może to potrwać kilka minut.,
-Queued for updating latest price in all Bill of Materials. It may take a few minutes.,Usługa kolejkowania aktualizacji najnowszej ceny we wszystkich materiałach. Może potrwać kilka minut.,
-Quick Journal Entry,Szybkie Księgowanie,
-Quot Count,Quot Count,
-Quot/Lead %,Kwota / kwota procentowa,
-Quotation,Wycena,
-Quotation {0} is cancelled,Oferta {0} jest anulowana,
-Quotation {0} not of type {1},Oferta {0} nie jest typem {1},
-Quotations,Notowania,
-"Quotations are proposals, bids you have sent to your customers","Notowania są propozycje, oferty Wysłane do klientów",
-Quotations received from Suppliers.,Wyceny otrzymane od dostawców,
-Quotations: ,Cytaty:,
-Quotes to Leads or Customers.,Wycena dla Tropów albo Klientów,
-RFQs are not allowed for {0} due to a scorecard standing of {1},Zlecenia RFQ nie są dozwolone w {0} z powodu karty wyników {1},
-Range,Przedział,
-Rate,Stawka,
-Rate:,Oceniać:,
-Rating,Ocena,
-Raw Material,Surowiec,
-Raw Materials,Surowy materiał,
-Raw Materials cannot be blank.,Surowce nie może być puste.,
-Re-open,Otwórz ponownie,
-Read blog,Czytaj blog,
-Read the ERPNext Manual,Przeczytać instrukcję ERPNext,
-Reading Uploaded File,Odczyt przesłanego pliku,
-Real Estate,Nieruchomości,
-Reason For Putting On Hold,Powód do zawieszenia,
-Reason for Hold,Powód wstrzymania,
-Reason for hold: ,Powód wstrzymania:,
-Receipt,Paragon,
-Receipt document must be submitted,Otrzymanie dokumentu należy składać,
-Receivable,Należności,
-Receivable Account,Konto Należności,
-Received,Otrzymano,
-Received On,Otrzymana w dniu,
-Received Quantity,Otrzymana ilość,
-Received Stock Entries,Otrzymane wpisy giełdowe,
-Receiver List is empty. Please create Receiver List,Lista odbiorców jest pusta. Proszę stworzyć Listę Odbiorców,
-Recipients,Adresaci,
-Reconcile,Uzgodnij,
-"Record of all communications of type email, phone, chat, visit, etc.","Zapis wszystkich komunikatów typu e-mail, telefon, czat, wizyty, itd",
-Records,Dokumentacja,
-Redirect URL,przekierowanie,
-Ref,Ref,
-Ref Date,Ref Data,
-Reference,Referencja,
-Reference #{0} dated {1},Odnośnik #{0} z datą {1},
-Reference Date,Data Odniesienia,
-Reference Doctype must be one of {0},Doctype referencyjny musi być jednym z {0},
-Reference Document,Dokument referencyjny,
-Reference Document Type,Oznaczenie typu dokumentu,
-Reference No & Reference Date is required for {0},Nr Odniesienia & Data Odniesienia jest wymagana do {0},
-Reference No and Reference Date is mandatory for Bank transaction,Numer referencyjny i data jest obowiązkowe dla transakcji Banku,
-Reference No is mandatory if you entered Reference Date,Nr Odniesienia jest obowiązkowy jest wprowadzono Datę Odniesienia,
-Reference No.,Nr referencyjny.,
-Reference Number,Numer Odniesienia,
-Reference Owner,Odniesienie Właściciel,
-Reference Type,Typ Odniesienia,
-"Reference: {0}, Item Code: {1} and Customer: {2}","Odniesienie: {0}, Kod pozycji: {1} i klient: {2}",
-References,Referencje,
-Refresh Token,Odśwież Reklamowe,
-Region,Region,
-Register,Zarejestrować,
-Reject,Odrzucać,
-Rejected,Odrzucono,
-Related,Związane z,
-Relation with Guardian1,Relacja z Guardian1,
-Relation with Guardian2,Relacja z Guardian2,
-Release Date,Data wydania,
-Reload Linked Analysis,Przeładuj połączoną analizę,
-Remaining,Pozostały,
-Remaining Balance,Pozostałe saldo,
-Remarks,Uwagi,
-Reminder to update GSTIN Sent,Przypomnienie o aktualizacji GSTIN wysłanych,
-Remove item if charges is not applicable to that item,"Usuń element, jeśli opłata nie ma zastosowania do tej pozycji",
-Removed items with no change in quantity or value.,Usunięte pozycje bez zmian w ilości lub wartości.,
-Reopen,Otworzyć na nowo,
-Reorder Level,Poziom Uporządkowania,
-Reorder Qty,Ilość do ponownego zamówienia,
-Repeat Customer Revenue,Powtórz Przychody klienta,
-Repeat Customers,Powtarzający się klient,
-Replace BOM and update latest price in all BOMs,Zastąp BOM i zaktualizuj ostatnią cenę we wszystkich materiałach,
-Replied,Odpowiedziane,
-Replies,Odpowiedzi,
-Report,Raport,
-Report Builder,Kreator raportów,
-Report Type,Typ raportu,
-Report Type is mandatory,Typ raportu jest wymagany,
-Reports,Raporty,
-Reqd By Date,Data realizacji,
-Reqd Qty,Wymagana ilość,
-Request for Quotation,Zapytanie ofertowe,
-Request for Quotations,Zapytanie o cenę,
-Request for Raw Materials,Zapytanie o surowce,
-Request for purchase.,Prośba o zakup,
-Request for quotation.,Zapytanie ofertowe.,
-Requested Qty,,
-"Requested Qty: Quantity requested for purchase, but not ordered.",,
-Requesting Site,Strona żądająca,
-Requesting payment against {0} {1} for amount {2},Żądanie zapłatę przed {0} {1} w ilości {2},
-Requestor,Żądający,
-Required On,Wymagane na,
-Required Qty,Wymagana ilość,
-Required Quantity,Wymagana ilość,
-Reschedule,Zmień harmonogram,
-Research,Badania,
-Research & Development,Badania i Rozwój,
-Researcher,Researcher,
-Resend Payment Email,Wyślij ponownie płatności E-mail,
-Reserve Warehouse,Reserve Warehouse,
-Reserved Qty,Zarezerwowana ilość,
-Reserved Qty for Production,Reserved Ilość Produkcji,
-Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Zarezerwowane Ilość na produkcję: Ilość surowców do produkcji artykułów.,
-"Reserved Qty: Quantity ordered for sale, but not delivered.",,
-Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Magazyn Reserved jest obowiązkowy dla Produktu {0} w dostarczonych Surowcach,
-Reserved for manufacturing,Zarezerwowana dla produkcji,
-Reserved for sale,Zarezerwowane na sprzedaż,
-Reserved for sub contracting,Zarezerwowany dla podwykonawców,
-Resistant,Odporny,
-Resolve error and upload again.,Rozwiąż błąd i prześlij ponownie.,
-Responsibilities,Obowiązki,
-Rest Of The World,Reszta świata,
-Restart Subscription,Ponownie uruchom subskrypcję,
-Restaurant,Restauracja,
-Result Date,Data wyniku,
-Result already Submitted,Wynik już przesłany,
-Resume,Wznawianie,
-Retail,Detal,
-Retail & Wholesale,Hurt i Detal,
-Retail Operations,Operacje detaliczne,
-Retained Earnings,Zysk z lat ubiegłych,
-Retention Stock Entry,Wpis do magazynu retencyjnego,
-Retention Stock Entry already created or Sample Quantity not provided,Wpis zapasu retencji już utworzony lub nie podano próbki próbki,
-Return,Powrót,
-Return / Credit Note,Powrót / Credit Note,
-Return / Debit Note,Powrót / noty obciążeniowej,
-Returns,zwroty,
-Reverse Journal Entry,Reverse Journal Entry,
-Review Invitation Sent,Wysłane zaproszenie do recenzji,
-Review and Action,Recenzja i działanie,
-Role,Rola,
-Rooms Booked,Pokoje zarezerwowane,
-Root Company,Firma główna,
-Root Type,Typ Root,
-Root Type is mandatory,Typ Root jest obowiązkowy,
-Root cannot be edited.,Root nie może być edytowany,
-Root cannot have a parent cost center,Root nie może mieć rodzica w centrum kosztów,
-Round Off,Zaokrąglenia,
-Rounded Total,Końcowa zaokrąglona kwota,
-Route,Trasa,
-Row # {0}: ,Wiersz # {0}:,
-Row # {0}: Batch No must be same as {1} {2},"Wiersz # {0}: Batch Nie musi być taki sam, jak {1} {2}",
-Row # {0}: Cannot return more than {1} for Item {2},Wiersz # {0}: Nie można wrócić więcej niż {1} dla pozycji {2},
-Row # {0}: Rate cannot be greater than the rate used in {1} {2},Wiersz {0}: stawka nie może być większa niż stawka stosowana w {1} {2},
-Row # {0}: Serial No is mandatory,Wiersz # {0}: Numer seryjny jest obowiązkowe,
-Row # {0}: Serial No {1} does not match with {2} {3},Wiersz # {0}: Numer seryjny: {1} nie jest zgodny z {2} {3},
-Row #{0} (Payment Table): Amount must be negative,Wiersz nr {0} (tabela płatności): kwota musi być ujemna,
-Row #{0} (Payment Table): Amount must be positive,Wiersz nr {0} (tabela płatności): kwota musi być dodatnia,
-Row #{0}: Account {1} does not belong to company {2},Wiersz nr {0}: konto {1} nie należy do firmy {2},
-Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Wiersz {0}: alokowana kwota nie może być większa niż kwota pozostająca do spłaty.,
-"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Wiersz # {0}: {1} aktywami nie mogą być składane, jest już {2}",
-Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,"Wiersz nr {0}: nie można ustawić wartości Rate, jeśli kwota jest większa niż kwota rozliczona dla elementu {1}.",
-Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Wiersz # {0}: Data Rozliczenie {1} nie może być wcześniejsza niż data Czek {2},
-Row #{0}: Duplicate entry in References {1} {2},Wiersz # {0}: Duplikuj wpis w odsyłaczach {1} {2},
-Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Wiersz # {0}: oczekiwana data dostarczenia nie może być poprzedzona datą zamówienia zakupu,
-Row #{0}: Item added,Wiersz # {0}: element dodany,
-Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Wiersz # {0}: Journal Entry {1} nie masz konta {2} lub już porównywana z innym kuponie,
-Row #{0}: Not allowed to change Supplier as Purchase Order already exists,"Wiersz # {0}: Nie wolno zmienić dostawcę, jak już istnieje Zamówienie",
-Row #{0}: Please set reorder quantity,Wiersz # {0}: Proszę ustawić ilość zmienić kolejność,
-Row #{0}: Please specify Serial No for Item {1},Wiersz # {0}: Proszę podać nr seryjny dla pozycji {1},
-Row #{0}: Qty increased by 1,Wiersz # {0}: Ilość zwiększona o 1,
-Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,"Wiersz # {0}: Cena musi być taki sam, jak {1}: {2} ({3} / {4})",
-Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Wiersz # {0}: Typ dokumentu referencyjnego musi być jednym z wydatków roszczenia lub wpisu do dziennika,
-"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Wiersz # {0}: Reference Document Type musi być jednym z Zamówieniem, faktura zakupu lub Journal Entry",
-Row #{0}: Rejected Qty can not be entered in Purchase Return,Wiersz # {0}: Odrzucone Ilość nie może być wprowadzone w Purchase Powrót,
-Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Wiersz # {0}: Odrzucone Magazyn jest obowiązkowe przed odrzucony poz {1},
-Row #{0}: Reqd by Date cannot be before Transaction Date,Wiersz nr {0}: Data realizacji nie może być wcześniejsza od daty transakcji,
-Row #{0}: Set Supplier for item {1},Wiersz # {0}: Ustaw Dostawca dla pozycji {1},
-Row #{0}: Status must be {1} for Invoice Discounting {2},Wiersz # {0}: status musi być {1} dla rabatu na faktury {2},
-"Row #{0}: The batch {1} has only {2} qty. Please select another batch which has {3} qty available or split the row into multiple rows, to deliver/issue from multiple batches","Wiersz # {0}: partia {1} ma tylko {2} qty. Wybierz inną partię, która ma {3} qty dostępną lub podzielisz wiersz na wiele wierszy, aby dostarczyć / wydać z wielu partii",
-Row #{0}: Timings conflicts with row {1},Wiersz # {0}: taktowania konflikty z rzędu {1},
-Row #{0}: {1} can not be negative for item {2},Wiersz # {0}: {1} nie może być negatywne dla pozycji {2},
-Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Wiersz nr {0}: Kwota nie może być większa niż oczekiwaniu Kwota wobec Kosztów zastrzeżenia {1}. W oczekiwaniu Kwota jest {2},
-Row {0} : Operation is required against the raw material item {1},Wiersz {0}: operacja jest wymagana względem elementu surowcowego {1},
-Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2},Wiersz {0} # Przydzielona kwota {1} nie może być większa od kwoty nieodebranej {2},
-Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},Wiersz {0} # Element {1} nie może zostać przeniesiony więcej niż {2} na zamówienie {3},
-Row {0}# Paid Amount cannot be greater than requested advance amount,Wiersz {0} # Płatna kwota nie może być większa niż żądana kwota zaliczki,
-Row {0}: Activity Type is mandatory.,Wiersz {0}: Typ aktywny jest obowiązkowe.,
-Row {0}: Advance against Customer must be credit,Wiersz {0}: Zaliczka  Klienta jest po stronie kredytowej,
-Row {0}: Advance against Supplier must be debit,Wiersz {0}: Zaliczka Dostawcy jest po stronie debetowej,
-Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Wiersz {0}: Przyznana kwota {1} musi być mniejsza lub równa kwocie Entry Płatność {2},
-Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Wiersz {0}: Przyznana kwota {1} musi być mniejsza lub równa pozostałej kwoty faktury {2},
-Row {0}: An Reorder entry already exists for this warehouse {1},"Wiersz {0}: Zapis ponownego zamawiania dla tego magazynu, {1}",
-Row {0}: Bill of Materials not found for the Item {1},Wiersz {0}: Bill of Materials nie znaleziono Item {1},
-Row {0}: Conversion Factor is mandatory,Wiersz {0}: Współczynnik konwersji jest obowiązkowe,
-Row {0}: Cost center is required for an item {1},Wiersz {0}: wymagany jest koszt centrum dla elementu {1},
-Row {0}: Credit entry can not be linked with a {1},Wiersz {0}: wejście kredytowe nie mogą być powiązane z {1},
-Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Wiersz {0}: Waluta BOM # {1} powinna być równa wybranej walucie {2},
-Row {0}: Debit entry can not be linked with a {1},Wiersz {0}: Debit wpis nie może być związana z {1},
-Row {0}: Depreciation Start Date is required,Wiersz {0}: Wymagana data rozpoczęcia amortyzacji,
-Row {0}: Enter location for the asset item {1},Wiersz {0}: wpisz lokalizację dla elementu zasobu {1},
-Row {0}: Exchange Rate is mandatory,Wiersz {0}: Kurs wymiany jest obowiązkowe,
-Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Wiersz {0}: oczekiwana wartość po przydatności musi być mniejsza niż kwota zakupu brutto,
-Row {0}: From Time and To Time is mandatory.,Wiersz {0}: od czasu do czasu i jest obowiązkowe.,
-Row {0}: From Time and To Time of {1} is overlapping with {2},Wiersz {0}: od czasu do czasu i od {1} pokrywa się z {2},
-Row {0}: From time must be less than to time,Wiersz {0}: Od czasu musi być mniej niż do czasu,
-Row {0}: Hours value must be greater than zero.,Wiersz {0}: Godziny wartość musi być większa od zera.,
-Row {0}: Invalid reference {1},Wiersz {0}: Nieprawidłowy odniesienia {1},
-Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Wiersz {0}: Party / konto nie jest zgodny z {1} / {2} w {3} {4},
-Row {0}: Party Type and Party is required for Receivable / Payable account {1},Wiersz {0}: Typ i Partia Partia jest wymagane w przypadku otrzymania / rachunku Płatne {1},
-Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Wiersz {0}: Płatność przeciwko sprzedaży / Zamówienia powinny być zawsze oznaczone jako góry,
-Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,"Wiersz {0}: Proszę sprawdzić ""Czy Advance"" przeciw konta {1}, jeśli jest to zaliczka wpis.",
-Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Wiersz {0}: należy ustawić w Powodzie zwolnienia z podatku w podatkach od sprzedaży i opłatach,
-Row {0}: Please set the Mode of Payment in Payment Schedule,Wiersz {0}: ustaw tryb płatności w harmonogramie płatności,
-Row {0}: Please set the correct code on Mode of Payment {1},Wiersz {0}: ustaw prawidłowy kod w trybie płatności {1},
-Row {0}: Qty is mandatory,Wiersz {0}: Ilość jest obowiązkowe,
-Row {0}: Quality Inspection rejected for item {1},Wiersz {0}: Kontrola jakości odrzucona dla elementu {1},
-Row {0}: UOM Conversion Factor is mandatory,Wiersz {0}: JM Współczynnik konwersji jest obowiązkowe,
-Row {0}: select the workstation against the operation {1},Wiersz {0}: wybierz stację roboczą w stosunku do operacji {1},
-Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Wiersz {0}: {1} wymagane numery seryjne dla elementu {2}. Podałeś {3}.,
-Row {0}: {1} must be greater than 0,Wiersz {0}: {1} musi być większy niż 0,
-Row {0}: {1} {2} does not match with {3},Wiersz {0}: {1} {2} nie zgadza się z {3},
-Row {0}:Start Date must be before End Date,Wiersz {0}: Data Początku musi być przed Datą Końca,
-Rows with duplicate due dates in other rows were found: {0},Znaleziono wiersze z powtarzającymi się datami w innych wierszach: {0},
-Rules for adding shipping costs.,Zasady naliczania kosztów transportu.,
-Rules for applying pricing and discount.,Zasady określania cen i zniżek,
-S.O. No.,,
-SGST Amount,Kwota SGST,
-SO Qty,,
-Safety Stock,Bezpieczeństwo Zdjęcie,
-Salary,Wynagrodzenia,
-Salary Slip ID,Wynagrodzenie Slip ID,
-Salary Slip of employee {0} already created for this period,Wynagrodzenie Slip pracownika {0} już stworzony dla tego okresu,
-Salary Slip of employee {0} already created for time sheet {1},Slip Wynagrodzenie pracownika {0} już stworzony dla arkusza czasu {1},
-Salary Slip submitted for period from {0} to {1},Przesłane wynagrodzenie za okres od {0} do {1},
-Salary Structure Assignment for Employee already exists,Przydział struktury wynagrodzeń dla pracownika już istnieje,
-Salary Structure Missing,Struktura Wynagrodzenie Brakujący,
-Salary Structure must be submitted before submission of Tax Ememption Declaration,Struktura wynagrodzeń musi zostać złożona przed złożeniem deklaracji zwolnienia podatkowego,
-Salary Structure not found for employee {0} and date {1},Nie znaleziono struktury wynagrodzenia dla pracownika {0} i daty {1},
-Salary Structure should have flexible benefit component(s) to dispense benefit amount,Struktura wynagrodzeń powinna mieć elastyczny składnik (-y) świadczeń w celu przyznania kwoty świadczenia,
-"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.",Wynagrodzenie już przetwarzane w okresie od {0} i {1} Zostaw okresu stosowania nie może być pomiędzy tym zakresie dat.,
-Sales,Sprzedaż,
-Sales Account,Konto sprzedaży,
-Sales Expenses,Koszty sprzedaży,
-Sales Funnel,Lejek sprzedaży,
-Sales Invoice,Faktura sprzedaży,
-Sales Invoice {0} has already been submitted,Faktura Sprzedaży {0} została już wprowadzona,
-Sales Invoice {0} must be cancelled before cancelling this Sales Order,Faktura Sprzedaży {0} powinna być anulowana przed anulowaniem samego Zlecenia Sprzedaży,
-Sales Manager,Menadżer Sprzedaży,
-Sales Master Manager,Główny Menadżer Sprzedaży,
-Sales Order,Zlecenie sprzedaży,
-Sales Order Item,Pozycja Zlecenia Sprzedaży,
-Sales Order required for Item {0},Zlecenie Sprzedaży jest wymagane dla Elementu {0},
-Sales Order to Payment,Płatności do zamówienia sprzedaży,
-Sales Order {0} is not submitted,Zlecenie Sprzedaży {0} nie jest jeszcze złożone,
-Sales Order {0} is not valid,Zlecenie Sprzedaży {0} jest niepoprawne,
-Sales Order {0} is {1},Zamówienie sprzedaży jest {0} {1},
-Sales Orders,Zlecenia sprzedaży,
-Sales Partner,Partner Sprzedaży,
-Sales Pipeline,Pipeline sprzedaży,
-Sales Price List,Lista cena sprzedaży,
-Sales Return,Zwrot sprzedaży,
-Sales Summary,Podsumowanie sprzedaży,
-Sales Tax Template,Szablon Podatek od sprzedaży,
-Sales Team,Team Sprzedażowy,
-Sales User,Sprzedaż użytkownika,
-Sales and Returns,Sprzedaż i zwroty,
-Sales campaigns.,Kampanie sprzedażowe,
-Sales orders are not available for production,Zamówienia sprzedaży nie są dostępne do produkcji,
-Salutation,Forma grzecznościowa,
-Same Company is entered more than once,Ta sama Spółka wpisana jest więcej niż jeden raz,
-Same item cannot be entered multiple times.,Sama pozycja nie może być wprowadzone wiele razy.,
-Same supplier has been entered multiple times,"Tego samego dostawcy, który został wpisany wielokrotnie",
-Sample,Próba,
-Sample Collection,Kolekcja próbek,
-Sample quantity {0} cannot be more than received quantity {1},Ilość próbki {0} nie może być większa niż ilość odebranej {1},
-Sanctioned,usankcjonowane,
-Sanctioned Amount,Zatwierdzona Kwota,
-Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Usankcjonowane Kwota nie może być większa niż ilość roszczenia w wierszu {0}.,
-Sand,Piasek,
-Saturday,Sobota,
-Saved,Zapisane,
-Saving {0},Zapisywanie {0},
-Scan Barcode,Skanuj kod kreskowy,
-Schedule,Harmonogram,
-Schedule Admission,Zaplanuj wstęp,
-Schedule Course,Plan zajęć,
-Schedule Date,Planowana Data,
-Schedule Discharge,Zaplanuj rozładowanie,
-Scheduled,Zaplanowane,
-Scheduled Upto,Zaplanowane Upto,
-"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Harmonogramy nakładek {0}, czy chcesz kontynuować po przejściu przez zakładki?",
-Score cannot be greater than Maximum Score,Wynik nie może być większa niż maksymalna liczba punktów,
-Score must be less than or equal to 5,Wynik musi być niższy lub równy 5,
-Scorecards,Karty wyników,
-Scrapped,Złomowany,
-Search,Szukaj,
-Search Results,Wyniki wyszukiwania,
-Search Sub Assemblies,Zespoły Szukaj Sub,
-"Search by item code, serial number, batch no or barcode","Wyszukaj według kodu produktu, numeru seryjnego, numeru partii lub kodu kreskowego",
-"Seasonality for setting budgets, targets etc.","Sezonowość ustalania budżetów, cele itd.",
-Secret Key,Sekretny klucz,
-Secretary,Sekretarka,
-Section Code,Kod sekcji,
-Secured Loans,Kredyty Hipoteczne,
-Securities & Commodity Exchanges,Papiery i Notowania Giełdowe,
-Securities and Deposits,Papiery wartościowe i depozyty,
-See All Articles,Zobacz wszystkie artykuły,
-See all open tickets,Zobacz wszystkie otwarte bilety,
-See past orders,Zobacz poprzednie zamówienia,
-See past quotations,Zobacz poprzednie cytaty,
-Select,Wybierz,
-Select Alternate Item,Wybierz opcję Alternatywny przedmiot,
-Select Attribute Values,Wybierz wartości atrybutów,
-Select BOM,Wybierz BOM,
-Select BOM and Qty for Production,Wybierz BOM i ilosc Produkcji,
-"Select BOM, Qty and For Warehouse","Wybierz LM, ilość i magazyn",
-Select Batch,Wybierz opcję Batch,
-Select Batch Numbers,Wybierz numery partii,
-Select Brand...,Wybierz markę ...,
-Select Company,Wybierz firmę,
-Select Company...,Wybierz firmą ...,
-Select Customer,Wybierz klienta,
-Select Days,Wybierz dni,
-Select Default Supplier,Wybierz Domyślne Dostawca,
-Select DocType,Wybierz DocType,
-Select Fiscal Year...,Wybierz rok finansowy ...,
-Select Item (optional),Wybierz pozycję (opcjonalnie),
-Select Items based on Delivery Date,Wybierz pozycje w oparciu o datę dostarczenia,
-Select Items to Manufacture,Wybierz produkty do Manufacture,
-Select Loyalty Program,Wybierz program lojalnościowy,
-Select Patient,Wybierz pacjenta,
-Select Possible Supplier,Wybierz Możliwa Dostawca,
-Select Property,Wybierz właściwość,
-Select Quantity,Wybierz ilość,
-Select Serial Numbers,Wybierz numery seryjne,
-Select Target Warehouse,Wybierz Magazyn docelowy,
-Select Warehouse...,Wybierz magazyn ...,
-Select an account to print in account currency,Wybierz konto do wydrukowania w walucie konta,
-Select an employee to get the employee advance.,"Wybierz pracownika, aby uzyskać awans pracownika.",
-Select at least one value from each of the attributes.,Wybierz co najmniej jedną wartość z każdego z atrybutów.,
-Select change amount account,Wybierz opcję Zmień konto kwotę,
-Select company first,Najpierw wybierz firmę,
-Select students manually for the Activity based Group,Wybierz uczniów ręcznie dla grupy działań,
-Select the customer or supplier.,Wybierz klienta lub dostawcę.,
-Select the nature of your business.,Wybierz charakteru swojej działalności.,
-Select the program first,Najpierw wybierz program,
-Select to add Serial Number.,"Wybierz, aby dodać numer seryjny.",
-Select your Domains,Wybierz swoje domeny,
-Selected Price List should have buying and selling fields checked.,Wybrany cennik powinien mieć sprawdzone pola kupna i sprzedaży.,
-Sell,Sprzedać,
-Selling,Sprzedaż,
-Selling Amount,Kwota sprzedaży,
-Selling Price List,Cennik sprzedaży,
-Selling Rate,Kurs sprzedaży,
-"Selling must be checked, if Applicable For is selected as {0}","Sprzedaż musi być sprawdzona, jeśli dotyczy wybrano jako {0}",
-Send Grant Review Email,Wyślij wiadomość e-mail dotyczącą oceny grantu,
-Send Now,Wyślij teraz,
-Send SMS,Wyślij SMS,
-Send mass SMS to your contacts,Wyślij zbiorczo sms do swoich kontaktów,
-Sensitivity,Wrażliwość,
-Sent,Wysłano,
-Serial No and Batch,Numer seryjny oraz Batch,
-Serial No is mandatory for Item {0},Nr seryjny jest obowiązkowy dla pozycji {0},
-Serial No {0} does not belong to Batch {1},Numer seryjny {0} nie należy do partii {1},
-Serial No {0} does not belong to Delivery Note {1},Nr seryjny {0} nie należy do żadnego potwierdzenia dostawy {1},
-Serial No {0} does not belong to Item {1},Nr seryjny {0} nie należy do żadnej rzeczy {1},
-Serial No {0} does not belong to Warehouse {1},Nr seryjny {0} nie należy do magazynu {1},
-Serial No {0} does not belong to any Warehouse,Nr seryjny: {0} nie należy do żadnego Magazynu,
-Serial No {0} does not exist,Nr seryjny {0} nie istnieje,
-Serial No {0} has already been received,Nr seryjny {0} otrzymano,
-Serial No {0} is under maintenance contract upto {1},Nr seryjny {0} w ramach umowy serwisowej do {1},
-Serial No {0} is under warranty upto {1},Nr seryjny {0} w ramach gwarancji do {1},
-Serial No {0} not found,Nr seryjny {0} nie znaleziono,
-Serial No {0} not in stock,,
-Serial No {0} quantity {1} cannot be a fraction,Nr seryjny {0} dla ilości {1} nie może być ułamkiem,
-Serial Nos Required for Serialized Item {0},Nr-y seryjne Wymagane do szeregowania pozycji {0},
-Serial Number: {0} is already referenced in Sales Invoice: {1},Numer seryjny: {0} znajduje się już w fakturze sprzedaży: {1},
-Serial Numbers,Numer seryjny,
-Serial Numbers in row {0} does not match with Delivery Note,Numery seryjne w wierszu {0} nie pasują do opisu dostawy,
-Serial no {0} has been already returned,Numer seryjny {0} został już zwrócony,
-Serial number {0} entered more than once,Nr seryjny {0} wprowadzony jest więcej niż jeden raz,
-Serialized Inventory,Inwentaryzacja w odcinkach,
-Series Updated,Aktualizacja serii,
-Series Updated Successfully,Seria zaktualizowana,
-Series is mandatory,Serie jest obowiązkowa,
-Series {0} already used in {1},Seria {0} już zostały użyte w {1},
-Service,Usługa,
-Service Expense,Koszty usługi,
-Service Level Agreement,Umowa o poziomie usług,
-Service Level Agreement.,Umowa o poziomie usług.,
-Service Level.,Poziom usług.,
-Service Stop Date cannot be after Service End Date,Data zatrzymania usługi nie może być późniejsza niż data zakończenia usługi,
-Service Stop Date cannot be before Service Start Date,Data zatrzymania usługi nie może być wcześniejsza niż data rozpoczęcia usługi,
-Services,Usługi,
-"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Ustaw wartości domyślne jak firma, waluta, bieżący rok rozliczeniowy, itd.",
-Set Details,Ustaw szczegóły,
-Set New Release Date,Ustaw nową datę wydania,
-Set Project and all Tasks to status {0}?,Ustaw projekt i wszystkie zadania na status {0}?,
-Set Status,Ustaw status,
-Set Tax Rule for shopping cart,Ustaw regułę podatkowa do koszyka,
-Set as Closed,Ustaw jako Zamknięty,
-Set as Completed,Ustaw jako ukończone,
-Set as Default,Ustaw jako domyślne,
-Set as Lost,Ustaw jako utracony,
-Set as Open,Ustaw jako otwarty,
-Set default inventory account for perpetual inventory,Ustaw domyślne konto zapasów dla zasobów reklamowych wieczystych,
-Set this if the customer is a Public Administration company.,"Ustaw to, jeśli klient jest firmą administracji publicznej.",
-Set {0} in asset category {1} or company {2},Ustaw {0} w kategorii aktywów {1} lub firmie {2},
-"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Ustawianie zdarzenia do {0}, ponieważ urzędnik dołączone do sprzedaży poniżej osób nie posiada identyfikator użytkownika {1}",
-Setting defaults,Ustawianie wartości domyślnych,
-Setting up Email,Konfiguracja e-mail,
-Setting up Email Account,Konfigurowanie konta e-mail,
-Setting up Employees,Ustawienia pracowników,
-Setting up Taxes,Konfigurowanie podatki,
-Setting up company,Zakładanie firmy,
-Settings,Ustawienia,
-"Settings for online shopping cart such as shipping rules, price list etc.","Ustawienia dla internetowego koszyka, takie jak zasady żeglugi, cennika itp",
-Settings for website homepage,Ustawienia strony głównej,
-Settings for website product listing,Ustawienia listy produktów w witrynie,
-Settled,Osiadły,
-Setup Gateway accounts.,Rachunki konfiguracji bramy.,
-Setup SMS gateway settings,Konfiguracja ustawień bramki SMS,
-Setup cheque dimensions for printing,Wymiary Sprawdź konfigurację do druku,
-Setup default values for POS Invoices,Ustaw wartości domyślne dla faktur POS,
-Setup mode of POS (Online / Offline),Tryb konfiguracji POS (Online / Offline),
-Setup your Institute in ERPNext,Skonfiguruj swój instytut w ERPNext,
-Share Balance,Udostępnij saldo,
-Share Ledger,Udostępnij Księgę,
-Share Management,Zarządzanie udziałami,
-Share Transfer,Udostępnij przelew,
-Share Type,Rodzaj udziału,
-Shareholder,Akcjonariusz,
-Ship To State,Ship To State,
-Shipments,Przesyłki,
-Shipping,Wysyłka,
-Shipping Address,Adres dostawy,
-"Shipping Address does not have country, which is required for this Shipping Rule","Adres wysyłki nie ma kraju, który jest wymagany dla tej reguły wysyłki",
-Shipping rule only applicable for Buying,Zasada wysyłki ma zastosowanie tylko do zakupów,
-Shipping rule only applicable for Selling,Reguła wysyłki dotyczy tylko sprzedaży,
-Shopify Supplier,Shopify dostawca,
-Shopping Cart,Koszyk,
-Shopping Cart Settings,Ustawienia koszyka,
-Short Name,Skrócona nazwa,
-Shortage Qty,Niedobór szt,
-Show Completed,Pokaż ukończone,
-Show Cumulative Amount,Pokaż łączną kwotę,
-Show Employee,Pokaż pracownika,
-Show Open,Pokaż otwarta,
-Show Opening Entries,Pokaż otwierające wpisy,
-Show Payment Details,Pokaż szczegóły płatności,
-Show Return Entries,Pokaż wpisy zwrotne,
-Show Salary Slip,Slip Pokaż Wynagrodzenie,
-Show Variant Attributes,Pokaż atrybuty wariantu,
-Show Variants,Pokaż warianty,
-Show closed,Pokaż closed,
-Show exploded view,Pokaż widok rozstrzelony,
-Show only POS,Pokaż tylko POS,
-Show unclosed fiscal year's P&L balances,Pokaż niezamkniętych rok obrotowy za P &amp; L sald,
-Show zero values,Pokaż wartości zerowe,
-Sick Leave,Urlop Chorobowy,
-Silt,Muł,
-Single Variant,Pojedynczy wariant,
-Single unit of an Item.,Jednostka produktu.,
-"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Pomijanie Zostaw alokację dla następujących pracowników, ponieważ rekordy Urlop alokacji już istnieją przeciwko nim. {0}",
-"Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}","Pomijanie przydziału struktury wynagrodzeń dla następujących pracowników, ponieważ rekordy przypisania struktury wynagrodzeń już istnieją przeciwko nim. {0}",
-Slideshow,Pokaz slajdów,
-Slots for {0} are not added to the schedule,Gniazda dla {0} nie są dodawane do harmonogramu,
-Small,Mały,
-Soap & Detergent,Środki czystości i Detergenty,
-Software,Oprogramowanie,
-Software Developer,Programista,
-Softwares,Oprogramowania,
-Soil compositions do not add up to 100,Składy gleby nie sumują się do 100,
-Sold,Sprzedany,
-Some emails are invalid,Niektóre e-maile są nieprawidłowe,
-Some information is missing,Niektóre informacje brakuje,
-Something went wrong!,Coś poszło nie tak!,
-"Sorry, Serial Nos cannot be merged","Niestety, numery seryjne nie mogą zostać połączone",
-Source,Źródło,
-Source Name,Źródło Nazwa,
-Source Warehouse,Magazyn źródłowy,
-Source and Target Location cannot be same,Lokalizacja źródłowa i docelowa nie może być taka sama,
-Source and target warehouse cannot be same for row {0},Źródło i magazyn docelowy nie mogą być takie sama dla wiersza {0},
-Source and target warehouse must be different,Źródło i magazyn docelowy musi być inna,
-Source of Funds (Liabilities),Zobowiązania,
-Source warehouse is mandatory for row {0},Magazyn źródłowy jest obowiązkowy dla wiersza {0},
-Specified BOM {0} does not exist for Item {1},Określone BOM {0} nie istnieje dla pozycji {1},
-Split,Rozdzielać,
-Split Batch,Podział partii,
-Split Issue,Podziel problem,
-Sports,Sporty,
-Staffing Plan {0} already exist for designation {1},Plan zatrudnienia {0} już istnieje dla wyznaczenia {1},
-Standard,Standard,
-Standard Buying,Standardowe zakupy,
-Standard Selling,Standard sprzedaży,
-Standard contract terms for Sales or Purchase.,Standardowe warunki umowy sprzedaży lub kupna.,
-Start Date,Data startu,
-Start Date of Agreement can't be greater than or equal to End Date.,Data rozpoczęcia umowy nie może być większa lub równa dacie zakończenia.,
-Start Year,Rok rozpoczęcia,
-"Start and end dates not in a valid Payroll Period, cannot calculate {0}","Daty rozpoczęcia i zakończenia nie w ważnym okresie płacowym, nie można obliczyć {0}",
-"Start and end dates not in a valid Payroll Period, cannot calculate {0}.","Daty rozpoczęcia i zakończenia nie są w ważnym okresie rozliczeniowym, nie można obliczyć {0}.",
-Start date should be less than end date for Item {0},Data startu powinna być niższa od daty końca dla {0},
-Start date should be less than end date for task {0},Data rozpoczęcia powinna być mniejsza niż data zakończenia dla zadania {0},
-Start day is greater than end day in task '{0}',Dzień rozpoczęcia jest większy niż dzień zakończenia w zadaniu &quot;{0}&quot;,
-Start on,Zaczynaj na,
-State,Stan,
-State/UT Tax,Podatek stanowy / UT,
-Statement of Account,Wyciąg z rachunku,
-Status must be one of {0},Status musi być jednym z {0},
-Stock,Magazyn,
-Stock Adjustment,Korekta,
-Stock Analytics,Analityka magazynu,
-Stock Assets,Zapasy,
-Stock Available,Dostępność towaru,
-Stock Balance,Bilans zapasów,
-Stock Entries already created for Work Order ,Wpisy magazynowe już utworzone dla zlecenia pracy,
-Stock Entry,Zapis magazynowy,
-Stock Entry {0} created,Wpis {0} w Magazynie został utworzony,
-Stock Entry {0} is not submitted,Zdjęcie Wejście {0} nie jest składany,
-Stock Expenses,Wydatki magazynowe,
-Stock In Hand,Na stanie magazynu,
-Stock Items,produkty seryjne,
-Stock Ledger,Księga zapasów,
-Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Zapisy księgi zapasów oraz księgi głównej są odświeżone dla wybranego dokumentu zakupu,
-Stock Levels,Poziom zapasów,
-Stock Liabilities,Zadłużenie zapasów,
-Stock Options,Opcje magazynu,
-Stock Qty,Ilość zapasów,
-Stock Received But Not Billed,"Przyjęte na stan, nie zapłacone (zobowiązanie)",
-Stock Reports,Raporty seryjne,
-Stock Summary,Podsumowanie Zdjęcie,
-Stock Transactions,Operacje magazynowe,
-Stock UOM,Jednostka,
-Stock Value,Wartość zapasów,
-Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},Saldo Zdjęcie w serii {0} będzie negatywna {1} dla pozycji {2} w hurtowni {3},
-Stock cannot be updated against Delivery Note {0},,
-Stock cannot be updated against Purchase Receipt {0},Zdjęcie nie może zostać zaktualizowany przed ZAKUPU {0},
-Stock cannot exist for Item {0} since has variants,"Zdjęcie nie może istnieć dla pozycji {0}, ponieważ ma warianty",
-Stock transactions before {0} are frozen,Operacje magazynowe przed {0} są zamrożone,
-Stop,Zatrzymaj,
-Stopped,Zatrzymany,
-"Stopped Work Order cannot be cancelled, Unstop it first to cancel","Zatwierdzone zlecenie pracy nie może zostać anulowane, należy je najpierw anulować, aby anulować",
-Stores,Sklepy,
-Structures have been assigned successfully,Struktury zostały pomyślnie przypisane,
-Student,Student,
-Student Activity,Działalność uczniowska,
-Student Address,Adres studenta,
-Student Admissions,Rekrutacja dla studentów,
-Student Attendance,Obecność Studenta,
-"Student Batches help you track attendance, assessments and fees for students","Partie studenckich pomóc śledzenie obecności, oceny i opłat dla studentów",
-Student Email Address,Student adres email,
-Student Email ID,Student ID email,
-Student Group,Grupa Student,
-Student Group Strength,Siła grupy studentów,
-Student Group is already updated.,Grupa studentów jest już aktualizowana.,
-Student Group: ,Grupa studencka:,
-Student ID,legitymacja studencka,
-Student ID: ,Legitymacja studencka:,
-Student LMS Activity,Aktywność LMS studenta,
-Student Mobile No.,Nie Student Komórka,
-Student Name,Nazwa Student,
-Student Name: ,Imię ucznia:,
-Student Report Card,Karta zgłoszenia ucznia,
-Student is already enrolled.,Student jest już zarejestrowany.,
-Student {0} - {1} appears Multiple times in row {2} & {3},Student {0} - {1} pojawia się wielokrotnie w wierszu {2} i {3},
-Student {0} does not belong to group {1},Student {0} nie należy do grupy {1},
-Student {0} exist against student applicant {1},Student {0} istnieć przed studenta wnioskodawcy {1},
-"Students are at the heart of the system, add all your students","Studenci są w samym sercu systemu, dodanie wszystkich swoich uczniów",
-Sub Assemblies,Komponenty,
-Sub Type,Podtyp,
-Sub-contracting,Podwykonawstwo,
-Subcontract,Zlecenie,
-Subject,Temat,
-Submit,Zatwierdź,
-Submit Proof,Prześlij dowód,
-Submit Salary Slip,Zatwierdź potrącenie z pensji,
-Submit this Work Order for further processing.,Prześlij to zlecenie pracy do dalszego przetwarzania.,
-Submit this to create the Employee record,"Prześlij to, aby utworzyć rekord pracownika",
-Submitting Salary Slips...,Przesyłanie wynagrodzeń ...,
-Subscription,Subskrypcja,
-Subscription Management,Zarządzanie subskrypcjami,
-Subscriptions,Subskrypcje,
-Subtotal,Razem,
-Successful,Udany,
-Successfully Reconciled,Pomyślnie uzgodnione,
-Successfully Set Supplier,Pomyślnie ustaw dostawcę,
-Successfully created payment entries,Pomyślnie utworzono wpisy płatności,
-Successfully deleted all transactions related to this company!,Pomyślnie usunięte wszystkie transakcje związane z tą firmą!,
-Sum of Scores of Assessment Criteria needs to be {0}.,Suma punktów kryteriów oceny musi być {0}.,
-Sum of points for all goals should be 100. It is {0},Suma punktów dla wszystkich celów powinno być 100. {0},
-Summary,Podsumowanie,
-Summary for this month and pending activities,Podsumowanie dla tego miesiąca i działań toczących,
-Summary for this week and pending activities,Podsumowanie na ten tydzień i działań toczących,
-Sunday,Niedziela,
-Suplier,Suplier,
-Supplier,Dostawca,
-Supplier Group,Grupa dostawców,
-Supplier Group master.,Mistrz grupy dostawców.,
-Supplier Id,ID Dostawcy,
-Supplier Invoice Date cannot be greater than Posting Date,Faktura dostawca Data nie może być większe niż Data publikacji,
-Supplier Invoice No,Nr faktury dostawcy,
-Supplier Invoice No exists in Purchase Invoice {0},Dostawca Faktura Nie istnieje faktura zakupu {0},
-Supplier Name,Nazwa dostawcy,
-Supplier Part No,Dostawca Część nr,
-Supplier Quotation,Oferta dostawcy,
-Supplier Scorecard,Karta wyników dostawcy,
-Supplier Warehouse mandatory for sub-contracted Purchase Receipt,,
-Supplier database.,Baza dostawców,
-Supplier {0} not found in {1},Dostawca {0} nie został znaleziony w {1},
-Supplier(s),Dostawca(y),
-Supplies made to UIN holders,Materiały dla posiadaczy UIN,
-Supplies made to Unregistered Persons,Dostawy dla niezarejestrowanych osób,
-Suppliies made to Composition Taxable Persons,Dodatki do osób podlegających opodatkowaniu,
-Supply Type,Rodzaj dostawy,
-Support,Wsparcie,
-Support Analytics,,
-Support Settings,Ustawienia wsparcia,
-Support Tickets,Bilety na wsparcie,
-Support queries from customers.,Zapytania klientów o wsparcie techniczne,
-Susceptible,Podatny,
-Sync has been temporarily disabled because maximum retries have been exceeded,"Synchronizacja została tymczasowo wyłączona, ponieważ przekroczono maksymalną liczbę ponownych prób",
-Syntax error in condition: {0},Błąd składni w warunku: {0},
-Syntax error in formula or condition: {0},Błąd składni we wzorze lub stanu: {0},
-System Manager,System Manager,
-TDS Rate %,Współczynnik TDS%,
-Tap items to add them here,"Dotknij elementów, aby je dodać tutaj",
-Target,Cel,
-Target ({}),Cel ({}),
-Target On,,
-Target Warehouse,Magazyn docelowy,
-Target warehouse is mandatory for row {0},Magazyn docelowy jest obowiązkowy dla wiersza {0},
-Task,Zadanie,
-Tasks,Zadania,
-Tasks have been created for managing the {0} disease (on row {1}),Utworzono zadania do zarządzania chorobą {0} (w wierszu {1}),
-Tax,Podatek,
-Tax Assets,Podatek należny (zwrot),
-Tax Category,Kategoria podatku,
-Tax Category for overriding tax rates.,Kategoria podatkowa za nadrzędne stawki podatkowe.,
-"Tax Category has been changed to ""Total"" because all the Items are non-stock items","Kategoria podatkowa została zmieniona na &quot;Razem&quot;, ponieważ wszystkie elementy są towarami nieruchoma",
-Tax ID,Numer identyfikacji podatkowej (NIP),
-Tax Id: ,Identyfikator podatkowy:,
-Tax Rate,Stawka podatku,
-Tax Rule Conflicts with {0},Konflikty przepisu podatkowego z {0},
-Tax Rule for transactions.,Reguła podatkowa dla transakcji.,
-Tax Template is mandatory.,Szablon podatków jest obowiązkowy.,
-Tax Withholding rates to be applied on transactions.,Stawki podatku u źródła stosowane do transakcji.,
-Tax template for buying transactions.,Szablon podatków dla transakcji zakupu.,
-Tax template for item tax rates.,Szablon podatku dla stawek podatku od towarów.,
-Tax template for selling transactions.,Szablon podatków dla transakcji sprzedaży.,
-Taxable Amount,Kwota podlegająca opodatkowaniu,
-Taxes,Podatki,
-Team Updates,Aktualizacje zespół,
-Technology,Technologia,
-Telecommunications,Telekomunikacja,
-Telephone Expenses,Wydatki telefoniczne,
-Television,Telewizja,
-Template Name,Nazwa szablonu,
-Template of terms or contract.,Szablon z warunkami lub umową.,
-Templates of supplier scorecard criteria.,Szablony kryteriów oceny dostawców.,
-Templates of supplier scorecard variables.,Szablony dostawców zmiennych.,
-Templates of supplier standings.,Szablony standings dostawców.,
-Temporarily on Hold,Chwilowo zawieszone,
-Temporary,Tymczasowy,
-Temporary Accounts,Rachunki tymczasowe,
-Temporary Opening,Tymczasowe otwarcia,
-Terms and Conditions,Regulamin,
-Terms and Conditions Template,Szablony warunków i regulaminów,
-Territory,Region,
-Test,Test,
-Thank you,Dziękuję,
-Thank you for your business!,Dziękuję dla Twojej firmy!,
-The 'From Package No.' field must neither be empty nor it's value less than 1.,The &#39;From Package No.&#39; pole nie może być puste ani jego wartość mniejsza niż 1.,
-The Brand,Marka,
-The Item {0} cannot have Batch,Element {0} nie może mieć Batch,
-The Loyalty Program isn't valid for the selected company,Program lojalnościowy nie jest ważny dla wybranej firmy,
-The Payment Term at row {0} is possibly a duplicate.,Termin płatności w wierszu {0} jest prawdopodobnie duplikatem.,
-The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Termin Data zakończenia nie może być wcześniejsza niż data początkowa Term. Popraw daty i spróbuj ponownie.,
-The Term End Date cannot be later than the Year End Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,"Termin Data zakończenia nie może być późniejsza niż data zakończenia roku na rok akademicki, którego termin jest związany (Academic Year {}). Popraw daty i spróbuj ponownie.",
-The Term Start Date cannot be earlier than the Year Start Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,"Termin Data rozpoczęcia nie może być krótszy niż rok od daty rozpoczęcia roku akademickiego, w jakim termin ten jest powiązany (Academic Year {}). Popraw daty i spróbuj ponownie.",
-The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,Rok Data zakończenia nie może być wcześniejsza niż data początkowa rok. Popraw daty i spróbuj ponownie.,
-The amount of {0} set in this payment request is different from the calculated amount of all payment plans: {1}. Make sure this is correct before submitting the document.,"Kwota {0} ustawiona w tym żądaniu płatności różni się od obliczonej kwoty wszystkich planów płatności: {1}. Upewnij się, że jest to poprawne przed wysłaniem dokumentu.",
-The day(s) on which you are applying for leave are holidays. You need not apply for leave.,"Dzień (s), w którym starasz się o urlop jest święta. Nie musisz ubiegać się o urlop.",
-The field From Shareholder cannot be blank,Pole Od Akcjonariusza nie może być puste,
-The field To Shareholder cannot be blank,Pole Do akcjonariusza nie może być puste,
-The fields From Shareholder and To Shareholder cannot be blank,Pola Od Akcjonariusza i Do Akcjonariusza nie mogą być puste,
-The folio numbers are not matching,Numery folio nie pasują do siebie,
-The holiday on {0} is not between From Date and To Date,Święto w dniu {0} nie jest pomiędzy Od Data i do tej pory,
-The name of the institute for which you are setting up this system.,"Nazwa instytutu, dla którego jest utworzenie tego systemu.",
-The name of your company for which you are setting up this system.,Nazwa firmy / organizacji dla której uruchamiasz niniejszy system.,
-The number of shares and the share numbers are inconsistent,Liczba akcji i liczby akcji są niespójne,
-The payment gateway account in plan {0} is different from the payment gateway account in this payment request,Rachunek bramy płatniczej w planie {0} różni się od konta bramy płatności w tym żądaniu płatności,
-The selected BOMs are not for the same item,Wybrane LM nie są na tej samej pozycji,
-The selected item cannot have Batch,Wybrany element nie może mieć Batch,
-The seller and the buyer cannot be the same,Sprzedawca i kupujący nie mogą być tacy sami,
-The shareholder does not belong to this company,Akcjonariusz nie należy do tej spółki,
-The shares already exist,Akcje już istnieją,
-The shares don't exist with the {0},Akcje nie istnieją z {0},
-"The task has been enqueued as a background job. In case there is any issue on processing in background, the system will add a comment about the error on this Stock Reconciliation and revert to the Draft stage","Zadanie zostało zakolejkowane jako zadanie w tle. W przypadku jakichkolwiek problemów z przetwarzaniem w tle, system doda komentarz dotyczący błędu w tym uzgadnianiu i powróci do etapu wersji roboczej",
-"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Następnie wycena Zasady są filtrowane na podstawie Klienta, grupy klientów, Terytorium, dostawcy, dostawca, typu kampanii, Partner Sales itp",
-"There are inconsistencies between the rate, no of shares and the amount calculated","Występują niespójności między stopą, liczbą akcji i obliczoną kwotą",
-There are more holidays than working days this month.,Jest więcej świąt niż dni pracujących,
-There can be multiple tiered collection factor based on the total spent. But the conversion factor for redemption will always be same for all the tier.,Może istnieć wiele warstwowych współczynników zbierania w oparciu o całkowitą ilość wydanych pieniędzy. Jednak współczynnik konwersji dla umorzenia będzie zawsze taki sam dla wszystkich poziomów.,
-There can only be 1 Account per Company in {0} {1},Nie może być tylko jedno konto na Spółkę w {0} {1},
-"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Może być tylko jedna Zasada dostawy z wartością 0 lub pustą wartością w polu ""Wartość""",
-There is no leave period in between {0} and {1},Nie ma okresu próbnego między {0} a {1},
-There is not enough leave balance for Leave Type {0},,
-There is nothing to edit.,Nie ma nic do edycji,
-There isn't any item variant for the selected item,Nie ma żadnego wariantu przedmiotu dla wybranego przedmiotu,
-"There seems to be an issue with the server's GoCardless configuration. Don't worry, in case of failure, the amount will get refunded to your account.","Wygląda na to, że problem dotyczy konfiguracji serwera GoCardless. Nie martw się, w przypadku niepowodzenia kwota zostanie zwrócona na Twoje konto.",
-There were errors creating Course Schedule,Podczas tworzenia harmonogramu kursów wystąpiły błędy,
-There were errors.,Wystąpiły błędy,
-This Item is a Template and cannot be used in transactions. Item attributes will be copied over into the variants unless 'No Copy' is set,"Pozycja ta jest szablon i nie mogą być wykorzystywane w transakcjach. Atrybuty pozycji zostaną skopiowane nad do wariantów chyba ""Nie Kopiuj"" jest ustawiony",
-This Item is a Variant of {0} (Template).,Ta pozycja jest wariantem {0} (szablon).,
-This Month's Summary,Podsumowanie tego miesiąca,
-This Week's Summary,Podsumowanie W tym tygodniu,
-This action will stop future billing. Are you sure you want to cancel this subscription?,Ta czynność zatrzyma przyszłe płatności. Czy na pewno chcesz anulować subskrypcję?,
-This covers all scorecards tied to this Setup,Obejmuje to wszystkie karty wyników powiązane z niniejszą kartą,
-This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Niniejszy dokument ma na granicy przez {0} {1} dla pozycji {4}. Robisz kolejny {3} przeciwko samo {2}?,
-This is a root account and cannot be edited.,To jest konto root i nie może być edytowane.,
-This is a root customer group and cannot be edited.,To jest grupa klientów root i nie mogą być edytowane.,
-This is a root department and cannot be edited.,To jest dział główny i nie można go edytować.,
-This is a root healthcare service unit and cannot be edited.,To jest podstawowa jednostka opieki zdrowotnej i nie można jej edytować.,
-This is a root item group and cannot be edited.,To jest grupa przedmiotów root i nie mogą być edytowane.,
-This is a root sales person and cannot be edited.,To jest sprzedawca root i nie może być edytowany.,
-This is a root supplier group and cannot be edited.,To jest główna grupa dostawców i nie można jej edytować.,
-This is a root territory and cannot be edited.,To jest obszar root i nie może być edytowany.,
-This is an example website auto-generated from ERPNext,Ta przykładowa strona została automatycznie wygenerowana przez ERPNext,
-This is based on logs against this Vehicle. See timeline below for details,Opiera się to na dzienniki przeciwko tego pojazdu. Zobacz harmonogram poniżej w szczegółach,
-This is based on stock movement. See {0} for details,Jest to oparte na ruchu zapasów. Zobacz {0} o szczegóły,
-This is based on the Time Sheets created against this project,Jest to oparte na kartach czasu pracy stworzonych wobec tego projektu,
-This is based on the attendance of this Employee,Jest to oparte na obecności pracownika,
-This is based on the attendance of this Student,Jest to oparte na obecności tego Studenta,
-This is based on transactions against this Customer. See timeline below for details,"Wykres oparty na operacjach związanych z klientem. Sprawdź poniżej oś czasu, aby uzyskać więcej szczegółów.",
-This is based on transactions against this Healthcare Practitioner.,Jest to oparte na transakcjach przeciwko temu pracownikowi opieki zdrowotnej.,
-This is based on transactions against this Patient. See timeline below for details,"Opiera się to na transakcjach przeciwko temu pacjentowi. Zobacz poniżej linię czasu, aby uzyskać szczegółowe informacje",
-This is based on transactions against this Sales Person. See timeline below for details,"Jest to oparte na transakcjach z tą osobą handlową. Zobacz oś czasu poniżej, aby uzyskać szczegółowe informacje",
-This is based on transactions against this Supplier. See timeline below for details,"Wykres oparty na operacjach związanych z dostawcą. Sprawdź poniżej oś czasu, aby uzyskać więcej szczegółów.",
-This will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,Spowoduje to wysłanie Salary Slips i utworzenie wpisu księgowego. Czy chcesz kontynuować?,
-This {0} conflicts with {1} for {2} {3},Ten {0} konflikty z {1} do {2} {3},
-Time Sheet for manufacturing.,Arkusz Czas produkcji.,
-Time Tracking,time Tracking,
-"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Przesunięcie przedziału czasowego, przedział od {0} do {1} pokrywa się z istniejącym bokiem {2} do {3}",
-Time slots added,Dodano gniazda czasowe,
-Time(in mins),Czas (w minutach),
-Timer,Regulator czasowy,
-Timer exceeded the given hours.,Minutnik przekroczył podane godziny.,
-Timesheet,Lista obecności,
-Timesheet for tasks.,Grafiku zadań.,
-Timesheet {0} is already completed or cancelled,Grafiku {0} jest już zakończone lub anulowane,
-Timesheets,Ewidencja czasu pracy,
-"Timesheets help keep track of time, cost and billing for activites done by your team","Ewidencja czasu pomaga śledzić czasu, kosztów i rozliczeń dla aktywnosci przeprowadzonych przez zespół",
-Titles for print templates e.g. Proforma Invoice.,Tytuł szablonu wydruku np.: Faktura Proforma,
-To,Do,
-To Address 1,Aby Adres 1,
-To Address 2,Do adresu 2,
-To Bill,Wystaw rachunek,
-To Date,Do daty,
-To Date cannot be before From Date,"""Do daty"" nie może być terminem przed ""od daty""",
-To Date cannot be less than From Date,Data nie może być mniejsza niż Od daty,
-To Date must be greater than From Date,To Date musi być większe niż From Date,
-To Date should be within the Fiscal Year. Assuming To Date = {0},Aby Data powinna być w tym roku podatkowym. Zakładając To Date = {0},
-To Datetime,Aby DateTime,
-To Deliver,Dostarczyć,
-To Deliver and Bill,Do dostarczenia i Bill,
-To Fiscal Year,Do roku podatkowego,
-To GSTIN,Do GSTIN,
-To Party Name,Nazwa drużyny,
-To Pin Code,Aby przypiąć kod,
-To Place,Do miejsca,
-To Receive,Otrzymać,
-To Receive and Bill,Do odbierania i Bill,
-To State,Określić,
-To Warehouse,Do magazynu,
-To create a Payment Request reference document is required,"Aby utworzyć dokument referencyjny żądania zapłaty, wymagane jest",
-To date can not be equal or less than from date,Do tej pory nie może być równa lub mniejsza niż od daty,
-To date can not be less than from date,Do tej pory nie może być mniejsza niż od daty,
-To date can not greater than employee's relieving date,Do tej pory nie może przekroczyć daty zwolnienia pracownika,
-"To filter based on Party, select Party Type first","Aby filtrować na podstawie partii, wybierz Party Wpisz pierwsze",
-"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","Aby uzyskać najlepsze z ERPNext, zalecamy, aby poświęcić trochę czasu i oglądać te filmy pomoc.",
-"To include tax in row {0} in Item rate, taxes in rows {1} must also be included",,
-To make Customer based incentive schemes.,Aby tworzyć systemy motywacyjne oparte na Kliencie.,
-"To merge, following properties must be same for both items","Aby scalić, poniższe właściwości muszą być takie same dla obu przedmiotów",
-"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Cennik nie stosuje regułę w danej transakcji, wszystkie obowiązujące przepisy dotyczące cen powinny być wyłączone.",
-"To set this Fiscal Year as Default, click on 'Set as Default'","Aby ustawić ten rok finansowy jako domyślny, kliknij przycisk ""Ustaw jako domyślne""",
-To view logs of Loyalty Points assigned to a Customer.,Aby wyświetlić logi punktów lojalnościowych przypisanych do klienta.,
-To {0},Do {0},
-To {0} | {1} {2},Do {0} | {1} {2},
-Toggle Filters,Przełącz filtry,
-Too many columns. Export the report and print it using a spreadsheet application.,Zbyt wiele kolumn. Wyeksportować raport i wydrukować go za pomocą arkusza kalkulacyjnego.,
-Tools,Narzędzia,
-Total (Credit),Razem (Credit),
-Total (Without Tax),Razem (bez podatku),
-Total Absent,Razem Nieobecny,
-Total Achieved,Razem Osiągnięte,
-Total Actual,Razem Rzeczywisty,
-Total Allocated Leaves,Całkowicie Przydzielone Nieobecności,
-Total Amount,Wartość całkowita,
-Total Amount Credited,Całkowita kwota kredytu,
-Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Wszystkich obowiązujących opłat w ZAKUPU Elementy tabeli muszą być takie same jak Wszystkich podatkach i opłatach,
-Total Budget,Cały budżet,
-Total Collected: {0},Łącznie zbierane: {0},
-Total Commission,Całkowita kwota prowizji,
-Total Contribution Amount: {0},Łączna kwota dotacji: {0},
-Total Credit/ Debit Amount should be same as linked Journal Entry,"Całkowita kwota kredytu / debetu powinna być taka sama, jak połączona pozycja księgowa",
-Total Debit must be equal to Total Credit. The difference is {0},Całkowita kwota po stronie debetowej powinna być równa całkowitej kwocie po stronie kretytowej. Różnica wynosi {0},
-Total Deduction,Całkowita kwota odliczenia,
-Total Invoiced Amount,Całkowita zafakturowana kwota,
-Total Leaves,Wszystkich Nieobecności,
-Total Order Considered,Zamówienie razem Uważany,
-Total Order Value,Łączna wartość zamówienia,
-Total Outgoing,Razem Wychodzące,
-Total Outstanding,Total Outstanding,
-Total Outstanding Amount,Łączna kwota,
-Total Outstanding: {0},Całkowity stan: {0},
-Total Paid Amount,Kwota całkowita Płatny,
-Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,Całkowita kwota płatności w harmonogramie płatności musi być równa sumie całkowitej / zaokrąglonej,
-Total Payments,Płatności ogółem,
-Total Present,Razem Present,
-Total Qty,Razem szt,
-Total Quantity,Całkowita ilość,
-Total Revenue,Całkowita wartość dochodu,
-Total Student,Total Student,
-Total Target,Łączna docelowa,
-Total Tax,Razem podatkowa,
-Total Taxable Amount,Całkowita kwota podlegająca opodatkowaniu,
-Total Taxable Value,Całkowita wartość podlegająca opodatkowaniu,
-Total Unpaid: {0},Razem Niepłatny: {0},
-Total Variance,Całkowitej wariancji,
-Total Weightage of all Assessment Criteria must be 100%,Razem weightage wszystkich kryteriów oceny muszą być w 100%,
-Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),Suma zaliczki ({0}) przed zamówieniem {1} nie może być większa od ogólnej sumy ({2}),
-Total advance amount cannot be greater than total claimed amount,Całkowita kwota zaliczki nie może być większa niż całkowita kwota roszczenia,
-Total advance amount cannot be greater than total sanctioned amount,Całkowita kwota zaliczki nie może być większa niż całkowita kwota sankcjonowana,
-Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,Całkowita liczba przydzielonych urlopów to więcej dni niż maksymalny przydział {0} typu urlopu dla pracownika {1} w danym okresie,
-Total allocated leaves are more than days in the period,Liczba przyznanych zwolnień od pracy jest większa niż dni w okresie,
-Total allocated percentage for sales team should be 100,Łącznie przydzielony procent sprzedaży dla zespołu powinien wynosić 100,
-Total cannot be zero,Razem nie może być wartością zero,
-Total contribution percentage should be equal to 100,Całkowity procent wkładu powinien być równy 100,
-Total flexible benefit component amount {0} should not be less than max benefits {1},Całkowita kwota elastycznego składnika świadczeń {0} nie powinna być mniejsza niż maksymalna korzyść {1},
-Total hours: {0},Całkowita liczba godzin: {0},
-Total leaves allocated is mandatory for Leave Type {0},Całkowita liczba przydzielonych Nieobecności jest obowiązkowa dla Typu Urlopu {0},
-Total working hours should not be greater than max working hours {0},Całkowita liczba godzin pracy nie powinna być większa niż max godzinach pracy {0},
-Total {0} ({1}),Razem {0} ({1}),
-"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'","Razem {0} dla wszystkich elementów wynosi zero, może trzeba zmienić „Dystrybucja opłat na podstawie”",
-Total(Amt),Razem (Amt),
-Total(Qty),Razem (szt),
-Traceability,Śledzenie,
-Traceback,Traceback,
-Track Leads by Lead Source.,Śledzenie potencjalnych klientów przez źródło potencjalnych klientów.,
-Training,Trening,
-Training Event,Training Event,
-Training Events,Wydarzenia szkoleniowe,
-Training Feedback,Szkolenie Zgłoszenie,
-Training Result,Wynik treningowe,
-Transaction,Transakcja,
-Transaction Date,Data transakcji,
-Transaction Type,typ transakcji,
-Transaction currency must be same as Payment Gateway currency,"Waluta transakcji musi być taka sama, jak waluta wybranej płatności",
-Transaction not allowed against stopped Work Order {0},Transakcja nie jest dozwolona w przypadku zatrzymanego zlecenia pracy {0},
-Transaction reference no {0} dated {1},Transakcja ma odniesienia {0} z {1},
-Transactions,Transakcje,
-Transactions can only be deleted by the creator of the Company,Transakcje mogą być usunięte tylko przez twórcę Spółki,
-Transfer,Transfer,
-Transfer Material,Transfer materiału,
-Transfer Type,Rodzaj transferu,
-Transfer an asset from one warehouse to another,Przeniesienie aktywów z jednego magazynu do drugiego,
-Transfered,Przeniesione,
-Transferred Quantity,Przeniesiona ilość,
-Transport Receipt Date,Transport Data odbioru,
-Transport Receipt No,Nr odbioru transportu,
-Transportation,Transport,
-Transporter ID,Identyfikator transportera,
-Transporter Name,Nazwa przewoźnika,
-Travel,Podróż,
-Travel Expenses,Wydatki na podróże,
-Tree Type,Typ drzewa,
-Tree of Bill of Materials,Drzewo Zestawienia materiałów,
-Tree of Item Groups.,Drzewo grupy produktów,
-Tree of Procedures,Drzewo procedur,
-Tree of Quality Procedures.,Drzewo procedur jakości.,
-Tree of financial Cost Centers.,Drzewo MPK finansowych.,
-Tree of financial accounts.,Drzewo kont finansowych.,
-Treshold {0}% appears more than once,Próg {0}% występuje więcej niż jeden raz,
-Trial Period End Date Cannot be before Trial Period Start Date,Termin zakończenia okresu próbnego Nie może być przed datą rozpoczęcia okresu próbnego,
-Trialling,Trialling,
-Type of Business,Rodzaj biznesu,
-Types of activities for Time Logs,Rodzaje działalności za czas Logi,
-UOM,Jednostka miary,
-UOM Conversion factor is required in row {0},Współczynnik konwersji jednostki miary jest wymagany w rzędzie {0},
-UOM coversion factor required for UOM: {0} in Item: {1},Współczynnik konwersji jednostki miary jest wymagany dla jednostki miary: {0} w Przedmiocie: {1},
-URL,URL,
-Unable to find DocType {0},Nie można znaleźć DocType {0},
-Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Nie można znaleźć kursu wymiany dla {0} do {1} dla daty klucza {2}. Proszę utworzyć ręcznie rekord wymiany walut,
-Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,"Nie można znaleźć wyników, począwszy od {0}. Musisz mieć stały wynik od 0 do 100",
-Unable to find variable: ,Nie można znaleźć zmiennej:,
-Unblock Invoice,Odblokuj fakturę,
-Uncheck all,Odznacz wszystkie,
-Unclosed Fiscal Years Profit / Loss (Credit),Unclosed fiskalna Lata Zysk / Strata (Credit),
-Unit,szt.,
-Unit of Measure,Jednostka miary,
-Unit of Measure {0} has been entered more than once in Conversion Factor Table,Jednostka miary {0} została wprowadzona więcej niż raz w Tabelce Współczynnika Konwersji,
-Unknown,Nieznany,
-Unpaid,Niezapłacone,
-Unsecured Loans,Pożyczki bez pokrycia,
-Unsubscribe from this Email Digest,Wypisać się z tej Email Digest,
-Unsubscribed,Nie zarejestrowany,
-Until,Do,
-Unverified Webhook Data,Niezweryfikowane dane z Webhook,
-Update Account Name / Number,Zaktualizuj nazwę / numer konta,
-Update Account Number / Name,Zaktualizuj numer / nazwę konta,
-Update Cost,Zaktualizuj koszt,
-Update Items,Aktualizuj elementy,
-Update Print Format,Aktualizacja Format wydruku,
-Update Response,Zaktualizuj odpowiedź,
-Update bank payment dates with journals.,Aktualizacja terminów płatności banowych,
-Update in progress. It might take a while.,Aktualizacja w toku. To może trochę potrwać.,
-Update rate as per last purchase,Zaktualizuj stawkę za ostatni zakup,
-Update stock must be enable for the purchase invoice {0},Aktualizuj zapasy musi być włączone dla faktury zakupu {0},
-Updating Variants...,Aktualizowanie wariantów ...,
-Upload your letter head and logo. (you can edit them later).,Prześlij nagłówek firmowy i logo. (Można je edytować później).,
-Upper Income,Wzrost Wpływów,
-Use Sandbox,Korzystanie Sandbox,
-Used Leaves,Wykorzystane Nieobecności,
-User,Użytkownik,
-User ID,ID Użytkownika,
-User ID not set for Employee {0},ID Użytkownika nie ustawiony dla Pracownika {0},
-User Remark,Nota Użytkownika,
-User has not applied rule on the invoice {0},Użytkownik nie zastosował reguły na fakturze {0},
-User {0} already exists,Użytkownik {0} już istnieje,
-User {0} created,Utworzono użytkownika {0},
-User {0} does not exist,Użytkownik {0} nie istnieje,
-User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,Użytkownik {0} nie ma żadnego domyślnego profilu POS. Sprawdź domyślne w wierszu {1} dla tego użytkownika.,
-User {0} is already assigned to Employee {1},Użytkownik {0} jest już przyporządkowany do Pracownika {1},
-User {0} is already assigned to Healthcare Practitioner {1},Użytkownik {0} jest już przypisany do pracownika służby zdrowia {1},
-Users,Użytkownicy,
-Utility Expenses,Wydatki na usługi komunalne,
-Valid From Date must be lesser than Valid Upto Date.,Ważny od daty musi być mniejszy niż ważna data w górę.,
-Valid Till,Obowiązuje do dnia,
-Valid from and valid upto fields are mandatory for the cumulative,Obowiązujące od i prawidłowe pola upto są obowiązkowe dla skumulowanego,
-Valid from date must be less than valid upto date,Ważny od daty musi być krótszy niż data ważności,
-Valid till date cannot be before transaction date,Data ważności nie może być poprzedzona datą transakcji,
-Validity,Ważność,
-Validity period of this quotation has ended.,Okres ważności tej oferty zakończył się.,
-Valuation Rate,Wskaźnik wyceny,
-Valuation Rate is mandatory if Opening Stock entered,"Wycena Cena jest obowiązkowe, jeżeli wprowadzone Otwarcie Zdjęcie",
-Valuation type charges can not marked as Inclusive,Opłaty typu Wycena nie oznaczone jako Inclusive,
-Value Or Qty,Wartość albo Ilość,
-Value Proposition,Propozycja wartości,
-Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Wartość atrybutu {0} musi mieścić się w przedziale {1} z {2} w przyrostach {3} {4} Przedmiot,
-Value missing,Wartość brakująca,
-Value must be between {0} and {1},Wartość musi zawierać się między {0} a {1},
-"Values of exempt, nil rated and non-GST inward supplies","Wartości zwolnionych, zerowych i niezawierających GST dostaw wewnętrznych",
-Variable,Zmienna,
-Variance,Zmienność,
-Variance ({}),Wariancja ({}),
-Variant,Wariant,
-Variant Attributes,Variant Atrybuty,
-Variant Based On cannot be changed,Variant Based On nie może zostać zmieniony,
-Variant Details Report,Szczegółowy raport dotyczący wariantu,
-Variant creation has been queued.,Tworzenie wariantu zostało umieszczone w kolejce.,
-Vehicle Expenses,Wydatki Samochodowe,
-Vehicle No,Nr pojazdu,
-Vehicle Type,Typ pojazdu,
-Vehicle/Bus Number,Numer pojazdu / autobusu,
-Venture Capital,Kapitał wysokiego ryzyka,
-View Chart of Accounts,Zobacz plan kont,
-View Fees Records,Zobacz rekord opłat,
-View Form,Wyświetl formularz,
-View Lab Tests,Wyświetl testy laboratoryjne,
-View Leads,Zobacz Tropy,
-View Ledger,Podgląd księgi,
-View Now,Zobacz teraz,
-View a list of all the help videos,Zobacz listę wszystkich filmów pomocy,
-View in Cart,Zobacz Koszyk,
-Visit report for maintenance call.,Raport wizyty dla wezwania konserwacji.,
-Visit the forums,Odwiedź fora,
-Vital Signs,Oznaki życia,
-Volunteer,Wolontariusz,
-Volunteer Type information.,Informacje o typie wolontariusza.,
-Volunteer information.,Informacje o wolontariuszu.,
-Voucher #,Bon #,
-Voucher No,Nr Podstawy księgowania,
-Voucher Type,Typ Podstawy,
-WIP Warehouse,WIP Magazyn,
-Walk In,Wejście,
-Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Magazyn nie może być skasowany tak długo jak długo istnieją zapisy w księdze stanu dla tego magazynu.,
-Warehouse cannot be changed for Serial No.,Magazyn nie może być zmieniony dla Nr Seryjnego,
-Warehouse is mandatory,Magazyn jest obowiązkowe,
-Warehouse is mandatory for stock Item {0} in row {1},Magazyn jest obowiązkowy dla Przedmiotu {0} w rzędzie {1},
-Warehouse not found in the system,Magazyn nie został znaleziony w systemie,
-"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Wymagany magazyn w Wiersz nr {0}, ustaw domyślny magazyn dla pozycji {1} dla firmy {2}",
-Warehouse required for stock Item {0},Magazyn wymagany dla przedmiotu {0},
-Warehouse {0} can not be deleted as quantity exists for Item {1},Magazyn {0} nie może zostać usunięty ponieważ istnieje wartość dla przedmiotu {1},
-Warehouse {0} does not belong to company {1},Magazyn {0} nie należy do firmy {1},
-Warehouse {0} does not exist,Magazyn {0} nie istnieje,
-"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.","Magazyn {0} nie jest powiązany z jakimikolwiek kontem, wspomnij o tym w raporcie magazynu lub ustaw domyślnego konta zapasowego w firmie {1}.",
-Warehouses with child nodes cannot be converted to ledger,Magazyny z węzłów potomnych nie mogą być zamieniane na Ledger,
-Warehouses with existing transaction can not be converted to group.,Magazyny z istniejącymi transakcji nie mogą być zamieniane na grupy.,
-Warehouses with existing transaction can not be converted to ledger.,Magazyny z istniejącymi transakcji nie mogą być konwertowane do księgi głównej.,
-Warning,Ostrzeżenie,
-Warning: Another {0} # {1} exists against stock entry {2},Ostrzeżenie: Inny {0} # {1} istnieje we wpisie asortymentu {2},
-Warning: Invalid SSL certificate on attachment {0},Ostrzeżenie: Nieprawidłowy certyfikat SSL w załączniku {0},
-Warning: Invalid attachment {0},Warning: Invalid Załącznik {0},
-Warning: Leave application contains following block dates,Ostrzeżenie: Aplikacja o urlop zawiera następujące zablokowane daty,
-Warning: Material Requested Qty is less than Minimum Order Qty,Ostrzeżenie: Ilość Zapotrzebowanego Materiału jest mniejsza niż minimalna ilość na zamówieniu,
-Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Ostrzeżenie: Zamówienie sprzedaży {0} już istnieje wobec Klienta Zamówienia {1},
-Warning: System will not check overbilling since amount for Item {0} in {1} is zero,,
-Warranty,Gwarancja,
-Warranty Claim,Roszczenie gwarancyjne,
-Warranty Claim against Serial No.,Roszczenie gwarancyjne z numerem seryjnym,
-Website,Strona WWW,
-Website Image should be a public file or website URL,Strona Obraz powinien być plik publiczny lub adres witryny,
-Website Image {0} attached to Item {1} cannot be found,Strona Obraz {0} dołączone do pozycji {1} nie można znaleźć,
-Website Listing,Listing Witryny,
-Website Manager,Manager strony WWW,
-Website Settings,Ustawienia witryny,
-Wednesday,Środa,
-Week,Tydzień,
-Weekdays,Dni robocze,
-Weekly,Tygodniowo,
-"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Waga jest określona, \n Ustaw także ""Wagę jednostkową""",
-Welcome email sent,E-mail z powitaniem został wysłany,
-Welcome to ERPNext,Zapraszamy do ERPNext,
-What do you need help with?,Z czym potrzebujesz pomocy?,
-What does it do?,Czym się zajmuje?,
-Where manufacturing operations are carried.,"W przypadku, gdy czynności wytwórcze są prowadzone.",
-White,Biały,
-Wire Transfer,Przelew,
-WooCommerce Products,Produkty WooCommerce,
-Work In Progress,Produkty w toku,
-Work Order,Porządek pracy,
-Work Order already created for all items with BOM,Zamówienie pracy zostało już utworzone dla wszystkich produktów z zestawieniem komponentów,
-Work Order cannot be raised against a Item Template,Zlecenie pracy nie może zostać podniesione na podstawie szablonu przedmiotu,
-Work Order has been {0},Zamówienie pracy zostało {0},
-Work Order not created,Zamówienie pracy nie zostało utworzone,
-Work Order {0} must be cancelled before cancelling this Sales Order,Zamówienie pracy {0} musi zostać anulowane przed anulowaniem tego zamówienia sprzedaży,
-Work Order {0} must be submitted,Zamówienie pracy {0} musi zostać przesłane,
-Work Orders Created: {0},Utworzono zlecenia pracy: {0},
-Work Summary for {0},Podsumowanie pracy dla {0},
-Work-in-Progress Warehouse is required before Submit,Magazyn z produkcją w toku jest wymagany przed wysłaniem,
-Workflow,Przepływ pracy (Workflow),
-Working,Pracuje,
-Working Hours,Godziny pracy,
-Workstation,Stacja robocza,
-Workstation is closed on the following dates as per Holiday List: {0},Stacja robocza jest zamknięta w następujących terminach wg listy wakacje: {0},
-Wrapping up,Zawijanie,
-Wrong Password,Niepoprawne hasło,
-Year start date or end date is overlapping with {0}. To avoid please set company,data rozpoczęcia roku lub data końca pokrywa się z {0}. Aby uniknąć należy ustawić firmę,
-You are not authorized to add or update entries before {0},Nie masz uprawnień aby zmieniać lub dodawać elementy przed {0},
-You are not authorized to approve leaves on Block Dates,Nie masz uprawnień do zatwierdzania tych urlopów,
-You are not authorized to set Frozen value,Nie masz uprawnień do ustawienia zamrożenej wartości,
-You are not present all day(s) between compensatory leave request days,Nie jesteś obecny przez cały dzień (dni) między dniami prośby o urlop wyrównawczy,
-You can not change rate if BOM mentioned agianst any item,Nie możesz zmienić danych jeśli BOM jest przeciw jakiejkolwiek rzeczy,
-You can not enter current voucher in 'Against Journal Entry' column,You can not enter current voucher in 'Against Journal Entry' column,
-You can only have Plans with the same billing cycle in a Subscription,Możesz mieć tylko Plany z tym samym cyklem rozliczeniowym w Subskrypcji,
-You can only redeem max {0} points in this order.,Możesz maksymalnie wykorzystać maksymalnie {0} punktów w tej kolejności.,
-You can only renew if your membership expires within 30 days,Przedłużenie członkostwa można odnowić w ciągu 30 dni,
-You can only select a maximum of one option from the list of check boxes.,Możesz wybrać maksymalnie jedną opcję z listy pól wyboru.,
-You can only submit Leave Encashment for a valid encashment amount,Możesz przesłać tylko opcję Leave Encashment dla prawidłowej kwoty depozytu,
-You can't redeem Loyalty Points having more value than the Grand Total.,Nie możesz wymienić punktów lojalnościowych o większej wartości niż suma ogólna.,
-You cannot credit and debit same account at the same time,Nie można wykonywać zapisów po stronie debetowej oraz kredytowej tego samego konta w jednym czasie,
-You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Nie można usunąć Fiscal Year {0}. Rok fiskalny {0} jest ustawiona jako domyślna w Ustawienia globalne,
-You cannot delete Project Type 'External',Nie można usunąć typu projektu &quot;zewnętrzny&quot;,
-You cannot edit root node.,Nie można edytować węzła głównego.,
-You cannot restart a Subscription that is not cancelled.,"Nie można ponownie uruchomić subskrypcji, która nie zostanie anulowana.",
-You don't have enought Loyalty Points to redeem,"Nie masz wystarczającej liczby Punktów Lojalnościowych, aby je wykorzystać",
-You have already assessed for the assessment criteria {}.,Oceniałeś już kryteria oceny {}.,
-You have already selected items from {0} {1},Już wybrane pozycje z {0} {1},
-You have been invited to collaborate on the project: {0},Zostałeś zaproszony do współpracy przy projekcie: {0},
-You have entered duplicate items. Please rectify and try again.,Wprowadziłeś duplikat istniejących rzeczy. Sprawdź i spróbuj ponownie,
-You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,"Aby zarejestrować się w Marketplace, musisz być użytkownikiem innym niż Administrator z rolami System Manager i Item Manager.",
-You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,"Musisz być użytkownikiem z rolami System Manager i Menedżera elementów, aby dodawać użytkowników do Marketplace.",
-You need to be a user with System Manager and Item Manager roles to register on Marketplace.,"Aby zarejestrować się w Marketplace, musisz być użytkownikiem z rolami System Manager i Item Manager.",
-You need to be logged in to access this page,Musisz być zalogowany aby uzyskać dostęp do tej strony,
-You need to enable Shopping Cart,Musisz włączyć Koszyk,
-You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Utracisz zapis wcześniej wygenerowanych faktur. Czy na pewno chcesz zrestartować tę subskrypcję?,
-Your Organization,Twoja organizacja,
-Your cart is Empty,Twój koszyk jest pusty,
-Your email address...,Twój adres email...,
-Your order is out for delivery!,Twoje zamówienie jest na dostawę!,
-Your tickets,Twoje bilety,
-ZIP Code,Kod pocztowy,
-[Error],[Błąd],
-[{0}](#Form/Item/{0}) is out of stock,[{0}] (# Postać / poz / {0}) jest niedostępne,
-`Freeze Stocks Older Than` should be smaller than %d days.,Zapasy starsze niż' powinny być starczyć na %d dni,
-based_on,oparte na,
-cannot be greater than 100,nie może być większa niż 100,
-disabled user,Wyłączony użytkownik,
-"e.g. ""Build tools for builders""","np. ""Buduj narzędzia dla budowniczych""",
-"e.g. ""Primary School"" or ""University""",np &quot;Szkoła Podstawowa&quot; lub &quot;Uniwersytet&quot;,
-"e.g. Bank, Cash, Credit Card","np. bank, gotówka, karta kredytowa",
-hidden,ukryty,
-modified,Zmodyfikowano,
-old_parent,old_parent,
-on,włączony,
-{0} '{1}' is disabled,{0} '{1}' jest wyłączony,
-{0} '{1}' not in Fiscal Year {2},{0} '{1}' nie w roku podatkowym {2},
-{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) nie może być większe niż planowana ilość ({2}) w zleceniu pracy {3},
-{0} - {1} is inactive student,{0} - {1} to nieaktywny student,
-{0} - {1} is not enrolled in the Batch {2},{0} - {1} nie jest powiązana z transakcją {2},
-{0} - {1} is not enrolled in the Course {2},{0} - {1} nie jest zapisany do kursu {2},
-{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} Budżet dla rachunku {1} w stosunku do {2} {3} wynosi {4}. Będzie przekraczać o {5},
-{0} Digest,{0} Streszczenie,
-{0} Request for {1},{0} Wniosek o {1},
-{0} Result submittted,{0} Wynik wysłano,
-{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} Numery seryjne wymagane dla pozycji {1}. Podałeś {2}.,
-{0} Student Groups created.,{0} Utworzono grupy studentów.,
-{0} Students have been enrolled,{0} Studenci zostali zapisani,
-{0} against Bill {1} dated {2},{0} przed rachunkiem {1} z dnia {2},
-{0} against Purchase Order {1},{0} przed Zamówieniem Zakupu  {1},
-{0} against Sales Invoice {1},{0} na fakturę sprzedaży {1},
-{0} against Sales Order {1},{0} przed Zleceniem Sprzedaży {1},
-{0} already allocated for Employee {1} for period {2} to {3},{0} już przydzielone Pracodawcy {1} dla okresu {2} do {3},
-{0} applicable after {1} working days,{0} obowiązuje po {1} dniach roboczych,
-{0} asset cannot be transferred,{0} zasób nie może zostać przetransferowany,
-{0} can not be negative,{0} nie może być ujemna,
-{0} created,{0} utworzone,
-"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.","{0} aktualnie posiada pozycję {1} Karty wyników dostawcy, a zlecenia kupna dostawcy powinny być wydawane z ostrożnością.",
-"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.","{0} aktualnie posiada {1} tabelę wyników karty wyników, a zlecenia RFQ dla tego dostawcy powinny być wydawane z ostrożnością.",
-{0} does not belong to Company {1},{0} nie należy do firmy {1},
-{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} nie ma harmonogramu służby zdrowia. Dodaj go do mistrza Healthcare Practitioner,
-{0} entered twice in Item Tax,{0} dwa razy wprowadzone w podatku produktu,
-{0} for {1},{0} do {1},
-{0} has been submitted successfully,{0} zostało pomyślnie przesłane,
-{0} has fee validity till {1},{0} ważność opłaty do {1},
-{0} hours,{0} godzin,
-{0} in row {1},{0} wiersze {1},
-{0} is blocked so this transaction cannot proceed,"Opcja {0} jest zablokowana, więc ta transakcja nie może być kontynuowana",
-{0} is mandatory,{0} jest obowiązkowe,
-{0} is mandatory for Item {1},{0} jest obowiązkowe dla elementu {1},
-{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,"{0} jest obowiązkowe. Możliwe, że rekord Wymiana walut nie jest utworzony dla {1} do {2}.",
-{0} is not a stock Item,{0} nie jest przechowywany na magazynie,
-{0} is not a valid Batch Number for Item {1},,
-{0} is not added in the table,{0} nie zostało dodane do tabeli,
-{0} is not in Optional Holiday List,{0} nie znajduje się na Opcjonalnej Liście Świątecznej,
-{0} is not in a valid Payroll Period,{0} nie jest w ważnym Okresie Rozliczeniowym,
-{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} jest teraz domyślnym rokiem finansowym. Odśwież swoją przeglądarkę aby zmiana weszła w życie,
-{0} is on hold till {1},{0} jest wstrzymane do {1},
-{0} item found.,Znaleziono {0} element.,
-{0} items found.,Znaleziono {0} przedmiotów.,
-{0} items in progress,{0} pozycji w przygotowaniu,
-{0} items produced,{0} pozycji wyprodukowanych,
-{0} must appear only once,{0} musi pojawić się tylko raz,
-{0} must be negative in return document,{0} musi być ujemna w dokumencie zwrotnym,
-{0} must be submitted,{0} musi zostać wysłany,
-{0} not allowed to transact with {1}. Please change the Company.,{0} nie może przeprowadzać transakcji z {1}. Zmień firmę.,
-{0} not found for item {1},{0} nie został znaleziony dla elementu {1},
-{0} parameter is invalid,Parametr {0} jest nieprawidłowy,
-{0} payment entries can not be filtered by {1},{0} wpisy płatności nie mogą być filtrowane przez {1},
-{0} should be a value between 0 and 100,{0} powinno być wartością z zakresu od 0 do 100,
-{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} jednostki [{1}] (# Kształt / szt / {1}) znajduje się w [{2}] (# Kształt / Warehouse / {2}),
-{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} jednostki {1} potrzebne w {2} na {3} {4} {5} w celu zrealizowania tej transakcji.,
-{0} units of {1} needed in {2} to complete this transaction.,"{0} jednostki {1} potrzebne w {2}, aby zakończyć tę transakcję.",
-{0} valid serial nos for Item {1},{0} prawidłowe numery seryjne dla Pozycji {1},
-{0} variants created.,Utworzono wariantów {0}.,
-{0} {1} created,{0} {1} utworzone,
-{0} {1} does not exist,{0} {1} nie istnieje,
-{0} {1} has been modified. Please refresh.,{0} {1} został zmodyfikowany. Proszę odświeżyć.,
-{0} {1} has not been submitted so the action cannot be completed,"{0} {1} nie został złożony, więc działanie nie może zostać zakończone",
-"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} jest powiązane z {2}, ale rachunek strony jest {3}",
-{0} {1} is cancelled or closed,{0} {1} zostanie anulowane lub zamknięte,
-{0} {1} is cancelled or stopped,{0} {1} jest anulowane lub wstrzymane,
-{0} {1} is cancelled so the action cannot be completed,"{0} {1} jest anulowany, więc działanie nie może zostać zakończone",
-{0} {1} is closed,{0} {1} jest zamknięty,
-{0} {1} is disabled,{0} {1} jest wyłączony,
-{0} {1} is frozen,{0} {1} jest zamrożone,
-{0} {1} is fully billed,{0} {1} jest w pełni rozliczone,
-{0} {1} is not active,{0} {1} jest nieaktywny,
-{0} {1} is not associated with {2} {3},{0} {1} nie jest powiązane z {2} {3},
-{0} {1} is not present in the parent company,{0} {1} nie występuje w firmie macierzystej,
-{0} {1} is not submitted,{0} {1} nie zostało dodane,
-{0} {1} is {2},{0} {1} to {2},
-{0} {1} must be submitted,{0} {1} musi zostać wysłane,
-{0} {1} not in any active Fiscal Year.,{0} {1} nie w każdej aktywnej roku obrotowego.,
-{0} {1} status is {2},{0} {1} jest ustawiony w stanie {2},
-{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,"{0} {1}: konto ""zysków i strat"" {2} jest niedozwolone w otwierającym wejściu",
-{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Rachunek {2} nie należy do firmy {3},
-{0} {1}: Account {2} is inactive,{0} {1}: Rachunek {2} jest nieaktywny,
-{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Wejście księgowe dla {2} mogą być dokonywane wyłącznie w walucie: {3},
-{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: MPK jest obowiązkowe dla pozycji {2},
-{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,"{0} {1}: Centrum kosztów jest wymagane dla rachunku ""Zyski i straty"" {2}. Proszę ustawić domyślne centrum kosztów dla firmy.",
-{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: Centrum kosztów {2} nie należy do firmy {3},
-{0} {1}: Customer is required against Receivable account {2},{0} {1}: Klient zobowiązany jest przed należność {2},
-{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Debet lub wielkość kredytu jest wymagana dla {2},
-{0} {1}: Supplier is required against Payable account {2},{0} {1}: Dostawca jest wymagany w odniesieniu do konta z możliwością opłacenia {2},
-{0}% Billed,{0}% rozliczono,
-{0}% Delivered,{0}% Dostarczono,
-"{0}: Employee email not found, hence email not sent","{0}: Email pracownika nie został znaleziony, dlatego wiadomość nie będzie wysłana",
-{0}: From {0} of type {1},{0}: Od {0} typu {1},
-{0}: From {1},{0}: {1} od,
-{0}: {1} does not exists,{0}: {1} nie istnieje,
-{0}: {1} not found in Invoice Details table,{0}: {1} Nie znaleziono tabeli w Szczegóły faktury,
-{} of {},{} z {},
-Assigned To,Przypisano do,
-Chat,Czat,
-Completed By,Ukończony przez,
-Conditions,Warunki,
-County,Powiat,
-Day of Week,Dzień tygodnia,
-"Dear System Manager,",Szanowny Dyrektorze ds. Systemu,
-Default Value,Domyślna wartość,
-Email Group,Grupa email,
-Email Settings,Ustawienia wiadomości e-mail,
-Email not sent to {0} (unsubscribed / disabled),E-mail nie wysłany do {0} (wypisany / wyłączony),
-Error Message,Komunikat o błędzie,
-Fieldtype,Typ pola,
-Help Articles,Artykuły pomocy,
-ID,ID,
-Images,Obrazy,
-Import,Import,
-Language,Język,
-Likes,Lubi,
-Merge with existing,Połączy się z istniejącą,
-Office,Biuro,
-Orientation,Orientacja,
-Parent,Nadrzędny,
-Passive,Nieaktywny,
-Payment Failed,Płatność nie powiodła się,
-Percent,Procent,
-Permanent,Stały,
-Personal,Osobiste,
-Plant,Zakład,
-Post,Stanowisko,
-Postal,Pocztowy,
-Postal Code,Kod pocztowy,
-Previous,Wstecz,
-Provider,Dostawca,
-Read Only,Tylko do odczytu,
-Recipient,Adresat,
-Reviews,Recenzje,
-Sender,Nadawca,
-Shop,Sklep,
-Subsidiary,Pomocniczy,
-There is some problem with the file url: {0},Jest jakiś problem z adresem URL pliku: {0},
-There were errors while sending email. Please try again.,Wystąpiły błędy podczas wysyłki e-mail. Proszę spróbuj ponownie.,
-Values Changed,Zmienione wartości,
-or,albo,
-Ageing Range 4,Zakres starzenia się 4,
-Allocated amount cannot be greater than unadjusted amount,Kwota przydzielona nie może być większa niż kwota nieskorygowana,
-Allocated amount cannot be negative,Przydzielona kwota nie może być ujemna,
-"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Konto różnicowe musi być kontem typu Asset / Liability, ponieważ ten wpis na giełdę jest wpisem otwierającym",
-Error in some rows,Błąd w niektórych wierszach,
-Import Successful,Import zakończony sukcesem,
-Please save first,Zapisz najpierw,
-Price not found for item {0} in price list {1},Nie znaleziono ceny dla przedmiotu {0} w cenniku {1},
-Warehouse Type,Typ magazynu,
-'Date' is required,„Data” jest wymagana,
-Benefit,Zasiłek,
-Budgets,Budżety,
-Bundle Qty,Ilość paczek,
-Company GSTIN,Firma GSTIN,
-Company field is required,Wymagane jest pole firmowe,
-Creating Dimensions...,Tworzenie wymiarów ...,
-Duplicate entry against the item code {0} and manufacturer {1},Zduplikowany wpis względem kodu produktu {0} i producenta {1},
-Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,Nieprawidłowy GSTIN! Wprowadzone dane nie odpowiadają formatowi GSTIN dla posiadaczy UIN lub nierezydentów dostawców usług OIDAR,
-Invoice Grand Total,Faktura Grand Total,
-Last carbon check date cannot be a future date,Data ostatniej kontroli emisji nie może być datą przyszłą,
-Make Stock Entry,Zrób wejście na giełdę,
-Quality Feedback,Opinie dotyczące jakości,
-Quality Feedback Template,Szablon opinii o jakości,
-Rules for applying different promotional schemes.,Zasady stosowania różnych programów promocyjnych.,
-Shift,Przesunięcie,
-Show {0},Pokaż {0},
-"Special Characters except '-', '#', '.', '/', '{{' and '}}' not allowed in naming series {0}","Znaki specjalne z wyjątkiem &quot;-&quot;, &quot;#&quot;, &quot;।&quot;, &quot;/&quot;, &quot;{{&quot; I &quot;}}&quot; niedozwolone w serii nazw {0}",
-Target Details,Szczegóły celu,
-{0} already has a Parent Procedure {1}.,{0} ma już procedurę nadrzędną {1}.,
-API,API,
-Annual,Roczny,
-Approved,Zatwierdzono,
-Change,Reszta,
-Contact Email,E-mail kontaktu,
-Export Type,Typ eksportu,
-From Date,Od daty,
-Group By,Grupuj według,
-Importing {0} of {1},Importowanie {0} z {1},
-Invalid URL,nieprawidłowy URL,
-Landscape,Krajobraz,
-Last Sync On,Ostatnia synchronizacja,
-Naming Series,Seria nazw,
-No data to export,Brak danych do eksportu,
-Portrait,Portret,
-Print Heading,Nagłówek do druku,
-Scheduler Inactive,Harmonogram nieaktywny,
-Scheduler is inactive. Cannot import data.,Program planujący jest nieaktywny. Nie można zaimportować danych.,
-Show Document,Pokaż dokument,
-Show Traceback,Pokaż śledzenie,
-Video,Wideo,
-Webhook Secret,Secret Webhook,
-% Of Grand Total,% Ogólnej sumy,
-'employee_field_value' and 'timestamp' are required.,Wymagane są „wartość_pola pracownika” i „znacznik czasu”.,
-<b>Company</b> is a mandatory filter.,<b>Firma</b> jest obowiązkowym filtrem.,
-<b>From Date</b> is a mandatory filter.,<b>Od daty</b> jest obowiązkowym filtrem.,
-<b>From Time</b> cannot be later than <b>To Time</b> for {0},<b>Od godziny</b> nie może być późniejsza niż <b>do godziny</b> dla {0},
-<b>To Date</b> is a mandatory filter.,<b>To Data</b> jest obowiązkowym filtrem.,
-A new appointment has been created for you with {0},Utworzono dla ciebie nowe spotkanie z {0},
-Account Value,Wartość konta,
-Account is mandatory to get payment entries,"Konto jest obowiązkowe, aby uzyskać wpisy płatności",
-Account is not set for the dashboard chart {0},Konto nie jest ustawione dla wykresu deski rozdzielczej {0},
-Account {0} does not belong to company {1},Konto {0} nie jest przypisane do Firmy {1},
-Account {0} does not exists in the dashboard chart {1},Konto {0} nie istnieje na schemacie deski rozdzielczej {1},
-Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Konto: <b>{0}</b> to kapitał Trwają prace i nie można go zaktualizować za pomocą zapisu księgowego,
-Account: {0} is not permitted under Payment Entry,Konto: {0} jest niedozwolone w ramach wprowadzania płatności,
-Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,Wymiar księgowy <b>{0}</b> jest wymagany dla konta „Bilans” {1}.,
-Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,Wymiar księgowy <b>{0}</b> jest wymagany dla konta „Zysk i strata” {1}.,
-Accounting Masters,Mistrzowie rachunkowości,
-Accounting Period overlaps with {0},Okres rozliczeniowy pokrywa się z {0},
-Activity,Aktywność,
-Add / Manage Email Accounts.,Dodaj / Zarządzaj kontami poczty e-mail.,
-Add Child,Dodaj pod-element,
-Add Loan Security,Dodaj zabezpieczenia pożyczki,
-Add Multiple,Dodaj wiele,
-Add Participants,Dodaj uczestników,
-Add to Featured Item,Dodaj do polecanego elementu,
-Add your review,Dodaj swoją opinię,
-Add/Edit Coupon Conditions,Dodaj / edytuj warunki kuponu,
-Added to Featured Items,Dodano do polecanych przedmiotów,
-Added {0} ({1}),Dodano {0} ({1}),
-Address Line 1,Pierwszy wiersz adresu,
-Addresses,Adresy,
-Admission End Date should be greater than Admission Start Date.,Data zakończenia przyjęcia powinna być większa niż data rozpoczęcia przyjęcia.,
-Against Loan,Przeciw pożyczce,
-Against Loan:,Przeciw pożyczce:,
-All,Wszystko,
-All bank transactions have been created,Wszystkie transakcje bankowe zostały utworzone,
-All the depreciations has been booked,Wszystkie amortyzacje zostały zarezerwowane,
-Allocation Expired!,Przydział wygasł!,
-Allow Resetting Service Level Agreement from Support Settings.,Zezwalaj na resetowanie umowy o poziomie usług z ustawień wsparcia.,
-Amount of {0} is required for Loan closure,Kwota {0} jest wymagana do zamknięcia pożyczki,
-Amount paid cannot be zero,Kwota wypłacona nie może wynosić zero,
-Applied Coupon Code,Zastosowany kod kuponu,
-Apply Coupon Code,Wprowadź Kod Kuponu,
-Appointment Booking,Rezerwacja terminu,
-"As there are existing transactions against item {0}, you can not change the value of {1}","Ponieważ istnieje istniejące transakcje przeciwko elementu {0}, nie można zmienić wartość {1}",
-Asset Id,Identyfikator zasobu,
-Asset Value,Wartość aktywów,
-Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,Korekta wartości aktywów nie może zostać zaksięgowana przed datą zakupu aktywów <b>{0}</b> .,
-Asset {0} does not belongs to the custodian {1},Zasób {0} nie należy do depozytariusza {1},
-Asset {0} does not belongs to the location {1},Zasób {0} nie należy do lokalizacji {1},
-At least one of the Applicable Modules should be selected,Należy wybrać co najmniej jeden z odpowiednich modułów,
-Atleast one asset has to be selected.,Należy wybrać co najmniej jeden zasób.,
-Attendance Marked,Obecność oznaczona,
-Attendance has been marked as per employee check-ins,Frekwencja została oznaczona na podstawie odprawy pracownika,
-Authentication Failed,Uwierzytelnianie nie powiodło się,
-Automatic Reconciliation,Automatyczne uzgadnianie,
-Available For Use Date,Data użycia,
-Available Stock,Dostępne zapasy,
-"Available quantity is {0}, you need {1}","Dostępna ilość to {0}, potrzebujesz {1}",
-BOM 1,LM 1,
-BOM 2,BOM 2,
-BOM Comparison Tool,Narzędzie do porównywania LM,
-BOM recursion: {0} cannot be child of {1},Rekurs BOM: {0} nie może być dzieckiem {1},
-BOM recursion: {0} cannot be parent or child of {1},Rekursja BOM: {0} nie może być rodzicem ani dzieckiem {1},
-Back to Home,Wrócić do domu,
-Back to Messages,Powrót do wiadomości,
-Bank Data mapper doesn't exist,Maper danych banku nie istnieje,
-Bank Details,Dane bankowe,
-Bank account '{0}' has been synchronized,Konto bankowe „{0}” zostało zsynchronizowane,
-Bank account {0} already exists and could not be created again,Konto bankowe {0} już istnieje i nie można go utworzyć ponownie,
-Bank accounts added,Dodano konta bankowe,
-Batch no is required for batched item {0},Nr partii jest wymagany dla pozycji wsadowej {0},
-Billing Date,Termin spłaty,
-Billing Interval Count cannot be less than 1,Liczba interwałów rozliczeniowych nie może być mniejsza niż 1,
-Blue,Niebieski,
-Book,Książka,
-Book Appointment,Umów wizytę,
-Brand,Marka,
-Browse,Przeglądaj,
-Call Connected,Połącz Połączony,
-Call Disconnected,Zadzwoń Rozłączony,
-Call Missed,Nieodebrane połączenie,
-Call Summary,Podsumowanie połączenia,
-Call Summary Saved,Podsumowanie połączeń zapisane,
-Cancelled,Anulowany,
-Cannot Calculate Arrival Time as Driver Address is Missing.,"Nie można obliczyć czasu przybycia, ponieważ brakuje adresu sterownika.",
-Cannot Optimize Route as Driver Address is Missing.,"Nie można zoptymalizować trasy, ponieważ brakuje adresu sterownika.",
-Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,"Nie można ukończyć zadania {0}, ponieważ jego zależne zadanie {1} nie zostało zakończone / anulowane.",
-Cannot create loan until application is approved,"Nie można utworzyć pożyczki, dopóki wniosek nie zostanie zatwierdzony",
-Cannot find a matching Item. Please select some other value for {0}.,Nie możesz znaleźć pasujący element. Proszę wybrać jakąś inną wartość dla {0}.,
-"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Nie można przepłacić za element {0} w wierszu {1} więcej niż {2}. Aby zezwolić na nadmierne fakturowanie, ustaw limit w Ustawieniach kont",
-"Capacity Planning Error, planned start time can not be same as end time","Błąd planowania wydajności, planowany czas rozpoczęcia nie może być taki sam jak czas zakończenia",
-Categories,Kategorie,
-Changes in {0},Zmiany w {0},
-Chart,Wykres,
-Choose a corresponding payment,Wybierz odpowiednią płatność,
-Click on the link below to verify your email and confirm the appointment,"Kliknij poniższy link, aby zweryfikować swój adres e-mail i potwierdzić spotkanie",
-Close,Zamknij,
-Communication,Komunikacja,
-Compact Item Print,Compact Element Drukuj,
-Company,Firma,
-Company of asset {0} and purchase document {1} doesn't matches.,Firma zasobu {0} i dokument zakupu {1} nie pasują.,
-Compare BOMs for changes in Raw Materials and Operations,Porównaj LM dla zmian w surowcach i operacjach,
-Compare List function takes on list arguments,Funkcja listy porównawczej przyjmuje argumenty listy,
-Complete,Kompletny,
-Completed,Zakończono,
-Completed Quantity,Ukończona ilość,
-Connect your Exotel Account to ERPNext and track call logs,Połącz swoje konto Exotel z ERPNext i śledź dzienniki połączeń,
-Connect your bank accounts to ERPNext,Połącz swoje konta bankowe z ERPNext,
-Contact Seller,Skontaktuj się ze sprzedawcą,
-Continue,Kontynuuj,
-Cost Center: {0} does not exist,Centrum kosztów: {0} nie istnieje,
-Couldn't Set Service Level Agreement {0}.,Nie można ustawić umowy o poziomie usług {0}.,
-Country,Kraj,
-Country Code in File does not match with country code set up in the system,Kod kraju w pliku nie zgadza się z kodem kraju skonfigurowanym w systemie,
-Create New Contact,Utwórz nowy kontakt,
-Create New Lead,Utwórz nowego potencjalnego klienta,
-Create Pick List,Utwórz listę wyboru,
-Create Quality Inspection for Item {0},Utwórz kontrolę jakości dla przedmiotu {0},
-Creating Accounts...,Tworzenie kont ...,
-Creating bank entries...,Tworzenie wpisów bankowych ...,
-Credit limit is already defined for the Company {0},Limit kredytowy jest już zdefiniowany dla firmy {0},
-Ctrl + Enter to submit,"Ctrl + Enter, aby przesłać",
-Ctrl+Enter to submit,"Ctrl + Enter, aby przesłać",
-Currency,Waluta,
-Current Status,Bieżący status,
-Customer PO,Klient PO,
-Customize,Dostosuj,
-Daily,Codziennie,
-Date,Data,
-Date Range,Zakres dat,
-Date of Birth cannot be greater than Joining Date.,Data urodzenia nie może być większa niż data przystąpienia.,
-Dear,Drogi,
-Default,Domyślny,
-Define coupon codes.,Zdefiniuj kody kuponów.,
-Delayed Days,Opóźnione dni,
-Delete,Usuń,
-Delivered Quantity,Dostarczona ilość,
-Delivery Notes,Dokumenty dostawy,
-Depreciated Amount,Amortyzowana kwota,
-Description,Opis,
-Designation,Nominacja,
-Difference Value,Różnica wartości,
-Dimension Filter,Filtr wymiarów,
-Disabled,Nieaktywny,
-Disbursement and Repayment,Wypłata i spłata,
-Distance cannot be greater than 4000 kms,Odległość nie może być większa niż 4000 km,
-Do you want to submit the material request,Czy chcesz przesłać żądanie materiałowe,
-Doctype,Doctype,
-Document {0} successfully uncleared,Dokument {0} został pomyślnie usunięty,
-Download Template,Ściągnij Szablon,
-Dr,Dr,
-Due Date,Termin,
-Duplicate,Powiel,
-Duplicate Project with Tasks,Duplikuj projekt z zadaniami,
-Duplicate project has been created,Utworzono zduplikowany projekt,
-E-Way Bill JSON can only be generated from a submitted document,e-Way Bill JSON można wygenerować tylko z przesłanego dokumentu,
-E-Way Bill JSON can only be generated from submitted document,e-Way Bill JSON można wygenerować tylko z przesłanego dokumentu,
-E-Way Bill JSON cannot be generated for Sales Return as of now,e-Way Bill JSON nie może być teraz generowany dla zwrotu sprzedaży,
-ERPNext could not find any matching payment entry,ERPNext nie mógł znaleźć żadnego pasującego wpisu płatności,
-Earliest Age,Najwcześniejszy wiek,
-Edit Details,Edytuj szczegóły,
-Edit Profile,Edytuj profil,
-Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,"Wymagany jest identyfikator transportera GST lub nr pojazdu, jeśli tryb transportu to Droga",
-Email,E-mail,
-Email Campaigns,Kampanie e-mail,
-Employee ID is linked with another instructor,Identyfikator pracownika jest powiązany z innym instruktorem,
-Employee Tax and Benefits,Podatek i świadczenia pracownicze,
-Employee is required while issuing Asset {0},Wymagany jest pracownik przy wydawaniu środka trwałego {0},
-Employee {0} does not belongs to the company {1},Pracownik {0} nie należy do firmy {1},
-Enable Auto Re-Order,Włącz automatyczne ponowne zamówienie,
-End Date of Agreement can't be less than today.,Data zakończenia umowy nie może być mniejsza niż dzisiaj.,
-End Time,Czas zakończenia,
-Energy Point Leaderboard,Tabela punktów energetycznych,
-Enter API key in Google Settings.,Wprowadź klucz API w Ustawieniach Google.,
-Enter Supplier,Wpisz dostawcę,
-Enter Value,Wpisz Wartość,
-Entity Type,Typ encji,
-Error,Błąd,
-Error in Exotel incoming call,Błąd połączenia przychodzącego Exotel,
-Error: {0} is mandatory field,Błąd: {0} to pole obowiązkowe,
-Event Link,Link do wydarzenia,
-Exception occurred while reconciling {0},Wystąpił wyjątek podczas uzgadniania {0},
-Expected and Discharge dates cannot be less than Admission Schedule date,Oczekiwana data i data zwolnienia nie mogą być krótsze niż data harmonogramu przyjęć,
-Expire Allocation,Wygaś przydział,
-Expired,Upłynął,
-Export,Eksport,
-Export not allowed. You need {0} role to export.,eksport nie jest dozwolony. Potrzebujesz {0} modeli żeby eksportować,
-Failed to add Domain,Nie udało się dodać domeny,
-Fetch Items from Warehouse,Pobierz przedmioty z magazynu,
-Fetching...,Ujmujący...,
-Field,Pole,
-File Manager,Menedżer plików,
-Filters,Filtry,
-Finding linked payments,Znajdowanie powiązanych płatności,
-Fleet Management,Fleet Management,
-Following fields are mandatory to create address:,"Aby utworzyć adres, należy podać następujące pola:",
-For Month,Na miesiąc,
-"For item {0} at row {1}, count of serial numbers does not match with the picked quantity",Dla pozycji {0} w wierszu {1} liczba numerów seryjnych nie zgadza się z pobraną ilością,
-For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Dla operacji {0}: Ilość ({1}) nie może być greter wyższa niż ilość oczekująca ({2}),
-For quantity {0} should not be greater than work order quantity {1},Dla ilości {0} nie powinna być większa niż ilość zlecenia pracy {1},
-Free item not set in the pricing rule {0},Darmowy element nie jest ustawiony w regule cenowej {0},
-From Date and To Date are Mandatory,Od daty i daty są obowiązkowe,
-From employee is required while receiving Asset {0} to a target location,Od pracownika jest wymagany przy odbiorze Zasoby {0} do docelowej lokalizacji,
-Fuel Expense,Koszt paliwa,
-Future Payment Amount,Kwota przyszłej płatności,
-Future Payment Ref,Przyszła płatność Nr ref,
-Future Payments,Przyszłe płatności,
-GST HSN Code does not exist for one or more items,Kod GST HSN nie istnieje dla jednego lub więcej przedmiotów,
-Generate E-Way Bill JSON,Generuj e-Way Bill JSON,
-Get Items,Pobierz,
-Get Outstanding Documents,Uzyskaj znakomite dokumenty,
-Goal,Cel,
-Greater Than Amount,Większa niż kwota,
-Green,Zielony,
-Group,Grupa,
-Group By Customer,Grupuj według klienta,
-Group By Supplier,Grupuj według dostawcy,
-Group Node,Węzeł Grupy,
-Group Warehouses cannot be used in transactions. Please change the value of {0},Magazyny grupowe nie mogą być używane w transakcjach. Zmień wartość {0},
-Help,Pomoc,
-Help Article,Artykuł pomocy,
-"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Pomaga śledzić kontrakty na podstawie dostawcy, klienta i pracownika",
-Helps you manage appointments with your leads,Pomaga zarządzać spotkaniami z potencjalnymi klientami,
-Home,Start,
-IBAN is not valid,IBAN jest nieprawidłowy,
-Import Data from CSV / Excel files.,Importuj dane z plików CSV / Excel.,
-In Progress,W trakcie,
-Incoming call from {0},Połączenie przychodzące od {0},
-Incorrect Warehouse,Niepoprawny magazyn,
-Intermediate,Pośredni,
-Invalid Barcode. There is no Item attached to this barcode.,Nieprawidłowy kod kreskowy. Brak kodu dołączonego do tego kodu kreskowego.,
-Invalid credentials,Nieprawidłowe poświadczenia,
-Invite as User,Zaproś jako Użytkownik,
-Issue Priority.,Priorytet wydania.,
-Issue Type.,Typ problemu.,
-"It seems that there is an issue with the server's stripe configuration. In case of failure, the amount will get refunded to your account.","Wygląda na to, że istnieje problem z konfiguracją pasków serwera. W przypadku niepowodzenia kwota zostanie zwrócona na Twoje konto.",
-Item Reported,Zgłoszony element,
-Item listing removed,Usunięto listę produktów,
-Item quantity can not be zero,Ilość towaru nie może wynosić zero,
-Item taxes updated,Zaktualizowano podatki od towarów,
-Item {0}: {1} qty produced. ,Produkt {0}: wyprodukowano {1} sztuk.,
-Joining Date can not be greater than Leaving Date,Data dołączenia nie może być większa niż Data opuszczenia,
-Lab Test Item {0} already exist,Element testu laboratoryjnego {0} już istnieje,
-Last Issue,Ostatnie wydanie,
-Latest Age,Późne stadium,
-Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,Wniosek o urlop jest powiązany z przydziałem urlopu {0}. Wniosek o urlop nie może być ustawiony jako urlop bez wynagrodzenia,
-Leaves Taken,Zrobione liście,
-Less Than Amount,Mniej niż kwota,
-Liabilities,Zadłużenie,
-Loading...,Wczytuję...,
-Loan Amount exceeds maximum loan amount of {0} as per proposed securities,Kwota pożyczki przekracza maksymalną kwotę pożyczki w wysokości {0} zgodnie z proponowanymi papierami wartościowymi,
-Loan Applications from customers and employees.,Wnioski o pożyczkę od klientów i pracowników.,
-Loan Disbursement,Wypłata pożyczki,
-Loan Processes,Procesy pożyczkowe,
-Loan Security,Zabezpieczenie pożyczki,
-Loan Security Pledge,Zobowiązanie do zabezpieczenia pożyczki,
-Loan Security Pledge Created : {0},Utworzono zastaw na zabezpieczeniu pożyczki: {0},
-Loan Security Price,Cena zabezpieczenia pożyczki,
-Loan Security Price overlapping with {0},Cena zabezpieczenia kredytu pokrywająca się z {0},
-Loan Security Unpledge,Zabezpieczenie pożyczki Unpledge,
-Loan Security Value,Wartość zabezpieczenia pożyczki,
-Loan Type for interest and penalty rates,Rodzaj pożyczki na odsetki i kary pieniężne,
-Loan amount cannot be greater than {0},Kwota pożyczki nie może być większa niż {0},
-Loan is mandatory,Pożyczka jest obowiązkowa,
-Loans,Pożyczki,
-Loans provided to customers and employees.,Pożyczki udzielone klientom i pracownikom.,
-Location,Lokacja,
-Log Type is required for check-ins falling in the shift: {0}.,Typ dziennika jest wymagany w przypadku zameldowań przypadających na zmianę: {0}.,
-Looks like someone sent you to an incomplete URL. Please ask them to look into it.,"Wygląda jak ktoś wysłał do niekompletnego adresu URL. Proszę poprosić ich, aby na nią patrzeć.",
-Make Journal Entry,Dodaj wpis do dziennika,
-Make Purchase Invoice,Nowa faktura zakupu,
-Manufactured,Zrobiony fabrycznie,
-Mark Work From Home,Oznacz pracę z domu,
-Master,Magister,
-Max strength cannot be less than zero.,Maksymalna siła nie może być mniejsza niż zero.,
-Maximum attempts for this quiz reached!,Osiągnięto maksymalną liczbę prób tego quizu!,
-Message,Wiadomość,
-Missing Values Required,Uzupełnij Brakujące Wartości,
-Mobile No,Nr tel. Komórkowego,
-Mobile Number,Numer telefonu komórkowego,
-Month,Miesiąc,
-Name,Nazwa,
-Near you,Blisko Ciebie,
-Net Profit/Loss,Zysk / strata netto,
-New Expense,Nowy wydatek,
-New Invoice,Nowa faktura,
-New Payment,Nowa płatność,
-New release date should be in the future,Nowa data wydania powinna być w przyszłości,
-Newsletter,Newsletter,
-No Account matched these filters: {},Brak kont pasujących do tych filtrów: {},
-No Employee found for the given employee field value. '{}': {},Nie znaleziono pracownika dla danej wartości pola pracownika. &#39;{}&#39;: {},
-No Leaves Allocated to Employee: {0} for Leave Type: {1},Brak urlopów przydzielonych pracownikowi: {0} dla typu urlopu: {1},
-No communication found.,Nie znaleziono komunikacji.,
-No correct answer is set for {0},Brak poprawnej odpowiedzi dla {0},
-No description,Bez opisu,
-No issue has been raised by the caller.,Dzwoniący nie podniósł żadnego problemu.,
-No items to publish,Brak elementów do opublikowania,
-No outstanding invoices found,Nie znaleziono żadnych zaległych faktur,
-No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,"Nie znaleziono zaległych faktur za {0} {1}, które kwalifikują określone filtry.",
-No outstanding invoices require exchange rate revaluation,Żadne zaległe faktury nie wymagają aktualizacji kursu walutowego,
-No reviews yet,Brak recenzji,
-No views yet,Brak jeszcze wyświetleń,
-Non stock items,Pozycje niedostępne,
-Not Allowed,Nie dozwolone,
-Not allowed to create accounting dimension for {0},Nie wolno tworzyć wymiaru księgowego dla {0},
-Not permitted. Please disable the Lab Test Template,Nie dozwolone. Wyłącz szablon testu laboratoryjnego,
-Note,Notatka,
-Notes: ,Notatki:,
-On Converting Opportunity,O możliwościach konwersji,
-On Purchase Order Submission,Po złożeniu zamówienia,
-On Sales Order Submission,Przy składaniu zamówienia sprzedaży,
-On Task Completion,Po zakończeniu zadania,
-On {0} Creation,W dniu {0} Creation,
-Only .csv and .xlsx files are supported currently,Aktualnie obsługiwane są tylko pliki .csv i .xlsx,
-Only expired allocation can be cancelled,Tylko wygasły przydział można anulować,
-Only users with the {0} role can create backdated leave applications,Tylko użytkownicy z rolą {0} mogą tworzyć aplikacje urlopowe z datą wsteczną,
-Open,otwarty,
-Open Contact,Otwarty kontakt,
-Open Lead,Ołów otwarty,
-Opening and Closing,Otwieranie i zamykanie,
-Operating Cost as per Work Order / BOM,Koszt operacyjny według zlecenia pracy / BOM,
-Order Amount,Kwota zamówienia,
-Page {0} of {1},Strona {0} z {1},
-Paid amount cannot be less than {0},Kwota wpłaty nie może być mniejsza niż {0},
-Parent Company must be a group company,Firma macierzysta musi być spółką grupy,
-Passing Score value should be between 0 and 100,Wartość Passing Score powinna wynosić od 0 do 100,
-Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,Polityka haseł nie może zawierać spacji ani jednoczesnych myślników. Format zostanie automatycznie zrestrukturyzowany,
-Patient History,Historia pacjenta,
-Pause,Pauza,
-Pay,Zapłacone,
-Payment Document Type,Typ dokumentu płatności,
-Payment Name,Nazwa płatności,
-Penalty Amount,Kwota kary,
-Pending,W toku,
-Performance,Występ,
-Period based On,Okres oparty na,
-Perpetual inventory required for the company {0} to view this report.,"Aby przeglądać ten raport, firma musi mieć ciągłe zapasy.",
-Phone,Telefon,
-Pick List,Lista wyboru,
-Plaid authentication error,Błąd uwierzytelniania w kratkę,
-Plaid public token error,Błąd publicznego znacznika w kratkę,
-Plaid transactions sync error,Błąd synchronizacji transakcji Plaid,
-Please check the error log for details about the import errors,"Sprawdź dziennik błędów, aby uzyskać szczegółowe informacje na temat błędów importu",
-Please create <b>DATEV Settings</b> for Company <b>{}</b>.,<b>Utwórz ustawienia DATEV</b> dla firmy <b>{}</b> .,
-Please create adjustment Journal Entry for amount {0} ,Utwórz korektę Zapis księgowy dla kwoty {0},
-Please do not create more than 500 items at a time,Nie twórz więcej niż 500 pozycji naraz,
-Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Wprowadź <b>konto różnicowe</b> lub ustaw domyślne <b>konto korekty zapasów</b> dla firmy {0},
-Please enter GSTIN and state for the Company Address {0},Wprowadź GSTIN i podaj adres firmy {0},
-Please enter Item Code to get item taxes,"Wprowadź kod produktu, aby otrzymać podatki od przedmiotu",
-Please enter Warehouse and Date,Proszę podać Magazyn i datę,
-Please enter the designation,Proszę podać oznaczenie,
-Please login as a Marketplace User to edit this item.,"Zaloguj się jako użytkownik Marketplace, aby edytować ten element.",
-Please login as a Marketplace User to report this item.,"Zaloguj się jako użytkownik Marketplace, aby zgłosić ten element.",
-Please select <b>Template Type</b> to download template,"Wybierz <b>Typ szablonu,</b> aby pobrać szablon",
-Please select Applicant Type first,Najpierw wybierz typ wnioskodawcy,
-Please select Customer first,Najpierw wybierz klienta,
-Please select Item Code first,Najpierw wybierz Kod produktu,
-Please select Loan Type for company {0},Wybierz typ pożyczki dla firmy {0},
-Please select a Delivery Note,Wybierz dowód dostawy,
-Please select a Sales Person for item: {0},Wybierz sprzedawcę dla produktu: {0},
-Please select another payment method. Stripe does not support transactions in currency '{0}',Wybierz inną metodę płatności. Stripe nie obsługuje transakcji w walucie &#39;{0}&#39;,
-Please select the customer.,Wybierz klienta.,
-Please set a Supplier against the Items to be considered in the Purchase Order.,"Proszę ustawić Dostawcę na tle Przedmiotów, które należy uwzględnić w Zamówieniu.",
-Please set account heads in GST Settings for Compnay {0},Ustaw głowice kont w Ustawieniach GST dla Compnay {0},
-Please set an email id for the Lead {0},Ustaw identyfikator e-mail dla potencjalnego klienta {0},
-Please set default UOM in Stock Settings,Proszę ustawić domyślną JM w Ustawieniach magazynowych,
-Please set filter based on Item or Warehouse due to a large amount of entries.,Ustaw filtr na podstawie pozycji lub magazynu ze względu na dużą liczbę wpisów.,
-Please set up the Campaign Schedule in the Campaign {0},Ustaw harmonogram kampanii w kampanii {0},
-Please set valid GSTIN No. in Company Address for company {0},Ustaw prawidłowy numer GSTIN w adresie firmy dla firmy {0},
-Please set {0},Ustaw {0},customer
-Please setup a default bank account for company {0},Ustaw domyślne konto bankowe dla firmy {0},
-Please specify,Sprecyzuj,
-Please specify a {0},Proszę podać {0},lead
-Pledge Status,Status zobowiązania,
-Pledge Time,Czas przyrzeczenia,
-Printing,Druk,
-Priority,Priorytet,
-Priority has been changed to {0}.,Priorytet został zmieniony na {0}.,
-Priority {0} has been repeated.,Priorytet {0} został powtórzony.,
-Processing XML Files,Przetwarzanie plików XML,
-Profitability,Rentowność,
-Project,Projekt,
-Proposed Pledges are mandatory for secured Loans,Proponowane zastawy są obowiązkowe dla zabezpieczonych pożyczek,
-Provide the academic year and set the starting and ending date.,Podaj rok akademicki i ustaw datę początkową i końcową.,
-Public token is missing for this bank,Brakuje publicznego tokena dla tego banku,
-Publish,Publikować,
-Publish 1 Item,Opublikuj 1 przedmiot,
-Publish Items,Publikuj przedmioty,
-Publish More Items,Opublikuj więcej przedmiotów,
-Publish Your First Items,Opublikuj swoje pierwsze przedmioty,
-Publish {0} Items,Opublikuj {0} przedmiotów,
-Published Items,Opublikowane przedmioty,
-Purchase Invoice cannot be made against an existing asset {0},Nie można wystawić faktury zakupu na istniejący zasób {0},
-Purchase Invoices,Faktury zakupu,
-Purchase Orders,Zlecenia kupna,
-Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,"W potwierdzeniu zakupu nie ma żadnego elementu, dla którego włączona jest opcja Zachowaj próbkę.",
-Purchase Return,Zwrot zakupu,
-Qty of Finished Goods Item,Ilość produktu gotowego,
-Qty or Amount is mandatroy for loan security,Ilość lub Kwota jest mandatroy dla zabezpieczenia kredytu,
-Quality Inspection required for Item {0} to submit,Kontrola jakości wymagana do przesłania pozycji {0},
-Quantity to Manufacture,Ilość do wyprodukowania,
-Quantity to Manufacture can not be zero for the operation {0},Ilość do wyprodukowania nie może wynosić zero dla operacji {0},
-Quarterly,Kwartalnie,
-Queued,W kolejce,
-Quick Entry,Szybkie wejścia,
-Quiz {0} does not exist,Quiz {0} nie istnieje,
-Quotation Amount,Kwota oferty,
-Rate or Discount is required for the price discount.,Do obniżki ceny wymagana jest stawka lub zniżka.,
-Reason,Powód,
-Reconcile Entries,Uzgodnij wpisy,
-Reconcile this account,Uzgodnij to konto,
-Reconciled,Uzgodnione,
-Recruitment,Rekrutacja,
-Red,Czerwony,
-Refreshing,Odświeżam,
-Release date must be in the future,Data wydania musi być w przyszłości,
-Relieving Date must be greater than or equal to Date of Joining,Data zwolnienia musi być większa lub równa dacie przystąpienia,
-Rename,Zmień nazwę,
-Rename Not Allowed,Zmień nazwę na Niedozwolone,
-Repayment Method is mandatory for term loans,Metoda spłaty jest obowiązkowa w przypadku pożyczek terminowych,
-Repayment Start Date is mandatory for term loans,Data rozpoczęcia spłaty jest obowiązkowa w przypadku pożyczek terminowych,
-Report Item,Zgłoś przedmiot,
-Report this Item,Zgłoś ten przedmiot,
-Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Zarezerwowana ilość dla umowy podwykonawczej: ilość surowców do wytworzenia elementów podwykonawczych.,
-Reset,Nastawić,
-Reset Service Level Agreement,Zresetuj umowę o poziomie usług,
-Resetting Service Level Agreement.,Resetowanie umowy o poziomie usług.,
-Return amount cannot be greater unclaimed amount,Kwota zwrotu nie może być większa niż kwota nieodebrana,
-Review,Przejrzeć,
-Room,Pokój,
-Room Type,Rodzaj pokoju,
-Row # ,Wiersz #,
-Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Wiersz # {0}: Magazyn zaakceptowany i magazyn dostawcy nie mogą być takie same,
-Row #{0}: Cannot delete item {1} which has already been billed.,"Wiersz # {0}: Nie można usunąć elementu {1}, który został już rozliczony.",
-Row #{0}: Cannot delete item {1} which has already been delivered,"Wiersz # {0}: Nie można usunąć elementu {1}, który został już dostarczony",
-Row #{0}: Cannot delete item {1} which has already been received,"Wiersz # {0}: Nie można usunąć elementu {1}, który został już odebrany",
-Row #{0}: Cannot delete item {1} which has work order assigned to it.,"Wiersz # {0}: Nie można usunąć elementu {1}, któremu przypisano zlecenie pracy.",
-Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,"Wiersz # {0}: Nie można usunąć elementu {1}, który jest przypisany do zamówienia zakupu klienta.",
-Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Wiersz # {0}: nie można wybrać magazynu dostawcy podczas dostarczania surowców do podwykonawcy,
-Row #{0}: Cost Center {1} does not belong to company {2},Wiersz # {0}: Centrum kosztów {1} nie należy do firmy {2},
-Row #{0}: Operation {1} is not completed for {2} qty of finished goods in Work Order {3}. Please update operation status via Job Card {4}.,Wiersz # {0}: operacja {1} nie została zakończona dla {2} ilości gotowych produktów w zleceniu pracy {3}. Zaktualizuj status operacji za pomocą karty pracy {4}.,
-Row #{0}: Payment document is required to complete the transaction,Wiersz # {0}: dokument płatności jest wymagany do zakończenia transakcji,
-Row #{0}: Serial No {1} does not belong to Batch {2},Wiersz # {0}: numer seryjny {1} nie należy do partii {2},
-Row #{0}: Service End Date cannot be before Invoice Posting Date,Wiersz # {0}: data zakończenia usługi nie może być wcześniejsza niż data księgowania faktury,
-Row #{0}: Service Start Date cannot be greater than Service End Date,Wiersz # {0}: data rozpoczęcia usługi nie może być większa niż data zakończenia usługi,
-Row #{0}: Service Start and End Date is required for deferred accounting,Wiersz # {0}: data rozpoczęcia i zakończenia usługi jest wymagana dla odroczonej księgowości,
-Row {0}: Invalid Item Tax Template for item {1},Wiersz {0}: nieprawidłowy szablon podatku od towarów dla towaru {1},
-Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Wiersz {0}: ilość niedostępna dla {4} w magazynie {1} w czasie księgowania wpisu ({2} {3}),
-Row {0}: user has not applied the rule {1} on the item {2},Wiersz {0}: użytkownik nie zastosował reguły {1} do pozycji {2},
-Row {0}:Sibling Date of Birth cannot be greater than today.,Wiersz {0}: data urodzenia rodzeństwa nie może być większa niż dzisiaj.,
-Row({0}): {1} is already discounted in {2},Wiersz ({0}): {1} jest już zdyskontowany w {2},
-Rows Added in {0},Rzędy dodane w {0},
-Rows Removed in {0},Rzędy usunięte w {0},
-Sanctioned Amount limit crossed for {0} {1},Przekroczono limit kwoty usankcjonowanej dla {0} {1},
-Sanctioned Loan Amount already exists for {0} against company {1},Kwota sankcjonowanej pożyczki już istnieje dla {0} wobec firmy {1},
-Save,Zapisz,
-Save Item,Zapisz przedmiot,
-Saved Items,Zapisane przedmioty,
-Search Items ...,Szukaj przedmiotów ...,
-Search for a payment,Wyszukaj płatność,
-Search for anything ...,Wyszukaj cokolwiek ...,
-Search results for,Wyniki wyszukiwania dla,
-Select All,Wybierz wszystko,
-Select Difference Account,Wybierz konto różnicy,
-Select a Default Priority.,Wybierz domyślny priorytet.,
-Select a company,Wybierz firmę,
-Select finance book for the item {0} at row {1},Wybierz księgę finansową dla pozycji {0} w wierszu {1},
-Select only one Priority as Default.,Wybierz tylko jeden priorytet jako domyślny.,
-Seller Information,Informacje o sprzedawcy,
-Send,Wyślij,
-Send a message,Wysłać wiadomość,
-Sending,Wysyłanie,
-Sends Mails to lead or contact based on a Campaign schedule,Wysyła wiadomości e-mail do potencjalnego klienta lub kontaktu na podstawie harmonogramu kampanii,
-Serial Number Created,Utworzono numer seryjny,
-Serial Numbers Created,Utworzono numery seryjne,
-Serial no(s) required for serialized item {0},Nie są wymagane numery seryjne dla pozycji zserializowanej {0},
-Series,Seria,
-Server Error,błąd serwera,
-Service Level Agreement has been changed to {0}.,Umowa o poziomie usług została zmieniona na {0}.,
-Service Level Agreement was reset.,Umowa o poziomie usług została zresetowana.,
-Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Umowa o poziomie usług z typem podmiotu {0} i podmiotem {1} już istnieje.,
-Set,Zbiór,
-Set Meta Tags,Ustaw meta tagi,
-Set {0} in company {1},Ustaw {0} w firmie {1},
-Setup,Ustawienia,
-Setup Wizard,Ustawienia Wizard,
-Shift Management,Zarządzanie zmianą,
-Show Future Payments,Pokaż przyszłe płatności,
-Show Linked Delivery Notes,Pokaż połączone dowody dostawy,
-Show Sales Person,Pokaż sprzedawcę,
-Show Stock Ageing Data,Pokaż dane dotyczące starzenia się zapasów,
-Show Warehouse-wise Stock,Pokaż magazyn w magazynie,
-Size,Rozmiar,
-Something went wrong while evaluating the quiz.,Coś poszło nie tak podczas oceny quizu.,
-Sr,sr,
-Start,Start,
-Start Date cannot be before the current date,Data rozpoczęcia nie może być wcześniejsza niż bieżąca data,
-Start Time,Czas rozpoczęcia,
-Status,Status,
-Status must be Cancelled or Completed,Status musi zostać anulowany lub ukończony,
-Stock Balance Report,Raport stanu zapasów,
-Stock Entry has been already created against this Pick List,Zapis zapasów został już utworzony dla tej listy pobrania,
-Stock Ledger ID,Identyfikator księgi głównej,
-Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,Wartość zapasów ({0}) i saldo konta ({1}) nie są zsynchronizowane dla konta {2} i powiązanych magazynów.,
-Stores - {0},Sklepy - {0},
-Student with email {0} does not exist,Student z e-mailem {0} nie istnieje,
-Submit Review,Dodaj recenzję,
-Submitted,Zgłoszny,
-Supplier Addresses And Contacts,Adresy i kontakty dostawcy,
-Synchronize this account,Zsynchronizuj to konto,
-Tag,Etykietka,
-Target Location is required while receiving Asset {0} from an employee,Lokalizacja docelowa jest wymagana podczas otrzymywania środka {0} od pracownika,
-Target Location is required while transferring Asset {0},Lokalizacja docelowa jest wymagana podczas przenoszenia aktywów {0},
-Target Location or To Employee is required while receiving Asset {0},Lokalizacja docelowa lub Do pracownika jest wymagana podczas otrzymywania Zasobu {0},
-Task's {0} End Date cannot be after Project's End Date.,Data zakończenia zadania {0} nie może być późniejsza niż data zakończenia projektu.,
-Task's {0} Start Date cannot be after Project's End Date.,Data rozpoczęcia zadania {0} nie może być późniejsza niż data zakończenia projektu.,
-Tax Account not specified for Shopify Tax {0},Nie określono konta podatkowego dla Shopify Tax {0},
-Tax Total,Podatek ogółem,
-Template,Szablon,
-The Campaign '{0}' already exists for the {1} '{2}',Kampania „{0}” już istnieje dla {1} ”{2}”,
-The difference between from time and To Time must be a multiple of Appointment,Różnica między czasem a czasem musi być wielokrotnością terminu,
-The field Asset Account cannot be blank,Pole Konto aktywów nie może być puste,
-The field Equity/Liability Account cannot be blank,Pole Rachunek kapitału własnego / pasywnego nie może być puste,
-The following serial numbers were created: <br><br> {0},Utworzono następujące numery seryjne: <br><br> {0},
-The parent account {0} does not exists in the uploaded template,Konto nadrzędne {0} nie istnieje w przesłanym szablonie,
-The question cannot be duplicate,Pytanie nie może być duplikowane,
-The selected payment entry should be linked with a creditor bank transaction,Wybrany zapis płatności powinien być powiązany z transakcją banku wierzyciela,
-The selected payment entry should be linked with a debtor bank transaction,Wybrany zapis płatności powinien być powiązany z transakcją bankową dłużnika,
-The total allocated amount ({0}) is greated than the paid amount ({1}).,Łączna przydzielona kwota ({0}) jest przywitana niż wypłacona kwota ({1}).,
-There are no vacancies under staffing plan {0},W planie zatrudnienia nie ma wolnych miejsc pracy {0},
-This Service Level Agreement is specific to Customer {0},Niniejsza umowa dotycząca poziomu usług dotyczy wyłącznie klienta {0},
-This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,Ta czynność spowoduje odłączenie tego konta od dowolnej usługi zewnętrznej integrującej ERPNext z kontami bankowymi. Nie można tego cofnąć. Czy jesteś pewien ?,
-This bank account is already synchronized,To konto bankowe jest już zsynchronizowane,
-This bank transaction is already fully reconciled,Ta transakcja bankowa została już w pełni uzgodniona,
-This employee already has a log with the same timestamp.{0},Ten pracownik ma już dziennik z tym samym znacznikiem czasu. {0},
-This page keeps track of items you want to buy from sellers.,"Ta strona śledzi przedmioty, które chcesz kupić od sprzedawców.",
-This page keeps track of your items in which buyers have showed some interest.,"Ta strona śledzi Twoje produkty, którymi kupujący wykazali pewne zainteresowanie.",
-Thursday,Czwartek,
-Timing,wyczucie czasu,
-Title,Tytuł,
-"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","Aby zezwolić na rozliczenia, zaktualizuj „Over Billing Allowance” w ustawieniach kont lub pozycji.",
-"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","Aby zezwolić na odbiór / dostawę, zaktualizuj „Przekazywanie / dostawę” w Ustawieniach magazynowych lub pozycji.",
-To date needs to be before from date,Do tej pory musi być wcześniejsza niż data,
-Total,Razem,
-Total Early Exits,Łącznie wczesne wyjścia,
-Total Late Entries,Późne wpisy ogółem,
-Total Payment Request amount cannot be greater than {0} amount,Łączna kwota żądania zapłaty nie może być większa niż kwota {0},
-Total payments amount can't be greater than {},Łączna kwota płatności nie może być większa niż {},
-Totals,Sumy całkowite,
-Training Event:,Wydarzenie szkoleniowe:,
-Transactions already retreived from the statement,Transakcje już wycofane z wyciągu,
-Transfer Material to Supplier,Przenieść materiał do dostawcy,
-Transport Receipt No and Date are mandatory for your chosen Mode of Transport,Nr potwierdzenia odbioru i data są obowiązkowe w wybranym trybie transportu,
-Tuesday,Wtorek,
-Type,Typ,
-Unable to find Salary Component {0},Nie można znaleźć składnika wynagrodzenia {0},
-Unable to find the time slot in the next {0} days for the operation {1}.,Nie można znaleźć przedziału czasu w ciągu najbliższych {0} dni dla operacji {1}.,
-Unable to update remote activity,Nie można zaktualizować aktywności zdalnej,
-Unknown Caller,Nieznany rozmówca,
-Unlink external integrations,Rozłącz integracje zewnętrzne,
-Unmarked Attendance for days,Nieoznakowana obecność na kilka dni,
-Unpublish Item,Cofnij publikację przedmiotu,
-Unreconciled,Nieuzgodnione,
-Unsupported GST Category for E-Way Bill JSON generation,Nieobsługiwana kategoria GST dla generacji e-Way Bill JSON,
-Update,Aktualizacja,
-Update Details,Zaktualizuj szczegóły,
-Update Taxes for Items,Zaktualizuj podatki od przedmiotów,
-"Upload a bank statement, link or reconcile a bank account","Prześlij wyciąg z konta bankowego, połącz lub rozlicz konto bankowe",
-Upload a statement,Prześlij oświadczenie,
-Use a name that is different from previous project name,Użyj nazwy innej niż nazwa poprzedniego projektu,
-User {0} is disabled,Użytkownik {0} jest wyłączony,
-Users and Permissions,Użytkownicy i uprawnienia,
-Vacancies cannot be lower than the current openings,Wolne miejsca nie mogą być niższe niż obecne otwarcia,
-Valid From Time must be lesser than Valid Upto Time.,Ważny od czasu musi być mniejszy niż Ważny do godziny.,
-Valuation Rate required for Item {0} at row {1},Kurs wyceny wymagany dla pozycji {0} w wierszu {1},
-Values Out Of Sync,Wartości niezsynchronizowane,
-Vehicle Type is required if Mode of Transport is Road,"Typ pojazdu jest wymagany, jeśli tryb transportu to Droga",
-Vendor Name,Nazwa dostawcy,
-Verify Email,zweryfikuj adres e-mail,
-View,Widok,
-View all issues from {0},Wyświetl wszystkie problemy z {0},
-View call log,Wyświetl dziennik połączeń,
-Warehouse,Magazyn,
-Warehouse not found against the account {0},Nie znaleziono magazynu dla konta {0},
-Welcome to {0},Zapraszamy do {0},
-Why do think this Item should be removed?,Dlaczego według mnie ten przedmiot powinien zostać usunięty?,
-Work Order {0}: Job Card not found for the operation {1},Zlecenie pracy {0}: Nie znaleziono karty pracy dla operacji {1},
-Workday {0} has been repeated.,Dzień roboczy {0} został powtórzony.,
-XML Files Processed,Przetwarzane pliki XML,
-Year,Rok,
-Yearly,Rocznie,
-You,Ty,
-You are not allowed to enroll for this course,Nie możesz zapisać się na ten kurs,
-You are not enrolled in program {0},Nie jesteś zarejestrowany w programie {0},
-You can Feature upto 8 items.,Możesz polecić do 8 przedmiotów.,
-You can also copy-paste this link in your browser,Można również skopiować i wkleić ten link w przeglądarce,
-You can publish upto 200 items.,Możesz opublikować do 200 pozycji.,
-You have to enable auto re-order in Stock Settings to maintain re-order levels.,"Aby utrzymać poziomy ponownego zamówienia, musisz włączyć automatyczne ponowne zamówienie w Ustawieniach zapasów.",
-You must be a registered supplier to generate e-Way Bill,"Musisz być zarejestrowanym dostawcą, aby wygenerować e-Way Bill",
-You need to login as a Marketplace User before you can add any reviews.,"Musisz się zalogować jako użytkownik portalu, aby móc dodawać recenzje.",
-Your Featured Items,Twoje polecane przedmioty,
-Your Items,Twoje przedmioty,
-Your Profile,Twój profil,
-Your rating:,Twoja ocena:,
-and,i,
-e-Way Bill already exists for this document,e-Way Bill już istnieje dla tego dokumentu,
-woocommerce - {0},woocommerce - {0},
-{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Wykorzystany kupon to {1}. Dozwolona ilość jest wyczerpana,
-{0} Name,Imię {0},
-{0} Operations: {1},{0} Operacje: {1},
-{0} bank transaction(s) created,{0} utworzono transakcje bankowe,
-{0} bank transaction(s) created and {1} errors,{0} utworzono transakcje bankowe i błędy {1},
-{0} can not be greater than {1},{0} nie może być większy niż {1},
-{0} conversations,{0} rozmów,
-{0} is not a company bank account,{0} nie jest firmowym kontem bankowym,
-{0} is not a group node. Please select a group node as parent cost center,{0} nie jest węzłem grupy. Wybierz węzeł grupy jako macierzyste centrum kosztów,
-{0} is not the default supplier for any items.,{0} nie jest domyślnym dostawcą dla żadnych przedmiotów.,
-{0} is required,{0} is wymagany,
-{0}: {1} must be less than {2},{0}: {1} musi być mniejsze niż {2},
-{} is an invalid Attendance Status.,{} to nieprawidłowy status frekwencji.,
-{} is required to generate E-Way Bill JSON,{} jest wymagane do wygenerowania E-Way Bill JSON,
-"Invalid lost reason {0}, please create a new lost reason","Nieprawidłowy utracony powód {0}, utwórz nowy utracony powód",
-Profit This Year,Zysk w tym roku,
-Total Expense,Łączny koszt,
-Total Expense This Year,Całkowity koszt w tym roku,
-Total Income,Całkowity przychód,
-Total Income This Year,Dochód ogółem w tym roku,
-Barcode,kod kreskowy,
-Bold,Pogrubienie,
-Center,Środek,
-Clear,Jasny,
-Comment,Komentarz,
-Comments,Komentarze,
-DocType,DocType,
-Download,Pobieranie,
-Left,Opuścił,
-Link,Połączyć,
-New,Nowy,
-Not Found,Nie znaleziono,
-Print,Wydrukować,
-Reference Name,Nazwa referencyjna,
-Refresh,Odśwież,
-Success,Sukces,
-Time,Czas,
-Value,Wartość,
-Actual,Rzeczywisty,
-Add to Cart,Dodaj do koszyka,
-Days Since Last Order,Dni od ostatniego zamówienia,
-In Stock,W magazynie,
-Loan Amount is mandatory,Kwota pożyczki jest obowiązkowa,
-Mode Of Payment,Rodzaj płatności,
-No students Found,Nie znaleziono studentów,
-Not in Stock,Brak na stanie,
-Please select a Customer,Proszę wybrać klienta,
-Printed On,wydrukowane na,
-Received From,Otrzymane od,
-Sales Person,Sprzedawca,
-To date cannot be before From date,"""Do daty"" nie może być terminem przed ""od daty""",
-Write Off,Odpis,
-{0} Created,{0} utworzone,
-Email Id,Identyfikator E-mail,
-No,Nie,
-Reference Doctype,DocType Odniesienia,
-User Id,Identyfikator użytkownika,
-Yes,tak,
-Actual ,Właściwy,
-Add to cart,Dodaj do koszyka,
-Budget,Budżet,
-Chart of Accounts,Plan kont,
-Customer database.,Baza danych klientów.,
-Days Since Last order,Dni od ostatniego zamówienia,
-Download as JSON,Pobierz jako JSON,
-End date can not be less than start date,"Data zakończenia nie może być wcześniejsza, niż data rozpoczęcia",
-For Default Supplier (Optional),Dla dostawcy domyślnego (opcjonalnie),
-From date cannot be greater than To date,Data od - nie może być późniejsza niż Data do,
-Group by,Grupuj według,
-In stock,W magazynie,
-Item name,Nazwa pozycji,
-Loan amount is mandatory,Kwota pożyczki jest obowiązkowa,
-Minimum Qty,Minimalna ilość,
-More details,Więcej szczegółów,
-Nature of Supplies,Natura dostaw,
-No Items found.,Nie znaleziono żadnych przedmiotów.,
-No employee found,Nie znaleziono pracowników,
-No students found,Nie znaleziono studentów,
-Not in stock,Brak na stanie,
-Not permitted,Nie dozwolone,
-Open Issues ,Otwarte kwestie,
-Open Projects ,Otwarte projekty,
-Open To Do ,Otwarty na uwagi,
-Operation Id,Operacja ID,
-Partially ordered,częściowo Zamówione,
-Please select company first,Najpierw wybierz firmę,
-Please select patient,Wybierz pacjenta,
-Printed On ,Nadrukowany na,
-Projected qty,Prognozowana ilość,
-Sales person,Sprzedawca,
-Serial No {0} Created,Stworzono nr seryjny {0},
-Source Location is required for the Asset {0},Lokalizacja źródła jest wymagana dla zasobu {0},
-Tax Id,Identyfikator podatkowy,
-To Time,Do czasu,
-To date cannot be before from date,To Date nie może być wcześniejsza niż From Date,
-Total Taxable value,Całkowita wartość podlegająca opodatkowaniu,
-Upcoming Calendar Events ,Nadchodzące wydarzenia kalendarzowe,
-Value or Qty,Wartość albo Ilość,
-Variance ,Zmienność,
-Variant of,Wariant,
-Write off,Odpis,
-hours,godziny,
-received from,otrzymane od,
-to,do,
-Cards,Karty,
-Percentage,Odsetek,
-Failed to setup defaults for country {0}. Please contact support@erpnext.com,Nie udało się skonfigurować wartości domyślnych dla kraju {0}. Skontaktuj się z support@erpnext.com,
-Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Wiersz # {0}: pozycja {1} nie jest przedmiotem serializowanym / partiami. Nie może mieć numeru seryjnego / numeru partii.,
-Please set {0},Ustaw {0},
-Please set {0},Ustaw {0},supplier
-Draft,Wersja robocza,"docstatus,=,0"
-Cancelled,Anulowany,"docstatus,=,2"
-Please setup Instructor Naming System in Education > Education Settings,Skonfiguruj system nazewnictwa instruktorów w sekcji Edukacja&gt; Ustawienia edukacji,
-Please set Naming Series for {0} via Setup > Settings > Naming Series,Ustaw Serie nazw dla {0} poprzez Ustawienia&gt; Ustawienia&gt; Serie nazw,
-UOM Conversion factor ({0} -> {1}) not found for item: {2},Nie znaleziono współczynnika konwersji UOM ({0} -&gt; {1}) dla elementu: {2},
-Item Code > Item Group > Brand,Kod pozycji&gt; Grupa produktów&gt; Marka,
-Customer > Customer Group > Territory,Klient&gt; Grupa klientów&gt; Terytorium,
-Supplier > Supplier Type,Dostawca&gt; Rodzaj dostawcy,
-Please setup Employee Naming System in Human Resource > HR Settings,Skonfiguruj system nazewnictwa pracowników w dziale Zasoby ludzkie&gt; Ustawienia HR,
-Please setup numbering series for Attendance via Setup > Numbering Series,Skonfiguruj serie numeracji dla frekwencji poprzez Ustawienia&gt; Serie numeracji,
-The value of {0} differs between Items {1} and {2},Wartość {0} różni się między elementami {1} i {2},
-Auto Fetch,Automatyczne pobieranie,
-Fetch Serial Numbers based on FIFO,Pobierz numery seryjne na podstawie FIFO,
-"Outward taxable supplies(other than zero rated, nil rated and exempted)","Dostawy podlegające opodatkowaniu zewnętrznemu (inne niż zerowe, zerowe i zwolnione)",
-"To allow different rates, disable the {0} checkbox in {1}.","Aby zezwolić na różne stawki, wyłącz {0} pole wyboru w {1}.",
-Current Odometer Value should be greater than Last Odometer Value {0},Bieżąca wartość drogomierza powinna być większa niż ostatnia wartość drogomierza {0},
-No additional expenses has been added,Nie dodano żadnych dodatkowych kosztów,
-Asset{} {assets_link} created for {},Zasób {} {asset_link} utworzony dla {},
-Row {}: Asset Naming Series is mandatory for the auto creation for item {},Wiersz {}: Seria nazewnictwa zasobów jest wymagana w przypadku automatycznego tworzenia elementu {},
-Assets not created for {0}. You will have to create asset manually.,Zasoby nie zostały utworzone dla {0}. Będziesz musiał utworzyć zasób ręcznie.,
-{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} ma zapisy księgowe w walucie {2} firmy {3}. Wybierz konto należności lub zobowiązania w walucie {2}.,
-Invalid Account,Nieważne konto,
-Purchase Order Required,Wymagane zamówienia kupna,
-Purchase Receipt Required,Wymagane potwierdzenie zakupu,
-Account Missing,Brak konta,
-Requested,Zamówiony,
-Partially Paid,Częściowo wypłacone,
-Invalid Account Currency,Nieprawidłowa waluta konta,
-"Row {0}: The item {1}, quantity must be positive number","Wiersz {0}: pozycja {1}, ilość musi być liczbą dodatnią",
-"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Ustaw {0} dla pozycji wsadowej {1}, która jest używana do ustawiania {2} podczas przesyłania.",
-Expiry Date Mandatory,Data wygaśnięcia jest obowiązkowa,
-Variant Item,Wariant pozycji,
-BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} i BOM 2 {1} nie powinny być takie same,
-Note: Item {0} added multiple times,Uwaga: element {0} został dodany wiele razy,
-YouTube,Youtube,
-Vimeo,Vimeo,
-Publish Date,Data publikacji,
-Duration,Trwanie,
-Advanced Settings,Zaawansowane ustawienia,
-Path,Ścieżka,
-Components,składniki,
-Verified By,Zweryfikowane przez,
-Invalid naming series (. missing) for {0},Nieprawidłowa seria nazw (brak.) Dla {0},
-Filter Based On,Filtruj na podstawie,
-Reqd by date,Wymagane według daty,
-Manufacturer Part Number <b>{0}</b> is invalid,Numer części producenta <b>{0}</b> jest nieprawidłowy,
-Invalid Part Number,Nieprawidłowy numer części,
-Select atleast one Social Media from Share on.,Wybierz co najmniej jeden serwis społecznościowy z Udostępnij na.,
-Invalid Scheduled Time,Nieprawidłowy zaplanowany czas,
-Length Must be less than 280.,Długość musi być mniejsza niż 280.,
-Error while POSTING {0},Błąd podczas WPISYWANIA {0},
-"Session not valid, Do you want to login?","Sesja nieważna, czy chcesz się zalogować?",
-Session Active,Sesja aktywna,
-Session Not Active. Save doc to login.,"Sesja nieaktywna. Zapisz dokument, aby się zalogować.",
-Error! Failed to get request token.,Błąd! Nie udało się uzyskać tokena żądania.,
-Invalid {0} or {1},Nieprawidłowy {0} lub {1},
-Error! Failed to get access token.,Błąd! Nie udało się uzyskać tokena dostępu.,
-Invalid Consumer Key or Consumer Secret Key,Nieprawidłowy klucz klienta lub tajny klucz klienta,
-Your Session will be expire in ,Twoja sesja wygaśnie za,
- days.,dni.,
-Session is expired. Save doc to login.,"Sesja wygasła. Zapisz dokument, aby się zalogować.",
-Error While Uploading Image,Błąd podczas przesyłania obrazu,
-You Didn't have permission to access this API,Nie masz uprawnień dostępu do tego interfejsu API,
-Valid Upto date cannot be before Valid From date,Data Valid Upto nie może być wcześniejsza niż data Valid From,
-Valid From date not in Fiscal Year {0},Data ważności od nie w roku podatkowym {0},
-Valid Upto date not in Fiscal Year {0},Ważna data ważności nie w roku podatkowym {0},
-Group Roll No,Group Roll No,
-Maintain Same Rate Throughout Sales Cycle,Utrzymanie tej samej stawki przez cały cykl sprzedaży,
-"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Wiersz {1}: ilość ({0}) nie może być ułamkiem. Aby to umożliwić, wyłącz &#39;{2}&#39; w UOM {3}.",
-Must be Whole Number,Musi być liczbą całkowitą,
-Please setup Razorpay Plan ID,Skonfiguruj identyfikator planu Razorpay,
-Contact Creation Failed,Utworzenie kontaktu nie powiodło się,
-{0} already exists for employee {1} and period {2},{0} już istnieje dla pracownika {1} i okresu {2},
-Leaves Allocated,Liście przydzielone,
-Leaves Expired,Liście wygasły,
-Leave Without Pay does not match with approved {} records,Urlop bez wynagrodzenia nie zgadza się z zatwierdzonymi rekordami {},
-Income Tax Slab not set in Salary Structure Assignment: {0},Podatek dochodowy nie jest ustawiony w przypisaniu struktury wynagrodzenia: {0},
-Income Tax Slab: {0} is disabled,Płyta podatku dochodowego: {0} jest wyłączona,
-Income Tax Slab must be effective on or before Payroll Period Start Date: {0},Płyta podatku dochodowego musi obowiązywać w dniu rozpoczęcia okresu wypłaty wynagrodzenia lub wcześniej: {0},
-No leave record found for employee {0} on {1},Nie znaleziono rekordu urlopu dla pracownika {0} w dniu {1},
-Row {0}: {1} is required in the expenses table to book an expense claim.,"Wiersz {0}: {1} jest wymagany w tabeli wydatków, aby zarezerwować wniosek o zwrot wydatków.",
-Set the default account for the {0} {1},Ustaw domyślne konto dla {0} {1},
-(Half Day),(Połowa dnia),
-Income Tax Slab,Płyta podatku dochodowego,
-Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Wiersz nr {0}: nie można ustawić kwoty lub formuły dla składnika wynagrodzenia {1} ze zmienną opartą na wynagrodzeniu podlegającym opodatkowaniu,
-Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Wiersz nr {}: {} z {} powinien być {}. Zmodyfikuj konto lub wybierz inne konto.,
-Row #{}: Please asign task to a member.,Wiersz nr {}: Przydziel zadanie członkowi.,
-Process Failed,Proces nie powiódł się,
-Tally Migration Error,Błąd migracji Tally,
-Please set Warehouse in Woocommerce Settings,Ustaw Magazyn w Ustawieniach Woocommerce,
-Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Wiersz {0}: Magazyn dostaw ({1}) i Magazyn klienta ({2}) nie mogą być takie same,
-Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Wiersz {0}: Termin płatności w tabeli Warunki płatności nie może być wcześniejszy niż data księgowania,
-Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Nie można znaleźć {} dla elementu {}. Proszę ustawić to samo w pozycji Główny lub Ustawienia zapasów.,
-Row #{0}: The batch {1} has already expired.,Wiersz nr {0}: partia {1} już wygasła.,
-Start Year and End Year are mandatory,Rok rozpoczęcia i rok zakończenia są obowiązkowe,
-GL Entry,Wejście GL,
-Cannot allocate more than {0} against payment term {1},Nie można przydzielić więcej niż {0} na okres płatności {1},
-The root account {0} must be a group,Konto root {0} musi być grupą,
-Shipping rule not applicable for country {0} in Shipping Address,Reguła dostawy nie dotyczy kraju {0} w adresie dostawy,
-Get Payments from,Otrzymuj płatności od,
-Set Shipping Address or Billing Address,Ustaw adres wysyłki lub adres rozliczeniowy,
-Consultation Setup,Konfiguracja konsultacji,
-Fee Validity,Ważność opłaty,
-Laboratory Setup,Przygotowanie laboratorium,
-Dosage Form,Forma dawkowania,
-Records and History,Zapisy i historia,
-Patient Medical Record,Medyczny dokument medyczny pacjenta,
-Rehabilitation,Rehabilitacja,
-Exercise Type,Typ ćwiczenia,
-Exercise Difficulty Level,Poziom trudności ćwiczeń,
-Therapy Type,Rodzaj terapii,
-Therapy Plan,Plan terapii,
-Therapy Session,Sesja terapeutyczna,
-Motor Assessment Scale,Skala Oceny Motorycznej,
-[Important] [ERPNext] Auto Reorder Errors,[Ważne] [ERPNext] Błędy automatycznego ponownego zamawiania,
-"Regards,","Pozdrowienia,",
-The following {0} were created: {1},Utworzono następujące {0}: {1},
-Work Orders,Zlecenia pracy,
-The {0} {1} created sucessfully,{0} {1} został pomyślnie utworzony,
-Work Order cannot be created for following reason: <br> {0},Nie można utworzyć zlecenia pracy z następującego powodu:<br> {0},
-Add items in the Item Locations table,Dodaj pozycje w tabeli Lokalizacje pozycji,
-Update Current Stock,Zaktualizuj aktualne zapasy,
-"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Zachowaj próbkę na podstawie partii. Zaznacz opcję Ma nr partii, aby zachować próbkę elementu",
-Empty,Pusty,
-Currently no stock available in any warehouse,Obecnie nie ma zapasów w żadnym magazynie,
-BOM Qty,BOM Qty,
-Time logs are required for {0} {1},Dzienniki czasu są wymagane dla {0} {1},
-Total Completed Qty,Całkowita ukończona ilość,
-Qty to Manufacture,Ilość do wyprodukowania,
-Repay From Salary can be selected only for term loans,Spłata z wynagrodzenia może być wybrana tylko dla pożyczek terminowych,
-No valid Loan Security Price found for {0},Nie znaleziono prawidłowej ceny zabezpieczenia pożyczki dla {0},
-Loan Account and Payment Account cannot be same,Rachunek pożyczki i rachunek płatniczy nie mogą być takie same,
-Loan Security Pledge can only be created for secured loans,Zabezpieczenie pożyczki można ustanowić tylko w przypadku pożyczek zabezpieczonych,
-Social Media Campaigns,Kampanie w mediach społecznościowych,
-From Date can not be greater than To Date,Data początkowa nie może być większa niż data początkowa,
-Please set a Customer linked to the Patient,Ustaw klienta powiązanego z pacjentem,
-Customer Not Found,Nie znaleziono klienta,
-Please Configure Clinical Procedure Consumable Item in ,Skonfiguruj materiał eksploatacyjny do procedury klinicznej w,
-Missing Configuration,Brak konfiguracji,
-Out Patient Consulting Charge Item,Out Patient Consulting Charge Item,
-Inpatient Visit Charge Item,Opłata za wizyta stacjonarna,
-OP Consulting Charge,OP Consulting Charge,
-Inpatient Visit Charge,Opłata za wizytę stacjonarną,
-Appointment Status,Status spotkania,
-Test: ,Test:,
-Collection Details: ,Szczegóły kolekcji:,
-{0} out of {1},{0} z {1},
-Select Therapy Type,Wybierz typ terapii,
-{0} sessions completed,Ukończono {0} sesje,
-{0} session completed,Sesja {0} zakończona,
- out of {0},z {0},
-Therapy Sessions,Sesje terapeutyczne,
-Add Exercise Step,Dodaj krok ćwiczenia,
-Edit Exercise Step,Edytuj krok ćwiczenia,
-Patient Appointments,Spotkania pacjentów,
-Item with Item Code {0} already exists,Przedmiot o kodzie pozycji {0} już istnieje,
-Registration Fee cannot be negative or zero,Opłata rejestracyjna nie może być ujemna ani zerowa,
-Configure a service Item for {0},Skonfiguruj usługę dla {0},
-Temperature: ,Temperatura:,
-Pulse: ,Puls:,
-Respiratory Rate: ,Częstość oddechów:,
-BP: ,BP:,
-BMI: ,BMI:,
-Note: ,Uwaga:,
-Check Availability,Sprawdź dostępność,
-Please select Patient first,Najpierw wybierz pacjenta,
-Please select a Mode of Payment first,Najpierw wybierz sposób płatności,
-Please set the Paid Amount first,Najpierw ustaw Kwotę do zapłaty,
-Not Therapies Prescribed,Nie przepisane terapie,
-There are no Therapies prescribed for Patient {0},Nie ma przepisanych terapii dla pacjenta {0},
-Appointment date and Healthcare Practitioner are Mandatory,Data wizyty i lekarz są obowiązkowe,
-No Prescribed Procedures found for the selected Patient,Nie znaleziono przepisanych procedur dla wybranego pacjenta,
-Please select a Patient first,Najpierw wybierz pacjenta,
-There are no procedure prescribed for ,Nie ma określonej procedury,
-Prescribed Therapies,Terapie przepisane,
-Appointment overlaps with ,Termin pokrywa się z,
-{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} ma zaplanowane spotkanie z {1} na {2} trwające {3} minut (y).,
-Appointments Overlapping,Nakładające się terminy,
-Consulting Charges: {0},Opłaty za konsultacje: {0},
-Appointment Cancelled. Please review and cancel the invoice {0},Spotkanie odwołane. Sprawdź i anuluj fakturę {0},
-Appointment Cancelled.,Spotkanie odwołane.,
-Fee Validity {0} updated.,Zaktualizowano ważność opłaty {0}.,
-Practitioner Schedule Not Found,Nie znaleziono harmonogramu lekarza,
-{0} is on a Half day Leave on {1},{0} korzysta z urlopu półdniowego dnia {1},
-{0} is on Leave on {1},{0} jest na urlopie na {1},
-{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} nie ma harmonogramu lekarzy. Dodaj go do lekarza,
-Healthcare Service Units,Jednostki opieki zdrowotnej,
-Complete and Consume,Uzupełnij i zużyj,
-Complete {0} and Consume Stock?,Uzupełnić {0} i zużyć zapasy?,
-Complete {0}?,Ukończono {0}?,
-Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,Ilość zapasów potrzebna do rozpoczęcia procedury nie jest dostępna w magazynie {0}. Czy chcesz zarejestrować wejście na giełdę?,
-{0} as on {1},{0} jak w dniu {1},
-Clinical Procedure ({0}):,Procedura kliniczna ({0}):,
-Please set Customer in Patient {0},Ustaw klienta jako pacjenta {0},
-Item {0} is not active,Przedmiot {0} nie jest aktywny,
-Therapy Plan {0} created successfully.,Plan terapii {0} został utworzony pomyślnie.,
-Symptoms: ,Objawy:,
-No Symptoms,Brak objawów,
-Diagnosis: ,Diagnoza:,
-No Diagnosis,Brak diagnozy,
-Drug(s) Prescribed.,Leki przepisane.,
-Test(s) Prescribed.,Test (y) przepisane.,
-Procedure(s) Prescribed.,Procedura (-y) zalecana (-e).,
-Counts Completed: {0},Liczenie zakończone: {0},
-Patient Assessment,Ocena stanu pacjenta,
-Assessments,Oceny,
-Heads (or groups) against which Accounting Entries are made and balances are maintained.,"Heads (lub grupy), przeciwko którym zapisy księgowe są i sald są utrzymywane.",
-Account Name,Nazwa konta,
-Inter Company Account,Konto firmowe Inter,
-Parent Account,Nadrzędne konto,
-Setting Account Type helps in selecting this Account in transactions.,Ustawienie Typu Konta pomaga w wyborze tego konta w transakcji.,
-Chargeable,Odpowedni do pobierania opłaty.,
-Rate at which this tax is applied,Stawka przy użyciu której ten podatek jest aplikowany,
-Frozen,Zamrożony,
-"If the account is frozen, entries are allowed to restricted users.","Jeśli konto jest zamrożone, zapisy mogą wykonywać tylko wyznaczone osoby.",
-Balance must be,Bilans powinien wynosić,
-Lft,Lft,
-Rgt,Rgt,
-Old Parent,Stary obiekt nadrzędny,
-Include in gross,Uwzględnij w brutto,
-Auditor,Audytor,
-Accounting Dimension,Wymiar księgowy,
-Dimension Name,Nazwa wymiaru,
-Dimension Defaults,Domyślne wymiary,
-Accounting Dimension Detail,Szczegóły wymiaru księgowości,
-Default Dimension,Domyślny wymiar,
-Mandatory For Balance Sheet,Obowiązkowe dla bilansu,
-Mandatory For Profit and Loss Account,Obowiązkowe dla rachunku zysków i strat,
-Accounting Period,Okres Księgowy,
-Period Name,Nazwa okresu,
-Closed Documents,Zamknięte dokumenty,
-Accounts Settings,Ustawienia Kont,
-Settings for Accounts,Ustawienia Konta,
-Make Accounting Entry For Every Stock Movement,Tworzenie Zapisów Księgowych dla każdej zmiany stanu Magazynu,
-Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Użytkownicy z tą rolą mogą ustawiać zamrożone konta i tworzyć / modyfikować wpisy księgowe dla zamrożonych kont,
-Determine Address Tax Category From,Określ kategorię podatku adresowego od,
-Over Billing Allowance (%),Over Billing Allowance (%),
-Credit Controller,,
-Check Supplier Invoice Number Uniqueness,"Sprawdź, czy numer faktury dostawcy jest unikalny",
-Make Payment via Journal Entry,Wykonywanie płatności za pośrednictwem Zapisów Księgowych dziennika,
-Unlink Payment on Cancellation of Invoice,Odłączanie Przedpłata na Anulowanie faktury,
-Book Asset Depreciation Entry Automatically,Automatycznie wprowadź wartość księgowania depozytu księgowego aktywów,
-Automatically Add Taxes and Charges from Item Tax Template,Automatycznie dodawaj podatki i opłaty z szablonu podatku od towarów,
-Automatically Fetch Payment Terms,Automatycznie pobierz warunki płatności,
-Show Payment Schedule in Print,Pokaż harmonogram płatności w druku,
-Currency Exchange Settings,Ustawienia wymiany walut,
-Allow Stale Exchange Rates,Zezwalaj na Stałe Kursy walut,
-Stale Days,Stale Dni,
-Report Settings,Ustawienia raportu,
-Use Custom Cash Flow Format,Użyj niestandardowego formatu przepływu środków pieniężnych,
-Allowed To Transact With,Zezwolono na zawieranie transakcji przy użyciu,
-SWIFT number,Numer swift,
-Branch Code,Kod oddziału,
-Address and Contact,Adres i Kontakt,
-Address HTML,Adres HTML,
-Contact HTML,HTML kontaktu,
-Data Import Configuration,Konfiguracja importu danych,
-Bank Transaction Mapping,Mapowanie transakcji bankowych,
-Plaid Access Token,Token dostępu do kratki,
-Company Account,Konto firmowe,
-Account Subtype,Podtyp konta,
-Is Default Account,Jest kontem domyślnym,
-Is Company Account,Jest kontem firmowym,
-Party Details,Strona Szczegóły,
-Account Details,Szczegóły konta,
-IBAN,IBAN,
-Bank Account No,Nr konta bankowego,
-Integration Details,Szczegóły integracji,
-Integration ID,Identyfikator integracji,
-Last Integration Date,Ostatnia data integracji,
-Change this date manually to setup the next synchronization start date,"Zmień tę datę ręcznie, aby ustawić następną datę rozpoczęcia synchronizacji",
-Mask,Maska,
-Bank Account Subtype,Podtyp konta bankowego,
-Bank Account Type,Typ konta bankowego,
-Bank Guarantee,Gwarancja bankowa,
-Bank Guarantee Type,Rodzaj gwarancji bankowej,
-Receiving,Odbieranie,
-Providing,Że,
-Reference Document Name,Nazwa dokumentu referencyjnego,
-Validity in Days,Ważność w dniach,
-Bank Account Info,Informacje o koncie bankowym,
-Clauses and Conditions,Klauzule i warunki,
-Other Details,Inne szczegóły,
-Bank Guarantee Number,Numer Gwarancji Bankowej,
-Name of Beneficiary,Imię beneficjenta,
-Margin Money,Marża pieniężna,
-Charges Incurred,Naliczone opłaty,
-Fixed Deposit Number,Naprawiono numer depozytu,
-Account Currency,Waluta konta,
-Select the Bank Account to reconcile.,Wybierz konto bankowe do uzgodnienia.,
-Include Reconciled Entries,Dołącz uzgodnione wpisy,
-Get Payment Entries,Uzyskaj Wpisy płatności,
-Payment Entries,Wpisy płatności,
-Update Clearance Date,Aktualizacja daty rozliczenia,
-Bank Reconciliation Detail,Uzgodnienia z wyciągiem bankowym - szczegóły,
-Cheque Number,Numer czeku,
-Cheque Date,Data czeku,
-Statement Header Mapping,Mapowanie nagłówków instrukcji,
-Statement Headers,Nagłówki instrukcji,
-Transaction Data Mapping,Mapowanie danych transakcji,
-Mapped Items,Zmapowane elementy,
-Bank Statement Settings Item,Ustawienia wyciągu bankowego Pozycja,
-Mapped Header,Mapowany nagłówek,
-Bank Header,Nagłówek banku,
-Bank Statement Transaction Entry,Wpis transakcji z wyciągu bankowego,
-Bank Transaction Entries,Wpisy transakcji bankowych,
-New Transactions,Nowe transakcje,
-Match Transaction to Invoices,Dopasuj transakcję do faktur,
-Create New Payment/Journal Entry,Utwórz nową pozycję płatności / księgowania,
-Submit/Reconcile Payments,Wpisz/Uzgodnij płatności,
-Matching Invoices,Dopasowanie faktur,
-Payment Invoice Items,Faktury z płatności,
-Reconciled Transactions,Uzgodnione transakcje,
-Bank Statement Transaction Invoice Item,Wyciąg z rachunku bankowego,
-Payment Description,Opis płatności,
-Invoice Date,Data faktury,
-invoice,faktura,
-Bank Statement Transaction Payment Item,Wyciąg z transakcji bankowych,
-outstanding_amount,pozostająca kwota,
-Payment Reference,Referencje płatności,
-Bank Statement Transaction Settings Item,Ustawienia transakcji bankowych Pozycja,
-Bank Data,Dane bankowe,
-Mapped Data Type,Zmapowany typ danych,
-Mapped Data,Zmapowane dane,
-Bank Transaction,Transakcja bankowa,
-ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
-Transaction ID,Identyfikator transakcji,
-Unallocated Amount,Kwota nieprzydzielone,
-Field in Bank Transaction,Pole w transakcji bankowej,
-Column in Bank File,Kolumna w pliku banku,
-Bank Transaction Payments,Płatności transakcji bankowych,
-Control Action,Działanie kontrolne,
-Applicable on Material Request,Obowiązuje na wniosek materiałowy,
-Action if Annual Budget Exceeded on MR,"Działanie, jeśli budżet roczny przekroczy MR",
-Warn,Ostrzeż,
-Ignore,Ignoruj,
-Action if Accumulated Monthly Budget Exceeded on MR,"Działanie, jeżeli skumulowany budżet miesięczny przekroczył MR",
-Applicable on Purchase Order,Obowiązuje w przypadku zamówienia zakupu,
-Action if Annual Budget Exceeded on PO,"Działanie, jeśli budżet roczny został przekroczony dla zamówienia",
-Action if Accumulated Monthly Budget Exceeded on PO,"Działanie, jeśli skumulowany miesięczny budżet został przekroczony dla zamówienia",
-Applicable on booking actual expenses,Obowiązuje przy rezerwacji rzeczywistych wydatków,
-Action if Annual Budget Exceeded on Actual,"Działanie, jeśli budżet roczny przekroczyłby rzeczywisty",
-Action if Accumulated Monthly Budget Exceeded on Actual,"Działanie, jeżeli skumulowany budżet miesięczny przekroczył rzeczywisty",
-Budget Accounts,Rachunki ekonomiczne,
-Budget Account,Budżet Konta,
-Budget Amount,budżet Kwota,
-C-Form,,
-ACC-CF-.YYYY.-,ACC-CF-.RRRR.-,
-C-Form No,,
-Received Date,Data Otrzymania,
-Quarter,Kwartał,
-I,ja,
-II,II,
-III,III,
-IV,IV,
-C-Form Invoice Detail,,
-Invoice No,Nr faktury,
-Cash Flow Mapper,Mapper przepływu gotówki,
-Section Name,Nazwa sekcji,
-Section Header,Nagłówek sekcji,
-Section Leader,Kierownik sekcji,
-e.g Adjustments for:,np. korekty dla:,
-Section Subtotal,Podsuma sekcji,
-Section Footer,Sekcja stopki,
-Position,Pozycja,
-Cash Flow Mapping,Mapowanie przepływów pieniężnych,
-Select Maximum Of 1,Wybierz Maksimum 1,
-Is Finance Cost,Koszt finansowy,
-Is Working Capital,Jest kapitałem obrotowym,
-Is Finance Cost Adjustment,Czy korekta kosztów finansowych,
-Is Income Tax Liability,Jest odpowiedzialnością z tytułu podatku dochodowego,
-Is Income Tax Expense,Jest kosztem podatku dochodowego,
-Cash Flow Mapping Accounts,Konta mapowania przepływów pieniężnych,
-account,Konto,
-Cash Flow Mapping Template,Szablon mapowania przepływów pieniężnych,
-Cash Flow Mapping Template Details,Szczegóły szablonu mapowania przepływu gotówki,
-POS-CLO-,POS-CLO-,
-Custody,Opieka,
-Net Amount,Kwota netto,
-Cashier Closing Payments,Kasjer Zamykanie płatności,
-Chart of Accounts Importer,Importer planu kont,
-Import Chart of Accounts from a csv file,Importuj plan kont z pliku csv,
-Attach custom Chart of Accounts file,Dołącz niestandardowy plik planu kont,
-Chart Preview,Podgląd wykresu,
-Chart Tree,Drzewo wykresów,
-Cheque Print Template,Sprawdź Szablon druku,
-Has Print Format,Ma format wydruku,
-Primary Settings,Ustawienia podstawowe,
-Cheque Size,Czek Rozmiar,
-Regular,Regularny,
-Starting position from top edge,stanowisko od górnej krawędzi Zaczynając,
-Cheque Width,Czek Szerokość,
-Cheque Height,Czek Wysokość,
-Scanned Cheque,zeskanowanych Czek,
-Is Account Payable,Czy Account Payable,
-Distance from top edge,Odległość od górnej krawędzi,
-Distance from left edge,Odległość od lewej krawędzi,
-Message to show,Wiadomość pokazać,
-Date Settings,Data Ustawienia,
-Starting location from left edge,Zaczynając od lewej krawędzi lokalizację,
-Payer Settings,Ustawienia płatnik,
-Width of amount in word,Szerokość kwoty w słowie,
-Line spacing for amount in words,Odstępy między wierszami dla kwoty w słowach,
-Amount In Figure,Kwota Na rysunku,
-Signatory Position,Sygnatariusz Pozycja,
-Closed Document,Zamknięty dokument,
-Track separate Income and Expense for product verticals or divisions.,Śledź oddzielnie przychody i koszty dla branż produktowych lub oddziałów.,
-Cost Center Name,Nazwa Centrum Kosztów,
-Parent Cost Center,Nadrzędny dział kalkulacji kosztów,
-lft,lft,
-rgt,rgt,
-Coupon Code,Kod kuponu,
-Coupon Name,Nazwa kuponu,
-"e.g. ""Summer Holiday 2019 Offer 20""",np. „Oferta na wakacje 2019 r. 20”,
-Coupon Type,Rodzaj kuponu,
-Promotional,Promocyjny,
-Gift Card,Karta podarunkowa,
-unique e.g. SAVE20  To be used to get discount,unikatowy np. SAVE20 Do wykorzystania w celu uzyskania rabatu,
-Validity and Usage,Ważność i użycie,
-Valid From,Ważne od,
-Valid Upto,Valid Upto,
-Maximum Use,Maksymalne wykorzystanie,
-Used,Używany,
-Coupon Description,Opis kuponu,
-Discounted Invoice,Zniżka na fakturze,
-Debit to,Obciąż do,
-Exchange Rate Revaluation,Przeszacowanie kursu wymiany,
-Get Entries,Uzyskaj wpisy,
-Exchange Rate Revaluation Account,Rachunek przeszacowania kursu wymiany,
-Total Gain/Loss,Całkowity wzrost / strata,
-Balance In Account Currency,Waluta konta w walucie,
-Current Exchange Rate,Aktualny kurs wymiany,
-Balance In Base Currency,Saldo w walucie podstawowej,
-New Exchange Rate,Nowy kurs wymiany,
-New Balance In Base Currency,Nowe saldo w walucie podstawowej,
-Gain/Loss,Zysk / strata,
-**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Rok finansowy** reprezentuje rok finansowy. Wszystkie zapisy księgowe oraz inne znaczące transakcje są śledzone przed ** roku podatkowego **.,
-Year Name,Nazwa roku,
-"For e.g. 2012, 2012-13","np. 2012, 2012-13",
-Year Start Date,Data początku roku,
-Year End Date,Data końca roku,
-Companies,Firmy,
-Auto Created,Automatycznie utworzone,
-Stock User,Użytkownik magazynu,
-Fiscal Year Company,Rok podatkowy firmy,
-Debit Amount,Kwota Debit,
-Credit Amount,Kwota kredytu,
-Debit Amount in Account Currency,Kwota debetową w walucie rachunku,
-Credit Amount in Account Currency,Kwota kredytu w walucie rachunku,
-Voucher Detail No,Nr Szczegółu Bonu,
-Is Opening,Otwiera się,
-Is Advance,Zaawansowany proces,
-To Rename,Aby zmienić nazwę,
-GST Account,Konto GST,
-CGST Account,Konto CGST,
-SGST Account,Konto SGST,
-IGST Account,Konto IGST,
-CESS Account,Konto CESS,
-Loan Start Date,Data rozpoczęcia pożyczki,
-Loan Period (Days),Okres pożyczki (dni),
-Loan End Date,Data zakończenia pożyczki,
-Bank Charges,Opłaty bankowe,
-Short Term Loan Account,Konto pożyczki krótkoterminowej,
-Bank Charges Account,Rachunek opłat bankowych,
-Accounts Receivable Credit Account,Rachunek kredytowy należności,
-Accounts Receivable Discounted Account,Konto z rabatem należności,
-Accounts Receivable Unpaid Account,Niezapłacone konto należności,
-Item Tax Template,Szablon podatku od towarów,
-Tax Rates,Wysokość podatków,
-Item Tax Template Detail,Szczegóły szablonu podatku od towarów,
-Entry Type,Rodzaj wpisu,
-Inter Company Journal Entry,Dziennik firmy Inter Company,
-Bank Entry,Operacja bankowa,
-Cash Entry,Wpis gotówkowy,
-Credit Card Entry,Karta kredytowa,
-Contra Entry,Odpis aktualizujący,
-Excise Entry,Akcyza Wejścia,
-Write Off Entry,Odpis,
-Opening Entry,Wpis początkowy,
-ACC-JV-.YYYY.-,ACC-JV-.RRRR.-,
-Accounting Entries,Zapisy księgowe,
-Total Debit,Całkowita kwota debetu,
-Total Credit,Całkowita kwota kredytu,
-Difference (Dr - Cr),Różnica (Dr - Cr),
-Make Difference Entry,Wprowadź różnicę,
-Total Amount Currency,Suma Waluta Kwota,
-Total Amount in Words,Wartość całkowita słownie,
-Remark,Uwaga,
-Paid Loan,Płatna pożyczka,
-Inter Company Journal Entry Reference,Wpis w dzienniku firmy Inter Company,
-Write Off Based On,Odpis bazowano na,
-Get Outstanding Invoices,Uzyskaj zaległą fakturę,
-Write Off Amount,Kwota odpisu,
-Printing Settings,Ustawienia drukowania,
-Pay To / Recd From,Zapłać / Rachunek od,
-Payment Order,Zlecenie płatnicze,
-Subscription Section,Sekcja subskrypcji,
-Journal Entry Account,Konto zapisu,
-Account Balance,Bilans konta,
-Party Balance,Bilans Grupy,
-Accounting Dimensions,Wymiary księgowe,
-If Income or Expense,Jeśli przychód lub koszt,
-Exchange Rate,Kurs wymiany,
-Debit in Company Currency,Debet w firmie Waluta,
-Credit in Company Currency,Kredyt w walucie Spółki,
-Payroll Entry,Wpis o płace,
-Employee Advance,Advance pracownika,
-Reference Due Date,Referencyjny termin płatności,
-Loyalty Program Tier,Poziom programu lojalnościowego,
-Redeem Against,Zrealizuj przeciw,
-Expiry Date,Data ważności,
-Loyalty Point Entry Redemption,Punkt wejścia do punktu lojalnościowego,
-Redemption Date,Data wykupu,
-Redeemed Points,Wykorzystane punkty,
-Loyalty Program Name,Nazwa programu lojalnościowego,
-Loyalty Program Type,Typ programu lojalnościowego,
-Single Tier Program,Program dla jednego poziomu,
-Multiple Tier Program,Program wielopoziomowy,
-Customer Territory,Terytorium klienta,
-Auto Opt In (For all customers),Automatyczne optowanie (dla wszystkich klientów),
-Collection Tier,Poziom kolekcji,
-Collection Rules,Zasady zbierania,
-Redemption,Odkupienie,
-Conversion Factor,Współczynnik konwersji,
-1 Loyalty Points = How much base currency?,1 punkty lojalnościowe = ile waluty bazowej?,
-Expiry Duration (in days),Okres ważności (w dniach),
-Help Section,Sekcja pomocy,
-Loyalty Program Help,Pomoc programu lojalnościowego,
-Loyalty Program Collection,Kolekcja programu lojalnościowego,
-Tier Name,Nazwa warstwy,
-Minimum Total Spent,Minimalna łączna kwota wydana,
-Collection Factor (=1 LP),Współczynnik zbierania (= 1 LP),
-For how much spent = 1 Loyalty Point,Za ile zużytego = 1 punkt lojalnościowy,
-Mode of Payment Account,Konto księgowe dla tego rodzaju płatności,
-Default Account,Domyślne konto,
-Default account will be automatically updated in POS Invoice when this mode is selected.,Domyślne konto zostanie automatycznie zaktualizowane na fakturze POS po wybraniu tego trybu.,
-**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,"** Miesięczna Dystrybucja ** pomaga rozłożyć budżet/cel w miesiącach, jeśli masz okresowość w firmie.",
-Distribution Name,Nazwa Dystrybucji,
-Name of the Monthly Distribution,Nazwa dystrybucji miesięcznej,
-Monthly Distribution Percentages,Miesięczne Procenty Dystrybucja,
-Monthly Distribution Percentage,Miesięczny rozkład procentowy,
-Percentage Allocation,Przydział Procentowy,
-Create Missing Party,Utwórz brakującą imprezę,
-Create missing customer or supplier.,Utwórz brakującego klienta lub dostawcę.,
-Opening Invoice Creation Tool Item,Otwieranie narzędzia tworzenia faktury,
-Temporary Opening Account,Tymczasowe konto otwarcia,
-Party Account,Konto Grupy,
-Type of Payment,Rodzaj płatności,
-ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
-Receive,Odbierać,
-Internal Transfer,Transfer wewnętrzny,
-Payment Order Status,Status zlecenia płatniczego,
-Payment Ordered,Płatność zamówiona,
-Payment From / To,Płatność Od / Do,
-Company Bank Account,Konto bankowe firmy,
-Party Bank Account,Party Bank Account,
-Account Paid From,Konto do płatności,
-Account Paid To,Konto do zapłaty,
-Paid Amount (Company Currency),Zapłacona kwota (waluta firmy),
-Received Amount,Kwota otrzymana,
-Received Amount (Company Currency),Otrzymaną kwotą (Spółka waluty),
-Get Outstanding Invoice,Uzyskaj wyjątkową fakturę,
-Payment References,Odniesienia płatności,
-Writeoff,Writeoff,
-Total Allocated Amount,Łączna kwota przyznanego wsparcia,
-Total Allocated Amount (Company Currency),Łączna kwota przyznanego wsparcia (Spółka waluty),
-Set Exchange Gain / Loss,Ustaw Exchange Zysk / strata,
-Difference Amount (Company Currency),Różnica Kwota (waluta firmy),
-Write Off Difference Amount,Różnica Kwota odpisuje,
-Deductions or Loss,Odliczenia lub strata,
-Payment Deductions or Loss,Odliczenia płatności lub strata,
-Cheque/Reference Date,Czek / Reference Data,
-Payment Entry Deduction,Płatność Wejście Odliczenie,
-Payment Entry Reference,Wejście Płatność referencyjny,
-Allocated,Przydzielone,
-Payment Gateway Account,Płatność konto Brama,
-Payment Account,Konto Płatność,
-Default Payment Request Message,Domyślnie Płatność Zapytanie Wiadomość,
-PMO-,PMO-,
-Payment Order Type,Typ zlecenia płatniczego,
-Payment Order Reference,Referencje dotyczące płatności,
-Bank Account Details,Szczegóły konta bankowego,
-Payment Reconciliation,Uzgodnienie płatności,
-Receivable / Payable Account,Konto Należności / Zobowiązań,
-Bank / Cash Account,Rachunek Bankowy/Kasowy,
-From Invoice Date,Od daty faktury,
-To Invoice Date,Aby Data faktury,
-Minimum Invoice Amount,Minimalna kwota faktury,
-Maximum Invoice Amount,Maksymalna kwota faktury,
-System will fetch all the entries if limit value is zero.,"System pobierze wszystkie wpisy, jeśli wartość graniczna wynosi zero.",
-Get Unreconciled Entries,Pobierz Wpisy nieuzgodnione,
-Unreconciled Payment Details,Szczegóły płatności nieuzgodnione,
-Invoice/Journal Entry Details,Szczegóły Faktury / Wpisu dziennika,
-Payment Reconciliation Invoice,Płatność Wyrównawcza Faktury,
-Invoice Number,Numer faktury,
-Payment Reconciliation Payment,Płatność Wyrównawcza Płatności,
-Reference Row,Odniesienie Row,
-Allocated amount,Przyznana kwota,
-Payment Request Type,Typ żądania płatności,
-Outward,Zewnętrzny,
-Inward,Wewnętrzny,
-ACC-PRQ-.YYYY.-,ACC-PRQ-.RRRR.-,
-Transaction Details,szczegóły transakcji,
-Amount in customer's currency,Kwota w walucie klienta,
-Is a Subscription,Jest subskrypcją,
-Transaction Currency,walucie transakcji,
-Subscription Plans,Plany subskrypcji,
-SWIFT Number,Numer SWIFT,
-Recipient Message And Payment Details,Odbiorca wiadomości i szczegóły płatności,
-Make Sales Invoice,Nowa faktura sprzedaży,
-Mute Email,Wyciszenie email,
-payment_url,payment_url,
-Payment Gateway Details,Payment Gateway Szczegóły,
-Payment Schedule,Harmonogram płatności,
-Invoice Portion,Fragment faktury,
-Payment Amount,Kwota płatności,
-Payment Term Name,Nazwa terminu płatności,
-Due Date Based On,Termin wykonania oparty na,
-Day(s) after invoice date,Dzień (dni) po dacie faktury,
-Day(s) after the end of the invoice month,Dzień (dni) po zakończeniu miesiąca faktury,
-Month(s) after the end of the invoice month,Miesiąc (y) po zakończeniu miesiąca faktury,
-Credit Days,,
-Credit Months,Miesiące kredytowe,
-Allocate Payment Based On Payment Terms,Przydziel płatność na podstawie warunków płatności,
-"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Jeśli to pole wyboru jest zaznaczone, zapłacona kwota zostanie podzielona i przydzielona zgodnie z kwotami w harmonogramie płatności dla każdego terminu płatności",
-Payment Terms Template Detail,Warunki płatności Szczegóły szablonu,
-Closing Fiscal Year,Zamknięcie roku fiskalnego,
-Closing Account Head,,
-"The account head under Liability or Equity, in which Profit/Loss will be booked","Głowica konto ramach odpowiedzialności lub kapitałowe, w których zysk / strata będzie zarezerwowane",
-POS Customer Group,POS Grupa klientów,
-POS Field,Pole POS,
-POS Item Group,POS Pozycja Grupy,
-Company Address,adres spółki,
-Update Stock,Aktualizuj Stan,
-Ignore Pricing Rule,Ignoruj zasadę ustalania cen,
-Applicable for Users,Dotyczy użytkowników,
-Sales Invoice Payment,Faktura sprzedaży Płatność,
-Item Groups,Pozycja Grupy,
-Only show Items from these Item Groups,Pokazuj tylko przedmioty z tych grup przedmiotów,
-Customer Groups,Grupy klientów,
-Only show Customer of these Customer Groups,Pokazuj tylko klientów tych grup klientów,
-Write Off Account,Konto Odpisu,
-Write Off Cost Center,Centrum Kosztów Odpisu,
-Account for Change Amount,Konto dla zmiany kwoty,
-Taxes and Charges,Podatki i opłaty,
-Apply Discount On,Zastosuj RABAT,
-POS Profile User,Użytkownik profilu POS,
-Apply On,Zastosuj Na,
-Price or Product Discount,Rabat na cenę lub produkt,
-Apply Rule On Item Code,Zastosuj regułę do kodu towaru,
-Apply Rule On Item Group,Zastosuj regułę dla grupy pozycji,
-Apply Rule On Brand,Zastosuj regułę do marki,
-Mixed Conditions,Warunki mieszane,
-Conditions will be applied on all the selected items combined. ,Warunki zostaną zastosowane do wszystkich wybranych elementów łącznie.,
-Is Cumulative,Jest kumulatywny,
-Coupon Code Based,Na podstawie kodu kuponu,
-Discount on Other Item,Rabat na inny przedmiot,
-Apply Rule On Other,Zastosuj regułę do innych,
-Party Information,Informacje o imprezie,
-Quantity and Amount,Ilość i kwota,
-Min Qty,Min. ilość,
-Max Qty,Maks. Ilość,
-Min Amt,Min Amt,
-Max Amt,Max Amt,
-Period Settings,Ustawienia okresu,
-Margin,,
-Margin Type,margines Rodzaj,
-Margin Rate or Amount,Margines szybkości lub wielkości,
-Price Discount Scheme,System rabatów cenowych,
-Rate or Discount,Stawka lub zniżka,
-Discount Percentage,Procent zniżki,
-Discount Amount,Wartość zniżki,
-For Price List,Dla Listy Cen,
-Product Discount Scheme,Program rabatów na produkty,
-Same Item,Ten sam przedmiot,
-Free Item,Bezpłatny przedmiot,
-Threshold for Suggestion,Próg dla sugestii,
-System will notify to increase or decrease quantity or amount ,System powiadomi o zwiększeniu lub zmniejszeniu ilości lub ilości,
-"Higher the number, higher the priority","Im wyższa liczba, wyższy priorytet",
-Apply Multiple Pricing Rules,Zastosuj wiele zasad ustalania cen,
-Apply Discount on Rate,Zastosuj zniżkę na stawkę,
-Validate Applied Rule,Sprawdź poprawność zastosowanej reguły,
-Rule Description,Opis reguły,
-Pricing Rule Help,Pomoc dotycząca ustalania cen,
-Promotional Scheme Id,Program promocyjny Id,
-Promotional Scheme,Program promocyjny,
-Pricing Rule Brand,Zasady ustalania ceny marki,
-Pricing Rule Detail,Szczegóły reguły cenowej,
-Child Docname,Nazwa dziecka,
-Rule Applied,Stosowana reguła,
-Pricing Rule Item Code,Kod pozycji reguły cenowej,
-Pricing Rule Item Group,Grupa pozycji Reguły cenowe,
-Price Discount Slabs,Płyty z rabatem cenowym,
-Promotional Scheme Price Discount,Zniżka cenowa programu promocyjnego,
-Product Discount Slabs,Płyty z rabatem na produkty,
-Promotional Scheme Product Discount,Rabat na program promocyjny,
-Min Amount,Min. Kwota,
-Max Amount,Maksymalna kwota,
-Discount Type,Typ rabatu,
-ACC-PINV-.YYYY.-,ACC-PINV-.RRRR.-,
-Tax Withholding Category,Kategoria odwrotnego obciążenia,
-Edit Posting Date and Time,Zmodyfikuj datę i czas dokumentu,
-Is Paid,Zapłacone,
-Is Return (Debit Note),Jest zwrotem (nota debetowa),
-Apply Tax Withholding Amount,Zastosuj kwotę podatku u źródła,
-Accounting Dimensions ,Wymiary księgowe,
-Supplier Invoice Details,Dostawca Szczegóły faktury,
-Supplier Invoice Date,Data faktury dostawcy,
-Return Against Purchase Invoice,Powrót Against dowodu zakupu,
-Select Supplier Address,Wybierz adres dostawcy,
-Contact Person,Osoba kontaktowa,
-Select Shipping Address,Wybierz adres dostawy,
-Currency and Price List,Waluta i cennik,
-Price List Currency,Waluta cennika,
-Price List Exchange Rate,Cennik Kursowy,
-Set Accepted Warehouse,Ustaw przyjęty magazyn,
-Rejected Warehouse,Odrzucony Magazyn,
-Warehouse where you are maintaining stock of rejected items,Magazyn w którym zarządzasz odrzuconymi przedmiotami,
-Raw Materials Supplied,Dostarczone surowce,
-Supplier Warehouse,Magazyn dostawcy,
-Pricing Rules,Zasady ustalania cen,
-Supplied Items,Dostarczone przedmioty,
-Total (Company Currency),Razem (Spółka Waluta),
-Net Total (Company Currency),Łączna wartość netto (waluta firmy),
-Total Net Weight,Całkowita waga netto,
-Shipping Rule,Zasada dostawy,
-Purchase Taxes and Charges Template,Szablon podatków i opłat związanych z zakupami,
-Purchase Taxes and Charges,Podatki i opłaty kupna,
-Tax Breakup,Podział podatków,
-Taxes and Charges Calculation,Obliczanie podatków i opłat,
-Taxes and Charges Added (Company Currency),Dodano podatki i opłaty (Firmowe),
-Taxes and Charges Deducted (Company Currency),Podatki i opłaty potrącone (Firmowe),
-Total Taxes and Charges (Company Currency),Łączna kwota podatków i opłat (wg Firmy),
-Taxes and Charges Added,Dodano podatki i opłaty,
-Taxes and Charges Deducted,Podatki i opłaty potrącenia,
-Total Taxes and Charges,Łączna kwota podatków i opłat,
-Additional Discount,Dodatkowe Zniżki,
-Apply Additional Discount On,Zastosuj dodatkowe zniżki na,
-Additional Discount Amount (Company Currency),Dodatkowa kwota rabatu (waluta firmy),
-Additional Discount Percentage,Dodatkowy procent rabatu,
-Additional Discount Amount,Dodatkowa kwota rabatu,
-Grand Total (Company Currency),Całkowita suma (w walucie firmy),
-Rounding Adjustment (Company Currency),Korekta zaokrąglenia (waluta firmy),
-Rounded Total (Company Currency),Końcowa zaokrąglona kwota (waluta firmy),
-In Words (Company Currency),Słownie,
-Rounding Adjustment,Dopasowanie zaokrąglania,
-In Words,Słownie,
-Total Advance,Całość zaliczka,
-Disable Rounded Total,Wyłącz Zaokrąglanie Sumy,
-Cash/Bank Account,Konto Gotówka / Bank,
-Write Off Amount (Company Currency),Kwota Odpisu (Waluta Firmy),
-Set Advances and Allocate (FIFO),Ustaw Advances and Allocate (FIFO),
-Get Advances Paid,Uzyskaj opłacone zaliczki,
-Advances,Zaliczki,
-Terms,Warunki,
-Terms and Conditions1,Warunki1,
-Group same items,Grupa same pozycje,
-Print Language,Język drukowania,
-"Once set, this invoice will be on hold till the set date",Po ustawieniu faktura ta będzie zawieszona do wyznaczonej daty,
-Credit To,Kredytowane konto (Ma),
-Party Account Currency,Partia konto Waluta,
-Against Expense Account,Konto wydatków,
-Inter Company Invoice Reference,Numer referencyjny faktury firmy,
-Is Internal Supplier,Dostawca wewnętrzny,
-Start date of current invoice's period,Początek okresu rozliczeniowego dla faktury,
-End date of current invoice's period,Data zakończenia okresu bieżącej faktury,
-Update Auto Repeat Reference,Zaktualizuj Auto Repeat Reference,
-Purchase Invoice Advance,Wyślij Fakturę Zaliczkową / Proformę,
-Purchase Invoice Item,Przedmiot Faktury Zakupu,
-Quantity and Rate,Ilość i Wskaźnik,
-Received Qty,Otrzymana ilość,
-Accepted Qty,Akceptowana ilość,
-Rejected Qty,odrzucony szt,
-UOM Conversion Factor,Współczynnik konwersji jednostki miary,
-Discount on Price List Rate (%),Zniżka Cennik Oceń (%),
-Price List Rate (Company Currency),Wartość w cenniku (waluta firmy),
-Rate ,Stawka,
-Rate (Company Currency),Stawka (waluta firmy),
-Amount (Company Currency),Kwota (Waluta firmy),
-Is Free Item,Jest darmowym przedmiotem,
-Net Rate,Cena netto,
-Net Rate (Company Currency),Cena netto (Spółka Waluta),
-Net Amount (Company Currency),Kwota netto (Waluta Spółki),
-Item Tax Amount Included in Value,Pozycja Kwota podatku zawarta w wartości,
-Landed Cost Voucher Amount,Kwota Kosztu Voucheru,
-Raw Materials Supplied Cost,Koszt dostarczonych surowców,
-Accepted Warehouse,Przyjęty magazyn,
-Serial No,Nr seryjny,
-Rejected Serial No,Odrzucony Nr Seryjny,
-Expense Head,Szef Wydatków,
-Is Fixed Asset,Czy trwałego,
-Asset Location,Lokalizacja zasobów,
-Deferred Expense,Odroczony koszt,
-Deferred Expense Account,Rachunek odroczonego obciążenia,
-Service Stop Date,Data zatrzymania usługi,
-Enable Deferred Expense,Włącz odroczony koszt,
-Service Start Date,Data rozpoczęcia usługi,
-Service End Date,Data zakończenia usługi,
-Allow Zero Valuation Rate,Zezwalaj na zerową wartość wyceny,
-Item Tax Rate,Stawka podatku dla tej pozycji,
-Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Podatki pobierane z tabeli szczegółów mistrza poz jako ciąg znaków i przechowywane w tej dziedzinie.\n Służy do podatkach i opłatach,
-Purchase Order Item,Przedmiot Zamówienia Kupna,
-Purchase Receipt Detail,Szczegóły zakupu paragonu,
-Item Weight Details,Szczegóły dotyczące wagi przedmiotu,
-Weight Per Unit,Waga na jednostkę,
-Total Weight,Waga całkowita,
-Weight UOM,Waga jednostkowa,
-Page Break,Znak końca strony,
-Consider Tax or Charge for,Rozwać Podatek albo Opłatę za,
-Valuation and Total,Wycena i kwota całkowita,
-Valuation,Wycena,
-Add or Deduct,Dodatki lub Potrącenia,
-Deduct,Odlicz,
-On Previous Row Amount,,
-On Previous Row Total,,
-On Item Quantity,Na ilość przedmiotu,
-Reference Row #,Rząd Odniesienia #,
-Is this Tax included in Basic Rate?,Czy podatek wliczony jest w opłaty?,
-"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Jeśli zaznaczone, kwota podatku zostanie wliczona w cenie Drukuj Cenę / Drukuj Podsumowanie",
-Account Head,Konto główne,
-Tax Amount After Discount Amount,Kwota podatku po odliczeniu wysokości rabatu,
-Item Wise Tax Detail ,Mądre informacje podatkowe dotyczące przedmiotu,
-"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.\n10. Add or Deduct: Whether you want to add or deduct the tax.","Standardowy szablon podatek, który może być stosowany do wszystkich transakcji kupna. Ten szablon może zawierać listę szefów podatkowych, a także innych głów wydatków jak ""Żegluga"", ""Ubezpieczenia"", ""Obsługa"" itp \n\n #### Uwaga \n\n stawki podatku zdefiniować tutaj będzie standardowa stawka podatku w odniesieniu do wszystkich pozycji ** **. Jeśli istnieją ** Pozycje **, które mają różne ceny, muszą być dodane w podatku od towaru ** ** tabeli w poz ** ** mistrza.\n\n #### Opis Kolumny \n\n 1. Obliczenie Typ: \n i - może to być na całkowita ** ** (to jest suma ilości wyjściowej).\n - ** Na Poprzedni Row Całkowita / Kwota ** (dla skumulowanych podatków lub opłat). Jeśli wybierzesz tę opcję, podatek będzie stosowana jako procent poprzedniego rzędu (w tabeli podatkowej) kwoty lub łącznie.\n - ** Rzeczywista ** (jak wspomniano).\n 2. Szef konta: księga konto, na którym podatek ten zostanie zaksięgowany \n 3. Centrum koszt: Jeżeli podatek / opłata jest dochód (jak wysyłką) lub kosztów musi zostać zaliczony na centrum kosztów.\n 4. Opis: Opis podatków (które będą drukowane w faktur / cudzysłowów).\n 5. Cena: Stawka podatku.\n 6. Kwota: Kwota podatku.\n 7. Razem: Zbiorcza sumie do tego punktu.\n 8. Wprowadź Row: Jeśli na podstawie ""Razem poprzedniego wiersza"" można wybrać numer wiersza, które będą brane jako baza do tego obliczenia (domyślnie jest to poprzednia wiersz).\n 9. Zastanów podatek lub opłatę za: W tej sekcji można określić, czy podatek / opłata jest tylko dla wyceny (nie jest częścią całości) lub tylko dla całości (nie dodaje wartości do elementu) lub oba.\n 10. Dodać lub odjąć: Czy chcesz dodać lub odjąć podatek.",
-Salary Component Account,Konto Wynagrodzenie Komponent,
-Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,Domyślne konto bank / bankomat zostanie automatycznie zaktualizowana wynagrodzenia Journal Entry po wybraniu tego trybu.,
-ACC-SINV-.YYYY.-,ACC-SINV-.RRRR.-,
-Include Payment (POS),Obejmują płatności (POS),
-Offline POS Name,Offline POS Nazwa,
-Is Return (Credit Note),Jest zwrot (nota kredytowa),
-Return Against Sales Invoice,Powrót Against faktury sprzedaży,
-Update Billed Amount in Sales Order,Zaktualizuj kwotę rozliczenia w zleceniu sprzedaży,
-Customer PO Details,Szczegóły zamówienia klienta,
-Customer's Purchase Order,Klienta Zamówienia,
-Customer's Purchase Order Date,Data Zamówienia Zakupu Klienta,
-Customer Address,Adres klienta,
-Shipping Address Name,Adres do wysyłki Nazwa,
-Company Address Name,Nazwa firmy,
-Rate at which Customer Currency is converted to customer's base currency,Stawka przy użyciu której Waluta Klienta jest konwertowana do podstawowej waluty klienta,
-Rate at which Price list currency is converted to customer's base currency,Stawka przy użyciu której waluta Listy Cen jest konwertowana do podstawowej waluty klienta,
-Set Source Warehouse,Ustaw magazyn źródłowy,
-Packing List,Lista przedmiotów do spakowania,
-Packed Items,Przedmioty pakowane,
-Product Bundle Help,Produkt Bundle Pomoc,
-Time Sheet List,Czas Lista Sheet,
-Time Sheets,arkusze czasu,
-Total Billing Amount,Łączna kwota płatności,
-Sales Taxes and Charges Template,Podatki od sprzedaży i opłaty Szablon,
-Sales Taxes and Charges,Podatki i Opłaty od Sprzedaży,
-Loyalty Points Redemption,Odkupienie punktów lojalnościowych,
-Redeem Loyalty Points,Wykorzystaj punkty lojalnościowe,
-Redemption Account,Rachunek wykupu,
-Redemption Cost Center,Centrum kosztów odkupienia,
-In Words will be visible once you save the Sales Invoice.,"Słownie, będzie widoczne w fakturze sprzedaży, po zapisaniu",
-Allocate Advances Automatically (FIFO),Automatycznie przydzielaj zaliczki (FIFO),
-Get Advances Received,Uzyskaj otrzymane zaliczki,
-Base Change Amount (Company Currency),Kwota bazowa Change (Spółka waluty),
-Write Off Outstanding Amount,Nieuregulowana Wartość Odpisu,
-Terms and Conditions Details,Szczegóły regulaminu,
-Is Internal Customer,Jest klientem wewnętrznym,
-Is Discounted,Jest dyskontowany,
-Unpaid and Discounted,Nieopłacone i zniżki,
-Overdue and Discounted,Zaległe i zdyskontowane,
-Accounting Details,Dane księgowe,
-Debit To,Debetowane Konto (Winien),
-Is Opening Entry,,
-C-Form Applicable,,
-Commission Rate (%),Wartość prowizji (%),
-Sales Team1,Team Sprzedażowy1,
-Against Income Account,Konto przychodów,
-Sales Invoice Advance,Faktura Zaliczkowa,
-Advance amount,Kwota Zaliczki,
-Sales Invoice Item,Przedmiot Faktury Sprzedaży,
-Customer's Item Code,Kod Przedmiotu Klienta,
-Brand Name,Nazwa Marki,
-Qty as per Stock UOM,Ilość wg. Jednostki Miary,
-Discount and Margin,Rabat i marży,
-Rate With Margin,Rate With Margin,
-Discount (%) on Price List Rate with Margin,Zniżka (%) w Tabeli Cen Ceny z Marginesem,
-Rate With Margin (Company Currency),Stawka z depozytem zabezpieczającym (waluta spółki),
-Delivered By Supplier,Dostarczane przez Dostawcę,
-Deferred Revenue,Odroczone przychody,
-Deferred Revenue Account,Konto odroczonego przychodu,
-Enable Deferred Revenue,Włącz odroczone przychody,
-Stock Details,Zdjęcie Szczegóły,
-Customer Warehouse (Optional),Magazyn klienta (opcjonalnie),
-Available Batch Qty at Warehouse,Dostępne w Warehouse partii Ilość,
-Available Qty at Warehouse,Ilość dostępna w magazynie,
-Delivery Note Item,Przedmiot z dowodu dostawy,
-Base Amount (Company Currency),Kwota bazowa (Waluta firmy),
-Sales Invoice Timesheet,Faktura sprzedaży grafiku,
-Time Sheet,Czas Sheet,
-Billing Hours,Godziny billingowe,
-Timesheet Detail,Szczegółowy grafik,
-Tax Amount After Discount Amount (Company Currency),Kwota podatku po uwzględnieniu rabatu (waluta firmy),
-Item Wise Tax Detail,,
-Parenttype,Typ Nadrzędności,
-"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","Standardowy szablon podatek, który może być stosowany do wszystkich transakcji sprzedaży. Ten szablon może zawierać listę szefów podatkowych, a także innych głów koszty / dochodów jak ""Żegluga"", ""Ubezpieczenia"", ""Obsługa"" itp \n\n #### Uwaga \n\n Stopa Ciebie podatku definiujemy tu będzie standardowa stawka podatku w odniesieniu do wszystkich pozycji ** **. Jeśli istnieją ** Pozycje **, które mają różne ceny, muszą być dodane w podatku od towaru ** ** tabeli w poz ** ** mistrza.\n\n #### Opis Kolumny \n\n 1. Obliczenie Typ: \n i - może to być na całkowita ** ** (to jest suma ilości wyjściowej).\n - ** Na Poprzedni Row Całkowita / Kwota ** (dla skumulowanych podatków lub opłat). Jeśli wybierzesz tę opcję, podatek będzie stosowana jako procent poprzedniego rzędu (w tabeli podatkowej) kwoty lub łącznie.\n - ** Rzeczywista ** (jak wspomniano).\n 2. Szef konta: księga konto, na którym podatek ten zostanie zaksięgowany \n 3. Centrum koszt: Jeżeli podatek / opłata jest dochód (jak wysyłką) lub kosztów musi zostać zaliczony na centrum kosztów.\n 4. Opis: Opis podatków (które będą drukowane w faktur / cudzysłowów).\n 5. Cena: Stawka podatku.\n 6. Kwota: Kwota podatku.\n 7. Razem: Zbiorcza sumie do tego punktu.\n 8. Wprowadź Row: Jeśli na podstawie ""Razem poprzedniego wiersza"" można wybrać numer wiersza, które będą brane jako baza do tego obliczenia (domyślnie jest to poprzednia wiersz).\n 9. Czy to podatki zawarte w podstawowej stawki ?: Jeśli to sprawdzić, oznacza to, że podatek ten nie będzie wyświetlany pod tabelą pozycji, ale będą włączone do stawki podstawowej w głównej tabeli poz. Jest to przydatne, gdy chcesz dać cenę mieszkania (z uwzględnieniem wszystkich podatków) cenę do klientów.",
-* Will be calculated in the transaction.,* Zostanie policzony dla transakcji.,
-From No,Od Nie,
-To No,Do Nie,
-Is Company,Czy firma,
-Current State,Stan aktulany,
-Purchased,Zakupione,
-From Shareholder,Od Akcjonariusza,
-From Folio No,Z Folio nr,
-To Shareholder,Do Akcjonariusza,
-To Folio No,Do Folio Nie,
-Equity/Liability Account,Rachunek akcyjny / zobowiązanie,
-Asset Account,Konto aktywów,
-(including),(włącznie z),
-ACC-SH-.YYYY.-,ACC-SH-.RRRR.-,
-Folio no.,Numer folio,
-Address and Contacts,Adres i kontakty,
-Contact List,Lista kontaktów,
-Hidden list maintaining the list of contacts linked to Shareholder,Ukryta lista z listą kontaktów powiązanych z Akcjonariuszem,
-Specify conditions to calculate shipping amount,Określ warunki do obliczenia kwoty wysyłki,
-Shipping Rule Label,Etykieta z zasadami wysyłki i transportu,
-example: Next Day Shipping,przykład: Wysyłka następnego dnia,
-Shipping Rule Type,Typ reguły wysyłki,
-Shipping Account,Konto dostawy,
-Calculate Based On,Obliczone na podstawie,
-Fixed,Naprawiony,
-Net Weight,Waga netto,
-Shipping Amount,Ilość dostawy,
-Shipping Rule Conditions,Warunki zasady dostawy,
-Restrict to Countries,Ogranicz do krajów,
-Valid for Countries,Ważny dla krajów,
-Shipping Rule Condition,Warunek zasady dostawy,
-A condition for a Shipping Rule,Warunki wysyłki,
-From Value,Od wartości,
-To Value,Określ wartość,
-Shipping Rule Country,Zasada Wysyłka Kraj,
-Subscription Period,Okres subskrypcji,
-Subscription Start Date,Data rozpoczęcia subskrypcji,
-Cancelation Date,Data Anulowania,
-Trial Period Start Date,Data rozpoczęcia okresu próbnego,
-Trial Period End Date,Termin zakończenia okresu próbnego,
-Current Invoice Start Date,Aktualna data rozpoczęcia faktury,
-Current Invoice End Date,Aktualna data zakończenia faktury,
-Days Until Due,Dni do końca,
-Number of days that the subscriber has to pay invoices generated by this subscription,"Liczba dni, w których subskrybent musi płacić faktury wygenerowane w ramach tej subskrypcji",
-Cancel At End Of Period,Anuluj na koniec okresu,
-Generate Invoice At Beginning Of Period,Wygeneruj fakturę na początku okresu,
-Plans,Plany,
-Discounts,Rabaty,
-Additional DIscount Percentage,Dodatkowy rabat procentowy,
-Additional DIscount Amount,Kwota dodatkowego rabatu,
-Subscription Invoice,Faktura subskrypcyjna,
-Subscription Plan,Abonament abonamentowy,
-Cost,Koszt,
-Billing Interval,Okres rozliczeniowy,
-Billing Interval Count,Liczba interwałów rozliczeń,
-"Number of intervals for the interval field e.g if Interval is 'Days' and Billing Interval Count is 3, invoices will be generated every 3 days","Liczba interwałów dla pola interwałowego, np. Jeśli Interwał to &quot;Dni&quot;, a liczba interwałów rozliczeń to 3, faktury będą generowane co 3 dni",
-Payment Plan,Plan płatności,
-Subscription Plan Detail,Szczegóły abonamentu,
-Plan,Plan,
-Subscription Settings,Ustawienia subskrypcji,
-Grace Period,Okres łaski,
-Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Liczba dni po dacie faktury upłynęła przed anulowaniem subskrypcji lub oznaczenia subskrypcji jako niepłatne,
-Prorate,Prorate,
-Tax Rule,Reguła podatkowa,
-Tax Type,Rodzaj podatku,
-Use for Shopping Cart,Służy do koszyka,
-Billing City,Rozliczenia Miasto,
-Billing County,Powiat,
-Billing State,Stan Billing,
-Billing Zipcode,Kod pocztowy do rozliczeń,
-Billing Country,Kraj fakturowania,
-Shipping City,Wysyłka Miasto,
-Shipping County,Dostawa County,
-Shipping State,Stan zakupu,
-Shipping Zipcode,Kod pocztowy wysyłki,
-Shipping Country,Wysyłka Kraj,
-Tax Withholding Account,Rachunek potrącenia podatku u źródła,
-Tax Withholding Rates,Podatki potrącane u źródła,
-Rates,Stawki,
-Tax Withholding Rate,Podatek u źródła,
-Single Transaction Threshold,Próg pojedynczej transakcji,
-Cumulative Transaction Threshold,Skumulowany próg transakcji,
-Agriculture Analysis Criteria,Kryteria analizy rolnictwa,
-Linked Doctype,Połączony Doctype,
-Water Analysis,Analiza wody,
-Soil Analysis,Analiza gleby,
-Plant Analysis,Analiza roślin,
-Fertilizer,Nawóz,
-Soil Texture,Tekstura gleby,
-Weather,Pogoda,
-Agriculture Manager,Dyrektor ds. Rolnictwa,
-Agriculture User,Użytkownik rolnictwa,
-Agriculture Task,Zadanie rolnicze,
-Task Name,Nazwa zadania,
-Start Day,Rozpocząć dzień,
-End Day,Koniec dnia,
-Holiday Management,Zarządzanie wakacjami,
-Ignore holidays,Ignoruj święta,
-Previous Business Day,Poprzedni dzień roboczy,
-Next Business Day,Następny dzień roboczy,
-Urgent,Pilne,
-Crop,Przyciąć,
-Crop Name,Nazwa uprawy,
-Scientific Name,Nazwa naukowa,
-"You can define all the tasks which need to carried out for this crop here. The day field is used to mention the day on which the task needs to be carried out, 1 being the 1st day, etc.. ","Możesz tu zdefiniować wszystkie zadania, które należy wykonać dla tego zbioru. Pole dnia jest używane do wskazania dnia, w którym należy wykonać zadanie, 1 oznacza pierwszy dzień itd.",
-Crop Spacing,Odstępy między plamami,
-Crop Spacing UOM,Odstępy między plamami UOM,
-Row Spacing,Rozstaw wierszy,
-Row Spacing UOM,Rozstaw rzędów UOM,
-Perennial,Bylina,
-Biennial,Dwuletni,
-Planting UOM,Sadzenie MOM,
-Planting Area,Obszar sadzenia,
-Yield UOM,Wydajność UOM,
-Materials Required,Wymagane materiały,
-Produced Items,Produkowane przedmioty,
-Produce,Produkować,
-Byproducts,Przez produkty,
-Linked Location,Powiązana lokalizacja,
-A link to all the Locations in which the Crop is growing,"Łącze do wszystkich lokalizacji, w których rośnie uprawa",
-This will be day 1 of the crop cycle,To będzie pierwszy dzień cyklu zbiorów,
-ISO 8601 standard,Norma ISO 8601,
-Cycle Type,Typ cyklu,
-Less than a year,Mniej niż rok,
-The minimum length between each plant in the field for optimum growth,Minimalna długość między każdą rośliną w polu dla optymalnego wzrostu,
-The minimum distance between rows of plants for optimum growth,Minimalna odległość między rzędami roślin dla optymalnego wzrostu,
-Detected Diseases,Wykryto choroby,
-List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,Lista chorób wykrytych na polu. Po wybraniu automatycznie doda listę zadań do radzenia sobie z chorobą,
-Detected Disease,Wykryto chorobę,
-LInked Analysis,Analiza LInked,
-Disease,Choroba,
-Tasks Created,Zadania utworzone,
-Common Name,Nazwa zwyczajowa,
-Treatment Task,Zadanie leczenia,
-Treatment Period,Okres leczenia,
-Fertilizer Name,Nazwa nawozu,
-Density (if liquid),Gęstość (jeśli ciecz),
-Fertilizer Contents,Zawartość nawozu,
-Fertilizer Content,Zawartość nawozu,
-Linked Plant Analysis,Połączona analiza roślin,
-Linked Soil Analysis,Powiązana analiza gleby,
-Linked Soil Texture,Połączona tekstura gleby,
-Collection Datetime,Kolekcja Datetime,
-Laboratory Testing Datetime,Testowanie laboratoryjne Datetime,
-Result Datetime,Wynik Datetime,
-Plant Analysis Criterias,Kryteria analizy roślin,
-Plant Analysis Criteria,Kryteria analizy roślin,
-Minimum Permissible Value,Minimalna dopuszczalna wartość,
-Maximum Permissible Value,Maksymalna dopuszczalna wartość,
-Ca/K,Ca / K,
-Ca/Mg,Ca / Mg,
-Mg/K,Mg / K,
-(Ca+Mg)/K,(Ca + Mg) / K,
-Ca/(K+Ca+Mg),Ca / (K + Ca + Mg),
-Soil Analysis Criterias,Kryteria analizy gleby,
-Soil Analysis Criteria,Kryteria analizy gleby,
-Soil Type,Typ gleby,
-Loamy Sand,Piasek gliniasty,
-Sandy Loam,Sandy Loam,
-Loam,Ił,
-Silt Loam,Silt Loam,
-Sandy Clay Loam,Sandy Clay Loam,
-Clay Loam,Clay Loam,
-Silty Clay Loam,Silty Clay Loam,
-Sandy Clay,Sandy Clay,
-Silty Clay,Silty Clay,
-Clay Composition (%),Skład gliny (%),
-Sand Composition (%),Skład piasku (%),
-Silt Composition (%),Skład mułu (%),
-Ternary Plot,Ternary Plot,
-Soil Texture Criteria,Kryteria tekstury gleby,
-Type of Sample,Rodzaj próbki,
-Container,Pojemnik,
-Origin,Pochodzenie,
-Collection Temperature ,Temperatura zbierania,
-Storage Temperature,Temperatura przechowywania,
-Appearance,Wygląd,
-Person Responsible,Osoba odpowiedzialna,
-Water Analysis Criteria,Kryteria analizy wody,
-Weather Parameter,Parametr pogody,
-ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
-Asset Owner,Właściciel zasobu,
-Asset Owner Company,Asset Owner Company,
-Custodian,Kustosz,
-Disposal Date,Utylizacja Data,
-Journal Entry for Scrap,Księgowanie na złom,
-Available-for-use Date,Data przydatności do użycia,
-Calculate Depreciation,Oblicz amortyzację,
-Allow Monthly Depreciation,Zezwalaj na miesięczną amortyzację,
-Number of Depreciations Booked,Ilość amortyzacją zarezerwowano,
-Finance Books,Finanse Książki,
-Straight Line,Linia prosta,
-Double Declining Balance,Podwójne Bilans Spadek,
-Manual,podręcznik,
-Value After Depreciation,Wartość po amortyzacji,
-Total Number of Depreciations,Całkowita liczba amortyzacją,
-Frequency of Depreciation (Months),Częstotliwość Amortyzacja (miesiące),
-Next Depreciation Date,Następny Amortyzacja Data,
-Depreciation Schedule,amortyzacja Harmonogram,
-Depreciation Schedules,Rozkłady amortyzacyjne,
-Insurance details,Szczegóły ubezpieczenia,
-Policy number,Numer polisy,
-Insurer,Ubezpieczający,
-Insured value,Wartość ubezpieczenia,
-Insurance Start Date,Data rozpoczęcia ubezpieczenia,
-Insurance End Date,Data zakończenia ubezpieczenia,
-Comprehensive Insurance,Kompleksowe ubezpieczenie,
-Maintenance Required,Wymagane czynności konserwacyjne,
-Check if Asset requires Preventive Maintenance or Calibration,"Sprawdź, czy Zasób wymaga konserwacji profilaktycznej lub kalibracji",
-Booked Fixed Asset,Zarezerwowany środek trwały,
-Purchase Receipt Amount,Kup kwotę odbioru,
-Default Finance Book,Domyślna księga finansowa,
-Quality Manager,Manager Jakości,
-Asset Category Name,Zaleta Nazwa kategorii,
-Depreciation Options,Opcje amortyzacji,
-Enable Capital Work in Progress Accounting,Włącz rachunkowość kapitału w toku,
-Finance Book Detail,Finanse Książka szczegółów,
-Asset Category Account,Konto Aktywów Kategoria,
-Fixed Asset Account,Konto trwałego,
-Accumulated Depreciation Account,Skumulowana Amortyzacja konta,
-Depreciation Expense Account,Konto amortyzacji wydatków,
-Capital Work In Progress Account,Kapitałowe konto w toku,
-Asset Finance Book,Książka o finansach aktywów,
-Written Down Value,Zapisana wartość,
-Expected Value After Useful Life,Przewidywany okres użytkowania wartości po,
-Rate of Depreciation,Stopa amortyzacji,
-In Percentage,W procentach,
-Maintenance Team,Zespół serwisowy,
-Maintenance Manager Name,Nazwa menedżera konserwacji,
-Maintenance Tasks,Zadania konserwacji,
-Manufacturing User,Produkcja użytkownika,
-Asset Maintenance Log,Dziennik konserwacji zasobów,
-ACC-AML-.YYYY.-,ACC-AML-.RRRR.-,
-Maintenance Type,Typ Konserwacji,
-Maintenance Status,Status Konserwacji,
-Planned,Zaplanowany,
-Has Certificate ,Posiada certyfikat,
-Certificate,Certyfikat,
-Actions performed,Wykonane akcje,
-Asset Maintenance Task,Zadanie utrzymania aktywów,
-Maintenance Task,Zadanie konserwacji,
-Preventive Maintenance,Konserwacja zapobiegawcza,
-Calibration,Kalibrowanie,
-2 Yearly,2 Rocznie,
-Certificate Required,Wymagany certyfikat,
-Assign to Name,Przypisz do nazwy,
-Next Due Date,Następna data płatności,
-Last Completion Date,Ostatnia data ukończenia,
-Asset Maintenance Team,Zespół ds. Utrzymania aktywów,
-Maintenance Team Name,Nazwa zespołu obsługi technicznej,
-Maintenance Team Members,Członkowie zespołu ds. Konserwacji,
-Purpose,Cel,
-Stock Manager,Kierownik magazynu,
-Asset Movement Item,Element ruchu zasobu,
-Source Location,Lokalizacja źródła,
-From Employee,Od pracownika,
-Target Location,Docelowa lokalizacja,
-To Employee,Do pracownika,
-Asset Repair,Naprawa aktywów,
-ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
-Failure Date,Data awarii,
-Assign To Name,Przypisywanie do nazwy,
-Repair Status,Status naprawy,
-Error Description,Opis błędu,
-Downtime,Przestój,
-Repair Cost,koszty naprawy,
-Manufacturing Manager,Kierownik Produkcji,
-Current Asset Value,Aktualna wartość aktywów,
-New Asset Value,Nowa wartość aktywów,
-Make Depreciation Entry,Bądź Amortyzacja Entry,
-Finance Book Id,Identyfikator książki finansowej,
-Location Name,Nazwa lokalizacji,
-Parent Location,Lokalizacja rodzica,
-Is Container,To kontener,
-Check if it is a hydroponic unit,"Sprawdź, czy to jednostka hydroponiczna",
-Location Details,Szczegóły lokalizacji,
-Latitude,Szerokość,
-Longitude,Długość geograficzna,
-Area,Powierzchnia,
-Area UOM,Obszar UOM,
-Tree Details,drzewo Szczegóły,
-Maintenance Team Member,Członek zespołu ds. Konserwacji,
-Team Member,Członek zespołu,
-Maintenance Role,Rola konserwacji,
-Buying Settings,Ustawienia zakupów,
-Settings for Buying Module,Ustawienia Zakup modułu,
-Supplier Naming By,Po nazwie dostawcy,
-Default Supplier Group,Domyślna grupa dostawców,
-Default Buying Price List,Domyślny cennik dla zakupów,
-Backflush Raw Materials of Subcontract Based On,Rozliczenie wsteczne materiałów podwykonawstwa,
-Material Transferred for Subcontract,Materiał przekazany do podwykonawstwa,
-Over Transfer Allowance (%),Nadwyżka limitu transferu (%),
-Percentage you are allowed to transfer more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to transfer 110 units.,"Procent, który możesz przekazać więcej w stosunku do zamówionej ilości. Na przykład: jeśli zamówiłeś 100 jednostek. a Twój zasiłek wynosi 10%, możesz przenieść 110 jednostek.",
-PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
-Get Items from Open Material Requests,Elementy z żądań Otwórz Materiał,
-Fetch items based on Default Supplier.,Pobierz elementy na podstawie domyślnego dostawcy.,
-Required By,Wymagane przez,
-Order Confirmation No,Potwierdzenie nr,
-Order Confirmation Date,Zamów datę potwierdzenia,
-Customer Mobile No,Komórka klienta Nie,
-Customer Contact Email,Kontakt z klientem e-mail,
-Set Target Warehouse,Ustaw magazyn docelowy,
-Sets 'Warehouse' in each row of the Items table.,Ustawia „Magazyn” w każdym wierszu tabeli Towary.,
-Supply Raw Materials,Zaopatrzenia w surowce,
-Purchase Order Pricing Rule,Reguła cenowa zamówienia zakupu,
-Set Reserve Warehouse,Ustaw Rezerwuj magazyn,
-In Words will be visible once you save the Purchase Order.,Słownie będzie widoczna w Zamówieniu po zapisaniu,
-Advance Paid,Zaliczka,
-Tracking,Śledzenie,
-% Billed,% rozliczonych,
-% Received,% Otrzymanych,
-Ref SQ,Ref SQ,
-Inter Company Order Reference,Informacje o zamówieniach między firmami,
-Supplier Part Number,Numer katalogowy dostawcy,
-Billed Amt,Rozliczona Ilość,
-Warehouse and Reference,Magazyn i punkt odniesienia,
-To be delivered to customer,Być dostarczone do klienta,
-Material Request Item,,
-Supplier Quotation Item,,
-Against Blanket Order,Przeciw Kocowi,
-Blanket Order,Formularz zamówienia,
-Blanket Order Rate,Ogólny koszt zamówienia,
-Returned Qty,Wrócił szt,
-Purchase Order Item Supplied,Dostarczony przedmiot zamówienia,
-BOM Detail No,BOM Numer,
-Stock Uom,Jednostka,
-Raw Material Item Code,Kod surowca,
-Supplied Qty,Dostarczane szt,
-Purchase Receipt Item Supplied,Rachunek Kupna Zaopatrzenia,
-Current Stock,Bieżący asortyment,
-PUR-RFQ-.YYYY.-,PUR-RFQ-.RRRR.-,
-For individual supplier,Dla indywidualnego dostawcy,
-Link to Material Requests,Link do żądań materiałów,
-Message for Supplier,Wiadomość dla dostawcy,
-Request for Quotation Item,Przedmiot zapytania ofertowego,
-Required Date,Data wymagana,
-Request for Quotation Supplier,Zapytanie ofertowe do dostawcy,
-Send Email,Wyślij E-mail,
-Quote Status,Status statusu,
-Download PDF,Pobierz PDF,
-Supplier of Goods or Services.,Dostawca towarów lub usług.,
-Name and Type,Nazwa i typ,
-SUP-.YYYY.-,SUP-.RRRR.-,
-Default Bank Account,Domyślne konto bankowe,
-Is Transporter,Dostarcza we własnym zakresie,
-Represents Company,Reprezentuje firmę,
-Supplier Type,Typ dostawcy,
-Allow Purchase Invoice Creation Without Purchase Order,Zezwalaj na tworzenie faktur zakupu bez zamówienia zakupu,
-Allow Purchase Invoice Creation Without Purchase Receipt,Zezwalaj na tworzenie faktur zakupu bez pokwitowania zakupu,
-Warn RFQs,Informuj o złożonych zapytaniach ofertowych,
-Warn POs,Informuj o złożonych zamówieniach,
-Prevent RFQs,Zapobiegaj złożeniu zapytania ofertowego,
-Prevent POs,Zapobiegaj złożeniu zamówienia,
-Billing Currency,Waluta rozliczenia,
-Default Payment Terms Template,Domyślny szablon warunków płatności,
-Block Supplier,Blokuj dostawcę,
-Hold Type,Hold Type,
-Leave blank if the Supplier is blocked indefinitely,"Pozostaw puste, jeśli dostawca jest blokowany na czas nieokreślony",
-Default Payable Accounts,Domyślne konta Rozrachunki z dostawcami,
-Mention if non-standard payable account,"Wspomnij, jeśli nietypowe konto płatne",
-Default Tax Withholding Config,Domyślna konfiguracja podatku u źródła,
-Supplier Details,Szczegóły dostawcy,
-Statutory info and other general information about your Supplier,Informacje prawne na temat dostawcy,
-PUR-SQTN-.YYYY.-,PUR-SQTN-.RRRR.-,
-Supplier Address,Adres dostawcy,
-Link to material requests,Link do żądań materialnych,
-Rounding Adjustment (Company Currency,Korekta zaokrągleń (waluta firmy,
-Auto Repeat Section,Sekcja automatycznego powtarzania,
-Is Subcontracted,Czy zlecony,
-Lead Time in days,Czas oczekiwania w dniach,
-Supplier Score,Ocena Dostawcy,
-Indicator Color,Kolor wskaźnika,
-Evaluation Period,Okres próbny,
-Per Week,Na tydzień,
-Per Month,Na miesiąc,
-Per Year,Na rok,
-Scoring Setup,Konfiguracja punktów,
-Weighting Function,Funkcja ważenia,
-"Scorecard variables can be used, as well as:\n{total_score} (the total score from that period),\n{period_number} (the number of periods to present day)\n","Mogą być stosowane zmienne kartoteki, a także: {total_score} (całkowity wynik z tego okresu), {period_number} (liczba okresów na dzień dzisiejszy)",
-Scoring Standings,Zaplanuj miejsca,
-Criteria Setup,Konfiguracja kryteriów,
-Load All Criteria,Załaduj wszystkie kryteria,
-Scoring Criteria,Kryteria oceny,
-Scorecard Actions,Działania kartoteki,
-Warn for new Request for Quotations,Ostrzegaj przed nowym żądaniem ofert,
-Warn for new Purchase Orders,Ostrzegaj o nowych zamówieniach zakupu,
-Notify Supplier,Powiadom o Dostawcy,
-Notify Employee,Powiadom o pracowniku,
-Supplier Scorecard Criteria,Kryteria oceny dostawcy Dostawcy,
-Criteria Name,Kryteria Nazwa,
-Max Score,Maksymalny wynik,
-Criteria Formula,Wzór Kryterium,
-Criteria Weight,Kryteria Waga,
-Supplier Scorecard Period,Okres kartoteki dostawcy,
-PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
-Period Score,Wynik okresu,
-Calculations,Obliczenia,
-Criteria,Kryteria,
-Variables,Zmienne,
-Supplier Scorecard Setup,Ustawienia karty wyników dostawcy,
-Supplier Scorecard Scoring Criteria,Kryteria oceny scoringowej dostawcy,
-Score,Wynik,
-Supplier Scorecard Scoring Standing,Dostawca Scorecard Stanowisko,
-Standing Name,Reputacja,
-Purple,Fioletowy,
-Yellow,Żółty,
-Orange,Pomarańczowy,
-Min Grade,Min. wynik,
-Max Grade,Maks. wynik,
-Warn Purchase Orders,Ostrzegaj Zamówienia Zakupu,
-Prevent Purchase Orders,Zapobiegaj zamówieniom zakupu,
-Employee ,Pracownik,
-Supplier Scorecard Scoring Variable,Dostawca Scorecard Zmienna scoringowa,
-Variable Name,Nazwa zmiennej,
-Parameter Name,Nazwa parametru,
-Supplier Scorecard Standing,Dostawca Scorecard Standing,
-Notify Other,Powiadamiaj inne,
-Supplier Scorecard Variable,Zmienną Scorecard dostawcy,
-Call Log,Rejestr połączeń,
-Received By,Otrzymane przez,
-Caller Information,Informacje o dzwoniącym,
-Contact Name,Nazwa kontaktu,
-Lead ,Prowadzić,
-Lead Name,Nazwa Tropu,
-Ringing,Dzwonienie,
-Missed,Nieodebrane,
-Call Duration in seconds,Czas trwania połączenia w sekundach,
-Recording URL,Adres URL nagrywania,
-Communication Medium,Środki komunikacji,
-Communication Medium Type,Typ medium komunikacyjnego,
-Voice,Głos,
-Catch All,Złap wszystkie,
-"If there is no assigned timeslot, then communication will be handled by this group","Jeśli nie ma przypisanej szczeliny czasowej, komunikacja będzie obsługiwana przez tę grupę",
-Timeslots,Szczeliny czasowe,
-Communication Medium Timeslot,Średni czas komunikacji,
-Employee Group,Grupa pracowników,
-Appointment,Spotkanie,
-Scheduled Time,Zaplanowany czas,
-Unverified,Niesprawdzony,
-Customer Details,Dane Klienta,
-Phone Number,Numer telefonu,
-Skype ID,Nazwa Skype,
-Linked Documents,Powiązane dokumenty,
-Appointment With,Spotkanie z,
-Calendar Event,Wydarzenie z kalendarza,
-Appointment Booking Settings,Ustawienia rezerwacji terminu,
-Enable Appointment Scheduling,Włącz harmonogram spotkań,
-Agent Details,Dane agenta,
-Availability Of Slots,Dostępność automatów,
-Number of Concurrent Appointments,Liczba jednoczesnych spotkań,
-Agents,Agenci,
-Appointment Details,Szczegóły terminu,
-Appointment Duration (In Minutes),Czas trwania spotkania (w minutach),
-Notify Via Email,Powiadom przez e-mail,
-Notify customer and agent via email on the day of the appointment.,Powiadom klienta i agenta za pośrednictwem poczty elektronicznej w dniu spotkania.,
-Number of days appointments can be booked in advance,Liczbę dni można umawiać z wyprzedzeniem,
-Success Settings,Ustawienia sukcesu,
-Success Redirect URL,Sukces Przekierowanie URL,
-"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Pozostaw puste w domu. Jest to względne w stosunku do adresu URL witryny, na przykład „about” przekieruje na „https://yoursitename.com/about”",
-Appointment Booking Slots,Terminy rezerwacji spotkań,
-Day Of Week,Dzień tygodnia,
-From Time ,Od czasu,
-Campaign Email Schedule,Harmonogram e-mailu kampanii,
-Send After (days),Wyślij po (dni),
-Signed,Podpisano,
-Party User,Użytkownik strony,
-Unsigned,Bez podpisu,
-Fulfilment Status,Status realizacji,
-N/A,Nie dotyczy,
-Unfulfilled,Niespełnione,
-Partially Fulfilled,Częściowo zrealizowane,
-Fulfilled,Spełniony,
-Lapsed,Nieaktualne,
-Contract Period,Okres umowy,
-Signee Details,Szczegóły dotyczące Signee,
-Signee,Signee,
-Signed On,Podpisano,
-Contract Details,Szczegóły umowy,
-Contract Template,Szablon umowy,
-Contract Terms,Warunki kontraktu,
-Fulfilment Details,Szczegóły realizacji,
-Requires Fulfilment,Wymaga spełnienia,
-Fulfilment Deadline,Termin realizacji,
-Fulfilment Terms,Warunki realizacji,
-Contract Fulfilment Checklist,Lista kontrolna realizacji kontraktu,
-Requirement,Wymaganie,
-Contract Terms and Conditions,Warunki umowy,
-Fulfilment Terms and Conditions,Spełnienie warunków,
-Contract Template Fulfilment Terms,Warunki realizacji szablonu umowy,
-Email Campaign,Kampania e-mailowa,
-Email Campaign For ,Kampania e-mailowa dla,
-Lead is an Organization,Ołów to organizacja,
-CRM-LEAD-.YYYY.-,CRM-LEAD-.RRRR.-,
-Person Name,Imię i nazwisko osoby,
-Lost Quotation,Przegrana notowań,
-Interested,Jestem zainteresowany,
-Converted,Przekształcono,
-Do Not Contact,Nie Kontaktuj,
-From Customer,Od klienta,
-Campaign Name,Nazwa kampanii,
-Follow Up,Zagryźć,
-Next Contact By,Następny Kontakt Po,
-Next Contact Date,Data Następnego Kontaktu,
-Ends On,Koniec w dniu,
-Address & Contact,Adres i kontakt,
-Mobile No.,Nr tel. Komórkowego,
-Lead Type,Typ Tropu,
-Channel Partner,,
-Consultant,Konsultant,
-Market Segment,Segment rynku,
-Industry,Przedsiębiorstwo,
-Request Type,Typ zapytania,
-Product Enquiry,Zapytanie o produkt,
-Request for Information,Prośba o informację,
-Suggestions,Sugestie,
-Blog Subscriber,Subskrybent Bloga,
-LinkedIn Settings,Ustawienia LinkedIn,
-Company ID,identyfikator firmy,
-OAuth Credentials,Poświadczenia OAuth,
-Consumer Key,Klucz klienta,
-Consumer Secret,Sekret konsumenta,
-User Details,Dane użytkownika,
-Person URN,Osoba URN,
-Session Status,Stan sesji,
-Lost Reason Detail,Szczegóły utraconego powodu,
-Opportunity Lost Reason,Możliwość utracona z powodu,
-Potential Sales Deal,Szczegóły potencjalnych sprzedaży,
-CRM-OPP-.YYYY.-,CRM-OPP-.RRRR.-,
-Opportunity From,Szansa od,
-Customer / Lead Name,Nazwa Klienta / Tropu,
-Opportunity Type,Typ szansy,
-Converted By,Przekształcony przez,
-Sales Stage,Etap sprzedaży,
-Lost Reason,Powód straty,
-Expected Closing Date,Oczekiwana data zamknięcia,
-To Discuss,Do omówienia,
-With Items,Z przedmiotami,
-Probability (%),Prawdopodobieństwo (%),
-Contact Info,Dane kontaktowe,
-Customer / Lead Address,Adres Klienta / Tropu,
-Contact Mobile No,Numer komórkowy kontaktu,
-Enter name of campaign if source of enquiry is campaign,Wpisz nazwę przeprowadzanej kampanii jeżeli źródło pytania jest kampanią,
-Opportunity Date,Data szansy,
-Opportunity Item,Przedmiot Szansy,
-Basic Rate,Podstawowy wskaźnik,
-Stage Name,Pseudonim artystyczny,
-Social Media Post,Post w mediach społecznościowych,
-Post Status,Stan publikacji,
-Posted,Wysłano,
-Share On,Podziel się na,
-Twitter,Świergot,
-LinkedIn,LinkedIn,
-Twitter Post Id,Identyfikator posta na Twitterze,
-LinkedIn Post Id,Identyfikator posta na LinkedIn,
-Tweet,Ćwierkać,
-Twitter Settings,Ustawienia Twittera,
-API Secret Key,Tajny klucz API,
-Term Name,Nazwa Term,
-Term Start Date,Termin Data rozpoczęcia,
-Term End Date,Term Data zakończenia,
-Academics User,Studenci,
-Academic Year Name,Nazwa Roku Akademickiego,
-Article,Artykuł,
-LMS User,Użytkownik LMS,
-Assessment Criteria Group,Kryteria oceny grupowej,
-Assessment Group Name,Nazwa grupy Assessment,
-Parent Assessment Group,Rodzic Assesment Group,
-Assessment Name,Nazwa ocena,
-Grading Scale,Skala ocen,
-Examiner,Egzaminator,
-Examiner Name,Nazwa Examiner,
-Supervisor,Kierownik,
-Supervisor Name,Nazwa Supervisor,
-Evaluate,Oceniać,
-Maximum Assessment Score,Maksymalny wynik oceny,
-Assessment Plan Criteria,Kryteria oceny planu,
-Maximum Score,Maksymalna liczba punktów,
-Result,Wynik,
-Total Score,Całkowity wynik,
-Grade,Stopień,
-Assessment Result Detail,Wynik oceny Szczegóły,
-Assessment Result Tool,Wynik oceny Narzędzie,
-Result HTML,wynik HTML,
-Content Activity,Aktywność treści,
-Last Activity ,Ostatnia aktywność,
-Content Question,Pytanie dotyczące treści,
-Question Link,Link do pytania,
-Course Name,Nazwa przedmiotu,
-Topics,Tematy,
-Hero Image,Obraz bohatera,
-Default Grading Scale,Domyślna skala ocen,
-Education Manager,Menedżer edukacji,
-Course Activity,Aktywność na kursie,
-Course Enrollment,Rejestracja kursu,
-Activity Date,Data aktywności,
-Course Assessment Criteria,Kryteria oceny kursu,
-Weightage,Waga/wiek,
-Course Content,Zawartość kursu,
-Quiz,Kartkówka,
-Program Enrollment,Rejestracja w programie,
-Enrollment Date,Data rejestracji,
-Instructor Name,Instruktor Nazwa,
-EDU-CSH-.YYYY.-,EDU-CSH-.RRRR.-,
-Course Scheduling Tool,Oczywiście Narzędzie Scheduling,
-Course Start Date,Data rozpoczęcia kursu,
-To TIme,Do czasu,
-Course End Date,Data zakończenia kursu,
-Course Topic,Temat kursu,
-Topic,Temat,
-Topic Name,Nazwa tematu,
-Education Settings,Ustawienia edukacji,
-Current Academic Year,Obecny Rok Akademicki,
-Current Academic Term,Obecny termin akademicki,
-Attendance Freeze Date,Data zamrożenia obecności,
-Validate Batch for Students in Student Group,Sprawdź partię dla studentów w grupie studentów,
-"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.","Dla grupy studentów opartej na partiach, partia ucznia zostanie zatwierdzona dla każdego ucznia z wpisu do programu.",
-Validate Enrolled Course for Students in Student Group,Zatwierdzić zapisany kurs dla studentów w grupie studentów,
-"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.",Dla Grupy Studenckiej na Kursie kurs zostanie sprawdzony dla każdego Uczestnika z zapisanych kursów w ramach Rejestracji Programu.,
-Make Academic Term Mandatory,Uczyń okres akademicki obowiązkowym,
-"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Jeśli opcja jest włączona, pole Akademickie oznaczenie będzie obowiązkowe w narzędziu rejestrowania programu.",
-Skip User creation for new Student,Pomiń tworzenie użytkownika dla nowego Studenta,
-"By default, a new User is created for every new Student. If enabled, no new User will be created when a new Student is created.","Domyślnie dla każdego nowego Studenta tworzony jest nowy Użytkownik. Jeśli ta opcja jest włączona, żaden nowy Użytkownik nie zostanie utworzony po utworzeniu nowego Studenta.",
-Instructor Records to be created by,"Rekord instruktorski, który zostanie utworzony przez",
-Employee Number,Numer pracownika,
-Fee Category,opłata Kategoria,
-Fee Component,opłata Komponent,
-Fees Category,Opłaty Kategoria,
-Fee Schedule,Harmonogram opłat,
-Fee Structure,Struktura opłat,
-EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
-Fee Creation Status,Status tworzenia licencji,
-In Process,W trakcie,
-Send Payment Request Email,Wyślij e-mail z zapytaniem o płatność,
-Student Category,Student Kategoria,
-Fee Breakup for each student,Podział wynagrodzenia dla każdego ucznia,
-Total Amount per Student,Łączna kwota na jednego studenta,
-Institution,Instytucja,
-Fee Schedule Program,Program planu opłat,
-Student Batch,Batch Student,
-Total Students,Wszystkich studentów,
-Fee Schedule Student Group,Plan zajęć grupy studentów,
-EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
-EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
-Include Payment,Dołącz płatności,
-Send Payment Request,Wyślij żądanie płatności,
-Student Details,Szczegóły Uczniów,
-Student Email,E-mail dla studentów,
-Grading Scale Name,Skala ocen Nazwa,
-Grading Scale Intervals,Odstępy Skala ocen,
-Intervals,przedziały,
-Grading Scale Interval,Skala ocen Interval,
-Grade Code,Kod klasy,
-Threshold,Próg,
-Grade Description,Stopień Opis,
-Guardian,Opiekun,
-Guardian Name,Nazwa Stróża,
-Alternate Number,Alternatywny numer,
-Occupation,Zawód,
-Work Address,Adres miejsca pracy,
-Guardian Of ,Strażnik,
-Students,studenci,
-Guardian Interests,opiekun Zainteresowania,
-Guardian Interest,Strażnik Odsetki,
-Interest,Zainteresowanie,
-Guardian Student,opiekun studenta,
-EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
-Instructor Log,Dziennik instruktora,
-Other details,Pozostałe szczegóły,
-Option,Opcja,
-Is Correct,Jest poprawne,
-Program Name,Nazwa programu,
-Program Abbreviation,Skrót programu,
-Courses,Pola,
-Is Published,Jest opublikowany,
-Allow Self Enroll,Zezwalaj na samodzielne zapisywanie się,
-Is Featured,Jest zawarty,
-Intro Video,Intro Video,
-Program Course,Program kursu,
-School House,school House,
-Boarding Student,Student Wyżywienia,
-Check this if the Student is residing at the Institute's Hostel.,"Sprawdź, czy Student mieszka w Hostelu Instytutu.",
-Walking,Pieszy,
-Institute's Bus,Autobus Instytutu,
-Public Transport,Transport publiczny,
-Self-Driving Vehicle,Samochód osobowy,
-Pick/Drop by Guardian,Pick / Drop przez Guardian,
-Enrolled courses,Zaplanowane kursy,
-Program Enrollment Course,Kurs rekrutacji,
-Program Enrollment Fee,Program Rejestracji Opłata,
-Program Enrollment Tool,Rejestracja w programie Narzędzie,
-Get Students From,Uzyskaj studentów z,
-Student Applicant,Student Wnioskodawca,
-Get Students,Uzyskaj Studentów,
-Enrollment Details,Szczegóły rejestracji,
-New Program,Nowy program,
-New Student Batch,Nowa partia studencka,
-Enroll Students,zapisać studentów,
-New Academic Year,Nowy rok akademicki,
-New Academic Term,Nowy okres akademicki,
-Program Enrollment Tool Student,Rejestracja w programie Narzędzie Student,
-Student Batch Name,Student Batch Nazwa,
-Program Fee,Opłata Program,
-Question,Pytanie,
-Single Correct Answer,Pojedyncza poprawna odpowiedź,
-Multiple Correct Answer,Wielokrotna poprawna odpowiedź,
-Quiz Configuration,Konfiguracja quizu,
-Passing Score,Wynik pozytywny,
-Score out of 100,Wynik na 100,
-Max Attempts,Max Próby,
-Enter 0 to waive limit,"Wprowadź 0, aby zrezygnować z limitu",
-Grading Basis,Podstawa klasyfikacji,
-Latest Highest Score,Najnowszy najwyższy wynik,
-Latest Attempt,Ostatnia próba,
-Quiz Activity,Aktywność Quiz,
-Enrollment,Rekrutacja,
-Pass,Przechodzić,
-Quiz Question,Pytanie do quizu,
-Quiz Result,Wynik testu,
-Selected Option,Wybrana opcja,
-Correct,Poprawny,
-Wrong,Źle,
-Room Name,Nazwa pokoju,
-Room Number,Numer pokoju,
-Seating Capacity,Liczba miejsc,
-House Name,Nazwa domu,
-EDU-STU-.YYYY.-,EDU-STU-.RRRR.-,
-Student Mobile Number,Student Mobile Number,
-Joining Date,Data Dołączenia,
-Blood Group,Grupa Krwi,
-A+,A+,
-A-,A-,
-B+,B +,
-B-,B-,
-O+,O +,
-O-,O-,
-AB+,AB +,
-AB-,AB-,
-Nationality,Narodowość,
-Home Address,Adres domowy,
-Guardian Details,Szczegóły Stróża,
-Guardians,Strażnicy,
-Sibling Details,rodzeństwo Szczegóły,
-Siblings,Rodzeństwo,
-Exit,Wyjście,
-Date of Leaving,Data Pozostawiając,
-Leaving Certificate Number,Pozostawiając numer certyfikatu,
-Reason For Leaving,Powód odejścia,
-Student Admission,Wstęp Student,
-Admission Start Date,Wstęp Data rozpoczęcia,
-Admission End Date,Wstęp Data zakończenia,
-Publish on website,Opublikuj na stronie internetowej,
-Eligibility and Details,Kwalifikowalność i szczegóły,
-Student Admission Program,Studencki program przyjęć,
-Minimum Age,Minimalny wiek,
-Maximum Age,Maksymalny wiek,
-Application Fee,Opłata za zgłoszenie,
-Naming Series (for Student Applicant),Naming Series (dla Studenta Wnioskodawcy),
-LMS Only,Tylko LMS,
-EDU-APP-.YYYY.-,EDU-APP-.RRRR.-,
-Application Status,Status aplikacji,
-Application Date,Data złożenia wniosku,
-Student Attendance Tool,Obecność Student Narzędzie,
-Group Based On,Grupa oparta na,
-Students HTML,studenci HTML,
-Group Based on,Grupa oparta na,
-Student Group Name,Nazwa grupy studentów,
-Max Strength,Maksymalna siła,
-Set 0 for no limit,Ustaw 0 oznacza brak limitu,
-Instructors,instruktorzy,
-Student Group Creation Tool,Narzędzie tworzenia grupy studenta,
-Leave blank if you make students groups per year,"Zostaw puste, jeśli uczysz grupy studentów rocznie",
-Get Courses,Uzyskaj kursy,
-Separate course based Group for every Batch,Oddzielna grupa kursów dla każdej partii,
-Leave unchecked if you don't want to consider batch while making course based groups. ,"Opuść zaznaczenie, jeśli nie chcesz rozważyć partii przy jednoczesnym tworzeniu grup kursów.",
-Student Group Creation Tool Course,Kurs grupy studentów Stworzenie narzędzia,
-Course Code,Kod kursu,
-Student Group Instructor,Instruktor grupy studentów,
-Student Group Student,Student Grupa Student,
-Group Roll Number,Numer grupy,
-Student Guardian,Student Stróża,
-Relation,Relacja,
-Mother,Mama,
-Father,Ojciec,
-Student Language,Student Język,
-Student Leave Application,Student Application Leave,
-Mark as Present,Oznacz jako Present,
-Student Log,Dziennik studenta,
-Academic,Akademicki,
-Achievement,Osiągnięcie,
-Student Report Generation Tool,Narzędzie do generowania raportów uczniów,
-Include All Assessment Group,Uwzględnij całą grupę oceny,
-Show Marks,Pokaż znaczniki,
-Add letterhead,Dodaj papier firmowy,
-Print Section,Sekcja drukowania,
-Total Parents Teacher Meeting,Spotkanie nauczycieli wszystkich rodziców,
-Attended by Parents,Uczestniczyli w nim rodzice,
-Assessment Terms,Warunki oceny,
-Student Sibling,Student Rodzeństwo,
-Studying in Same Institute,Studia w sam instytut,
-NO,NIE,
-YES,Tak,
-Student Siblings,Rodzeństwo studenckie,
-Topic Content,Treść tematu,
-Amazon MWS Settings,Ustawienia Amazon MWS,
-ERPNext Integrations,Integracje ERPNext,
-Enable Amazon,Włącz Amazon,
-MWS Credentials,Poświadczenia MWS,
-Seller ID,ID sprzedawcy,
-AWS Access Key ID,AWS Access Key ID,
-MWS Auth Token,MWh Auth Token,
-Market Place ID,Identyfikator rynku,
-AE,AE,
-AU,AU,
-BR,BR,
-CA,CA,
-CN,CN,
-DE,DE,
-ES,ES,
-FR,FR,
-IN,W,
-JP,JP,
-IT,TO,
-MX,MX,
-UK,Wielka Brytania,
-US,NAS,
-Customer Type,typ klienta,
-Market Place Account Group,Grupa konta rynkowego,
-After Date,Po dacie,
-Amazon will synch data updated after this date,Amazon zsynchronizuje dane zaktualizowane po tej dacie,
-Sync Taxes and Charges,Synchronizuj podatki i opłaty,
-Get financial breakup of Taxes and charges data by Amazon ,Uzyskaj rozpad finansowy danych podatkowych i obciążeń przez Amazon,
-Sync Products,Synchronizuj produkty,
-Always sync your products from Amazon MWS before synching the Orders details,Zawsze synchronizuj swoje produkty z Amazon MWS przed zsynchronizowaniem szczegółów Zamówienia,
-Sync Orders,Synchronizuj zamówienia,
-Click this button to pull your Sales Order data from Amazon MWS.,"Kliknij ten przycisk, aby pobrać dane zamówienia sprzedaży z Amazon MWS.",
-Enable Scheduled Sync,Włącz zaplanowaną synchronizację,
-Check this to enable a scheduled Daily synchronization routine via scheduler,"Zaznacz to ustawienie, aby włączyć zaplanowaną codzienną procedurę synchronizacji za pośrednictwem programu planującego",
-Max Retry Limit,Maksymalny limit ponownych prób,
-Exotel Settings,Ustawienia Exotel,
-Account SID,SID konta,
-API Token,Token API,
-GoCardless Mandate,Upoważnienie GoCardless,
-Mandate,Mandat,
-GoCardless Customer,Klient bez karty,
-GoCardless Settings,Ustawienia bez karty,
-Webhooks Secret,Sekret Webhooks,
-Plaid Settings,Ustawienia Plaid,
-Synchronize all accounts every hour,Synchronizuj wszystkie konta co godzinę,
-Plaid Client ID,Identyfikator klienta w kratkę,
-Plaid Secret,Plaid Secret,
-Plaid Environment,Plaid Environment,
-sandbox,piaskownica,
-development,rozwój,
-production,produkcja,
-QuickBooks Migrator,QuickBooks Migrator,
-Application Settings,Ustawienia aplikacji,
-Token Endpoint,Token Endpoint,
-Scope,Zakres,
-Authorization Settings,Ustawienia autoryzacji,
-Authorization Endpoint,Punkt końcowy autoryzacji,
-Authorization URL,Adres URL autoryzacji,
-Quickbooks Company ID,Quickbooks Identyfikator firmy,
-Company Settings,Ustawienia firmy,
-Default Shipping Account,Domyślne konto wysyłkowe,
-Default Warehouse,Domyślny magazyn,
-Default Cost Center,Domyślne Centrum Kosztów,
-Undeposited Funds Account,Rachunek nierozliczonych funduszy,
-Shopify Log,Shopify Log,
-Request Data,Żądaj danych,
-Shopify Settings,Zmień ustawienia,
-status html,status html,
-Enable Shopify,Włącz Shopify,
-App Type,Typ aplikacji,
-Last Sync Datetime,Ostatnia synchronizacja Datetime,
-Shop URL,URL sklepu,
-eg: frappe.myshopify.com,np .: frappe.myshopify.com,
-Shared secret,Wspólny sekret,
-Webhooks Details,Szczegóły Webhooks,
-Webhooks,Webhooks,
-Customer Settings,Ustawienia klienta,
-Default Customer,Domyślny klient,
-Customer Group will set to selected group while syncing customers from Shopify,Grupa klientów ustawi wybraną grupę podczas synchronizowania klientów z Shopify,
-For Company,Dla firmy,
-Cash Account will used for Sales Invoice creation,Konto gotówkowe zostanie użyte do utworzenia faktury sprzedaży,
-Update Price from Shopify To ERPNext Price List,Zaktualizuj cenę z Shopify To ERPNext Price List,
-Default Warehouse to to create Sales Order and Delivery Note,"Domyślny magazyn, aby utworzyć zamówienie sprzedaży i dostawę",
-Sales Order Series,Seria zamówień sprzedaży,
-Import Delivery Notes from Shopify on Shipment,Importuj notatki dostawy z Shopify w przesyłce,
-Delivery Note Series,Seria notatek dostawy,
-Import Sales Invoice from Shopify if Payment is marked,"Importuj fakturę sprzedaży z Shopify, jeśli płatność została zaznaczona",
-Sales Invoice Series,Seria faktur sprzedaży,
-Shopify Tax Account,Shopify Tax Account,
-Shopify Tax/Shipping Title,Kupuj podatek / tytuł dostawy,
-ERPNext Account,ERPNext Konto,
-Shopify Webhook Detail,Szczegółowe informacje o Shophook,
-Webhook ID,Identyfikator Webhooka,
-Tally Migration,Tally Migration,
-Master Data,Dane podstawowe,
-"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Dane wyeksportowane z Tally, które obejmują plan kont, klientów, dostawców, adresy, towary i jednostki miary",
-Is Master Data Processed,Czy przetwarzane są dane podstawowe,
-Is Master Data Imported,Czy importowane są dane podstawowe,
-Tally Creditors Account,Tally Credit Accounts,
-Creditors Account set in Tally,Konto wierzycieli ustawione w Tally,
-Tally Debtors Account,Rachunek Dłużników Tally,
-Debtors Account set in Tally,Konto dłużników ustawione w Tally,
-Tally Company,Firma Tally,
-Company Name as per Imported Tally Data,Nazwa firmy zgodnie z zaimportowanymi danymi Tally,
-Default UOM,Domyślna jednostka miary,
-UOM in case unspecified in imported data,JM w przypadku nieokreślonego w importowanych danych,
-ERPNext Company,ERPNext Company,
-Your Company set in ERPNext,Twoja firma ustawiona w ERPNext,
-Processed Files,Przetworzone pliki,
-Parties,Strony,
-UOMs,Jednostki miary,
-Vouchers,Kupony,
-Round Off Account,Konto kwot zaokrągleń,
-Day Book Data,Dane książki dziennej,
-Day Book Data exported from Tally that consists of all historic transactions,"Dane księgi dziennej wyeksportowane z Tally, które zawierają wszystkie historyczne transakcje",
-Is Day Book Data Processed,Czy przetwarzane są dane dzienników,
-Is Day Book Data Imported,Importowane są dane dzienników,
-Woocommerce Settings,Ustawienia Woocommerce,
-Enable Sync,Włącz synchronizację,
-Woocommerce Server URL,URL serwera Woocommerce,
-Secret,Sekret,
-API consumer key,Klucz konsumenta API,
-API consumer secret,Tajny klucz klienta API,
-Tax Account,Konto podatkowe,
-Freight and Forwarding Account,Konto spedycyjne i spedycyjne,
-Creation User,Użytkownik tworzenia,
-"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Użytkownik, który będzie używany do tworzenia klientów, towarów i zleceń sprzedaży. Ten użytkownik powinien mieć odpowiednie uprawnienia.",
-"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Ten magazyn będzie używany do tworzenia zamówień sprzedaży. Magazyn zapasowy to „Sklepy”.,
-"The fallback series is ""SO-WOO-"".",Seria awaryjna to „SO-WOO-”.,
-This company will be used to create Sales Orders.,Ta firma będzie używana do tworzenia zamówień sprzedaży.,
-Delivery After (Days),Dostawa po (dni),
-This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,Jest to domyślne przesunięcie (dni) dla daty dostawy w zamówieniach sprzedaży. Przesunięcie awaryjne wynosi 7 dni od daty złożenia zamówienia.,
-"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Jest to domyślna jednostka miary używana dla elementów i zamówień sprzedaży. Rezerwowym UOM jest „Nos”.,
-Endpoints,Punkty końcowe,
-Endpoint,Punkt końcowy,
-Antibiotic Name,Nazwa antybiotyku,
-Healthcare Administrator,Administrator Ochrony Zdrowia,
-Laboratory User,Użytkownik Laboratorium,
-Is Inpatient,Jest hospitalizowany,
-Default Duration (In Minutes),Domyślny czas trwania (w minutach),
-Body Part,Część ciała,
-Body Part Link,Link do części ciała,
-HLC-CPR-.YYYY.-,HLC-CPR-.RRRR.-,
-Procedure Template,Szablon procedury,
-Procedure Prescription,Procedura Recepta,
-Service Unit,Jednostka serwisowa,
-Consumables,Materiały eksploatacyjne,
-Consume Stock,Zużyj zapasy,
-Invoice Consumables Separately,Fakturuj oddzielnie materiały eksploatacyjne,
-Consumption Invoiced,Zużycie fakturowane,
-Consumable Total Amount,Łączna ilość materiałów eksploatacyjnych,
-Consumption Details,Szczegóły zużycia,
-Nursing User,Pielęgniarka,
-Clinical Procedure Item,Procedura postępowania klinicznego,
-Invoice Separately as Consumables,Faktura oddzielnie jako materiał eksploatacyjny,
-Transfer Qty,Przenieś ilość,
-Actual Qty (at source/target),Rzeczywista Ilość (u źródła/celu),
-Is Billable,Jest rozliczalny,
-Allow Stock Consumption,Zezwalaj na zużycie zapasów,
-Sample UOM,Przykładowa jednostka miary,
-Collection Details,Szczegóły kolekcji,
-Change In Item,Zmiana w pozycji,
-Codification Table,Tabela kodyfikacji,
-Complaints,Uskarżanie się,
-Dosage Strength,Siła dawkowania,
-Strength,Wytrzymałość,
-Drug Prescription,Na receptę,
-Drug Name / Description,Nazwa / opis leku,
-Dosage,Dawkowanie,
-Dosage by Time Interval,Dawkowanie według przedziału czasu,
-Interval,Interwał,
-Interval UOM,Interwał UOM,
-Hour,Godzina,
-Update Schedule,Zaktualizuj harmonogram,
-Exercise,Ćwiczenie,
-Difficulty Level,Poziom trudności,
-Counts Target,Liczy cel,
-Counts Completed,Liczenie zakończone,
-Assistance Level,Poziom pomocy,
-Active Assist,Aktywna pomoc,
-Exercise Name,Nazwa ćwiczenia,
-Body Parts,Części ciała,
-Exercise Instructions,Instrukcje do ćwiczeń,
-Exercise Video,Ćwiczenia wideo,
-Exercise Steps,Kroki ćwiczeń,
-Steps,Kroki,
-Steps Table,Tabela kroków,
-Exercise Type Step,Krok typu ćwiczenia,
-Max number of visit,Maksymalna liczba wizyt,
-Visited yet,Jeszcze odwiedziłem,
-Reference Appointments,Spotkania referencyjne,
-Valid till,Obowiązuje do,
-Fee Validity Reference,Odniesienie do ważności opłat,
-Basic Details,Podstawowe szczegóły,
-HLC-PRAC-.YYYY.-,HLC-PRAC-.YYYY.-,
-Mobile,mobilny,
-Phone (R),Telefon (R),
-Phone (Office),Telefon (Biuro),
-Employee and User Details,Dane pracownika i użytkownika,
-Hospital,Szpital,
-Appointments,Terminy,
-Practitioner Schedules,Harmonogramy praktyków,
-Charges,Opłaty,
-Out Patient Consulting Charge,Opłata za konsultacje z pacjentem zewnętrznym,
-Default Currency,Domyślna waluta,
-Healthcare Schedule Time Slot,Schemat czasu opieki zdrowotnej,
-Parent Service Unit,Jednostka usług dla rodziców,
-Service Unit Type,Rodzaj jednostki usługi,
-Allow Appointments,Zezwalaj na spotkania,
-Allow Overlap,Zezwalaj na Nakładanie,
-Inpatient Occupancy,Zajęcia stacjonarne,
-Occupancy Status,Status obłożenia,
-Vacant,Pusty,
-Occupied,Zajęty,
-Item Details,Szczegóły produktu,
-UOM Conversion in Hours,Konwersja UOM w godzinach,
-Rate / UOM,Rate / UOM,
-Change in Item,Zmień pozycję,
-Out Patient Settings,Out Ustawienia pacjenta,
-Patient Name By,Nazwisko pacjenta,
-Patient Name,Imię pacjenta,
-Link Customer to Patient,Połącz klienta z pacjentem,
-"If checked, a customer will be created, mapped to Patient.\nPatient Invoices will be created against this Customer. You can also select existing Customer while creating Patient.","Jeśli zostanie zaznaczone, zostanie utworzony klient, który będzie mapowany na pacjenta. Dla tego klienta powstanie faktury pacjenta. Można również wybrać istniejącego klienta podczas tworzenia pacjenta.",
-Default Medical Code Standard,Domyślny standard kodu medycznego,
-Collect Fee for Patient Registration,Zbierz opłatę za rejestrację pacjenta,
-Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,Zaznaczenie tej opcji spowoduje utworzenie nowych pacjentów ze statusem Wyłączony domyślnie i będzie włączone dopiero po zafakturowaniu Opłaty rejestracyjnej.,
-Registration Fee,Opłata za rejestrację,
-Automate Appointment Invoicing,Zautomatyzuj fakturowanie spotkań,
-Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Zarządzaj fakturą Powołania automatycznie przesyłaj i anuluj spotkanie z pacjentem,
-Enable Free Follow-ups,Włącz bezpłatne obserwacje,
-Number of Patient Encounters in Valid Days,Liczba spotkań pacjentów w ważne dni,
-The number of free follow ups (Patient Encounters in valid days) allowed,Dozwolona liczba bezpłatnych obserwacji (spotkań pacjentów w ważnych dniach),
-Valid Number of Days,Ważna liczba dni,
-Time period (Valid number of days) for free consultations,Okres (ważna liczba dni) na bezpłatne konsultacje,
-Default Healthcare Service Items,Domyślne pozycje usług opieki zdrowotnej,
-"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Można skonfigurować pozycje domyślne w celu rozliczenia opłat za konsultacje, pozycji dotyczących zużycia procedur i wizyt szpitalnych",
-Clinical Procedure Consumable Item,Procedura kliniczna Materiały eksploatacyjne,
-Default Accounts,Konta domyślne,
-Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,"Konta z domyślnymi dochodami, które mają być używane, jeśli nie są ustawione w Healthcare Practitioner, aby zarezerwować opłaty za spotkanie.",
-Default receivable accounts to be used to book Appointment charges.,"Domyślne konta należności, które mają być używane do księgowania opłat za spotkanie.",
-Out Patient SMS Alerts,Wypisuj alerty SMS dla pacjentów,
-Patient Registration,Rejestracja pacjenta,
-Registration Message,Wiadomość rejestracyjna,
-Confirmation Message,Wiadomość potwierdzająca,
-Avoid Confirmation,Unikaj Potwierdzenia,
-Do not confirm if appointment is created for the same day,"Nie potwierdzaj, czy spotkanie zostanie utworzone na ten sam dzień",
-Appointment Reminder,Przypomnienie o spotkaniu,
-Reminder Message,Komunikat Przypomnienia,
-Remind Before,Przypomnij wcześniej,
-Laboratory Settings,Ustawienia laboratoryjne,
-Create Lab Test(s) on Sales Invoice Submission,Utwórz testy laboratoryjne podczas przesyłania faktur sprzedaży,
-Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,Zaznaczenie tego spowoduje utworzenie testów laboratoryjnych określonych na fakturze sprzedaży podczas przesyłania.,
-Create Sample Collection document for Lab Test,Utwórz dokument pobierania próbek do testu laboratoryjnego,
-Checking this will create a Sample Collection document  every time you create a Lab Test,"Zaznaczenie tego spowoduje utworzenie dokumentu pobierania próbek za każdym razem, gdy utworzysz test laboratoryjny",
-Employee name and designation in print,Nazwisko pracownika i oznaczenie w druku,
-Check this if you want the Name and Designation of the Employee associated with the User who submits the document to be printed in the Lab Test Report.,"Zaznacz tę opcję, jeśli chcesz, aby nazwa i oznaczenie pracownika skojarzone z użytkownikiem przesyłającym dokument zostały wydrukowane w raporcie z testu laboratoryjnego.",
-Do not print or email Lab Tests without Approval,Nie drukuj ani nie wysyłaj e-mailem testów laboratoryjnych bez zgody,
-Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,"Zaznaczenie tego ograniczy drukowanie i wysyłanie pocztą elektroniczną dokumentów testów laboratoryjnych, chyba że mają one status Zatwierdzone.",
-Custom Signature in Print,Podpis niestandardowy w druku,
-Laboratory SMS Alerts,Laboratorium SMS Alerts,
-Result Printed Message,Wynik wydrukowany komunikat,
-Result Emailed Message,Wiadomość e-mail z wynikami,
-Check In,Zameldować się,
-Check Out,Sprawdzić,
-HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
-A Positive,Pozytywny,
-A Negative,Negatywny,
-AB Positive,AB Pozytywne,
-AB Negative,AB Negatywne,
-B Positive,B dodatni,
-B Negative,B Negatywne,
-O Positive,O pozytywne,
-O Negative,O negatywne,
-Date of birth,Data urodzenia,
-Admission Scheduled,Wstęp Zaplanowany,
-Discharge Scheduled,Rozładowanie Zaplanowane,
-Discharged,Rozładowany,
-Admission Schedule Date,Harmonogram przyjęcia,
-Admitted Datetime,Przyjęto Datetime,
-Expected Discharge,Oczekiwany zrzut,
-Discharge Date,Data rozładowania,
-Lab Prescription,Lekarz na receptę,
-Lab Test Name,Nazwa testu laboratoryjnego,
-Test Created,Utworzono test,
-Submitted Date,Zaakceptowana Data,
-Approved Date,Zatwierdzona data,
-Sample ID,Identyfikator wzorcowy,
-Lab Technician,Technik laboratoryjny,
-Report Preference,Preferencje raportu,
-Test Name,Nazwa testu,
-Test Template,Szablon testu,
-Test Group,Grupa testowa,
-Custom Result,Wynik niestandardowy,
-LabTest Approver,Przybliżenie LabTest,
-Add Test,Dodaj test,
-Normal Range,Normalny zakres,
-Result Format,Format wyników,
-Single,Pojedynczy,
-Compound,Złożony,
-Descriptive,Opisowy,
-Grouped,Zgrupowane,
-No Result,Brak wyników,
-This value is updated in the Default Sales Price List.,Ta wartość jest aktualizowana w Domyślnym Cenniku Sprzedaży.,
-Lab Routine,Lab Rutyna,
-Result Value,Wartość wyniku,
-Require Result Value,Wymagaj wartości,
-Normal Test Template,Normalny szablon testu,
-Patient Demographics,Dane demograficzne pacjenta,
-HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
-Middle Name (optional),Drugie imię (opcjonalnie),
-Inpatient Status,Status stacjonarny,
-"If ""Link Customer to Patient"" is checked in Healthcare Settings and an existing Customer is not selected then, a Customer will be created for this Patient for recording transactions in Accounts module.","Jeśli w Ustawieniach opieki zdrowotnej zaznaczono opcję „Połącz klienta z pacjentem”, a istniejący klient nie zostanie wybrany, zostanie utworzony klient dla tego pacjenta w celu rejestrowania transakcji w module kont.",
-Personal and Social History,Historia osobista i społeczna,
-Marital Status,Stan cywilny,
-Married,Żonaty / Zamężna,
-Divorced,Rozwiedziony,
-Widow,Wdowa,
-Patient Relation,Relacja pacjenta,
-"Allergies, Medical and Surgical History","Alergie, historia medyczna i chirurgiczna",
-Allergies,Alergie,
-Medication,Lek,
-Medical History,Historia medyczna,
-Surgical History,Historia chirurgiczna,
-Risk Factors,Czynniki ryzyka,
-Occupational Hazards and Environmental Factors,Zagrożenia zawodowe i czynniki środowiskowe,
-Other Risk Factors,Inne czynniki ryzyka,
-Patient Details,Szczegóły pacjenta,
-Additional information regarding the patient,Dodatkowe informacje dotyczące pacjenta,
-HLC-APP-.YYYY.-,HLC-APP-.YYYY.-,
-Patient Age,Wiek pacjenta,
-Get Prescribed Clinical Procedures,Uzyskaj przepisane procedury kliniczne,
-Therapy,Terapia,
-Get Prescribed Therapies,Uzyskaj przepisane terapie,
-Appointment Datetime,Data spotkania,
-Duration (In Minutes),Czas trwania (w minutach),
-Reference Sales Invoice,Referencyjna faktura sprzedaży,
-More Info,Więcej informacji,
-Referring Practitioner,Polecający praktykujący,
-Reminded,Przypomnij,
-HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
-Assessment Template,Szablon oceny,
-Assessment Datetime,Czas oceny,
-Assessment Description,Opis oceny,
-Assessment Sheet,Arkusz oceny,
-Total Score Obtained,Całkowity wynik uzyskany,
-Scale Min,Skala min,
-Scale Max,Skala Max,
-Patient Assessment Detail,Szczegóły oceny pacjenta,
-Assessment Parameter,Parametr oceny,
-Patient Assessment Parameter,Parametr oceny pacjenta,
-Patient Assessment Sheet,Arkusz oceny pacjenta,
-Patient Assessment Template,Szablon oceny pacjenta,
-Assessment Parameters,Parametry oceny,
-Parameters,Parametry,
-Assessment Scale,Skala oceny,
-Scale Minimum,Minimalna skala,
-Scale Maximum,Skala maksymalna,
-HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
-Encounter Date,Data spotkania,
-Encounter Time,Czas spotkania,
-Encounter Impression,Encounter Impression,
-Symptoms,Objawy,
-In print,W druku,
-Medical Coding,Kodowanie medyczne,
-Procedures,Procedury,
-Therapies,Terapie,
-Review Details,Szczegóły oceny,
-Patient Encounter Diagnosis,Diagnoza spotkania pacjenta,
-Patient Encounter Symptom,Objaw spotkania pacjenta,
-HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
-Attach Medical Record,Dołącz dokumentację medyczną,
-Reference DocType,Odniesienie do DocType,
-Spouse,Małżonka,
-Family,Rodzina,
-Schedule Details,Szczegóły harmonogramu,
-Schedule Name,Nazwa harmonogramu,
-Time Slots,Szczeliny czasowe,
-Practitioner Service Unit Schedule,Harmonogram jednostki służby zdrowia,
-Procedure Name,Nazwa procedury,
-Appointment Booked,Spotkanie zarezerwowane,
-Procedure Created,Procedura Utworzono,
-HLC-SC-.YYYY.-,HLC-SC-.RRRR.-,
-Collected By,Zbierane przez,
-Particulars,Szczegóły,
-Result Component,Komponent wyników,
-HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
-Therapy Plan Details,Szczegóły planu terapii,
-Total Sessions,Całkowita liczba sesji,
-Total Sessions Completed,Całkowita liczba ukończonych sesji,
-Therapy Plan Detail,Szczegóły planu terapii,
-No of Sessions,Liczba sesji,
-Sessions Completed,Sesje zakończone,
-Tele,Tele,
-Exercises,Ćwiczenia,
-Therapy For,Terapia dla,
-Add Exercises,Dodaj ćwiczenia,
-Body Temperature,Temperatura ciała,
-Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),"Obecność gorączki (temp.&gt; 38,5 ° C / 101,3 ° F lub trwała temperatura&gt; 38 ° C / 100,4 ° F)",
-Heart Rate / Pulse,Częstość tętna / impuls,
-Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Częstość tętna wynosi od 50 do 80 uderzeń na minutę.,
-Respiratory rate,Oddechowy,
-Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Normalny zakres referencyjny dla dorosłych wynosi 16-20 oddech / minutę (RCP 2012),
-Tongue,Język,
-Coated,Pokryty,
-Very Coated,Bardzo powlekane,
-Normal,Normalna,
-Furry,Futrzany,
-Cuts,Cięcia,
-Abdomen,Brzuch,
-Bloated,Nadęty,
-Fluid,Płyn,
-Constipated,Mający zaparcie,
-Reflexes,Odruchy,
-Hyper,Hyper,
-Very Hyper,Bardzo Hyper,
-One Sided,Jednostronny,
-Blood Pressure (systolic),Ciśnienie krwi (skurczowe),
-Blood Pressure (diastolic),Ciśnienie krwi (rozkurczowe),
-Blood Pressure,Ciśnienie krwi,
-"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","Normalne spoczynkowe ciśnienie krwi u dorosłych wynosi około 120 mmHg skurczowe, a rozkurczowe 80 mmHg, skrócone &quot;120/80 mmHg&quot;",
-Nutrition Values,Wartości odżywcze,
-Height (In Meter),Wysokość (w metrze),
-Weight (In Kilogram),Waga (w kilogramach),
-BMI,BMI,
-Hotel Room,Pokój hotelowy,
-Hotel Room Type,Rodzaj pokoju hotelowego,
-Capacity,Pojemność,
-Extra Bed Capacity,Wydajność dodatkowego łóżka,
-Hotel Manager,Kierownik hotelu,
-Hotel Room Amenity,Udogodnienia w pokoju hotelowym,
-Billable,Rozliczalny,
-Hotel Room Package,Pakiet hotelowy,
-Amenities,Udogodnienia,
-Hotel Room Pricing,Ceny pokoi w hotelu,
-Hotel Room Pricing Item,Cennik pokoi hotelowych,
-Hotel Room Pricing Package,Pakiet cen pokoi hotelowych,
-Hotel Room Reservation,Rezerwacja pokoju hotelowego,
-Guest Name,Imię gościa,
-Late Checkin,Późne zameldowanie,
-Booked,Zarezerwowane,
-Hotel Reservation User,Użytkownik rezerwacji hotelu,
-Hotel Room Reservation Item,Rezerwacja pokoju hotelowego,
-Hotel Settings,Ustawienia hotelu,
-Default Taxes and Charges,Domyślne podatków i opłat,
-Default Invoice Naming Series,Domyślna seria nazewnictwa faktur,
-Additional Salary,Dodatkowe wynagrodzenie,
-HR,HR,
-HR-ADS-.YY.-.MM.-,HR-ADS-.YY .-. MM.-,
-Salary Component,Wynagrodzenie Komponent,
-Overwrite Salary Structure Amount,Nadpisz ilość wynagrodzenia,
-Deduct Full Tax on Selected Payroll Date,Odliczenie pełnego podatku od wybranej daty płac,
-Payroll Date,Data płacy,
-Date on which this component is applied,Data zastosowania tego komponentu,
-Salary Slip,Pasek wynagrodzenia,
-Salary Component Type,Typ składnika wynagrodzenia,
-HR User,Kadry - użytkownik,
-Appointment Letter,List z terminem spotkania,
-Job Applicant,Aplikujący o pracę,
-Applicant Name,Imię Aplikanta,
-Appointment Date,Data spotkania,
-Appointment Letter Template,Szablon listu z terminami,
-Body,Ciało,
-Closing Notes,Uwagi końcowe,
-Appointment Letter content,Treść listu z terminem,
-Appraisal,Ocena,
-HR-APR-.YY.-.MM.,HR-APR-.YY.-.MM.,
-Appraisal Template,Szablon oceny,
-For Employee Name,Dla Imienia Pracownika,
-Goals,Cele,
-Total Score (Out of 5),Łączny wynik (w skali do 5),
-"Any other remarks, noteworthy effort that should go in the records.","Wszelkie inne uwagi, zauważyć, że powinien iść nakładu w ewidencji.",
-Appraisal Goal,Cel oceny,
-Key Responsibility Area,Kluczowy obszar obowiązków,
-Weightage (%),Waga/wiek (%),
-Score (0-5),Wynik (0-5),
-Score Earned,Ilość zdobytych punktów,
-Appraisal Template Title,Tytuł szablonu oceny,
-Appraisal Template Goal,Cel szablonu oceny,
-KRA,KRA,
-Key Performance Area,Kluczowy obszar wyników,
-HR-ATT-.YYYY.-,HR-ATT-.RRRR.-,
-On Leave,Na urlopie,
-Work From Home,Praca w domu,
-Leave Application,Wniosek o Nieobecność,
-Attendance Date,Data usługi,
-Attendance Request,Żądanie obecności,
-Late Entry,Późne wejście,
-Early Exit,Wczesne wyjście,
-Half Day Date,Pół Dzień Data,
-On Duty,Na służbie,
-Explanation,Wyjaśnienie,
-Compensatory Leave Request,Wniosek o urlop Wyrównawczy,
-Leave Allocation,Alokacja Nieobecności,
-Worked On Holiday,Pracowałem w wakacje,
-Work From Date,Praca od daty,
-Work End Date,Data zakończenia pracy,
-Email Sent To,Email wysłany do,
-Select Users,Wybierz użytkowników,
-Send Emails At,Wyślij pocztę elektroniczną w,
-Reminder,Przypomnienie,
-Daily Work Summary Group User,Codzienny użytkownik grupy roboczej,
-email,e-mail,
-Parent Department,Departament rodziców,
-Leave Block List,Lista Blokowanych Nieobecności,
-Days for which Holidays are blocked for this department.,Dni kiedy urlop jest zablokowany dla tego departamentu,
-Leave Approver,Zatwierdzający Nieobecność,
-Expense Approver,Osoba zatwierdzająca wydatki,
-Department Approver,Departament zatwierdzający,
-Approver,Osoba zatwierdzająca,
-Required Skills,Wymagane umiejętności,
-Skills,Umiejętności,
-Designation Skill,Umiejętność oznaczania,
-Skill,Umiejętność,
-Driver,Kierowca,
-HR-DRI-.YYYY.-,HR-DRI-.RRRR.-,
-Suspended,Zawieszony,
-Transporter,Transporter,
-Applicable for external driver,Dotyczy zewnętrznego sterownika,
-Cellphone Number,numer telefonu komórkowego,
-License Details,Szczegóły licencji,
-License Number,Numer licencji,
-Issuing Date,Data emisji,
-Driving License Categories,Kategorie prawa jazdy,
-Driving License Category,Kategoria prawa jazdy,
-Fleet Manager,Menedżer floty,
-Driver licence class,Klasa prawa jazdy,
-HR-EMP-,HR-EMP-,
-Employment Type,Typ zatrudnienia,
-Emergency Contact,Kontakt na wypadek nieszczęśliwych wypadków,
-Emergency Contact Name,kontakt do osoby w razie wypadku,
-Emergency Phone,Telefon bezpieczeństwa,
-ERPNext User,ERPNext Użytkownik,
-"System User (login) ID. If set, it will become default for all HR forms.","Użytkownik systemu (login) ID. Jeśli ustawiono, stanie się on domyślnym dla wszystkich formularzy HR",
-Create User Permission,Utwórz uprawnienia użytkownika,
-This will restrict user access to other employee records,To ograniczy dostęp użytkowników do innych rekordów pracowników,
-Joining Details,Łączenie szczegółów,
-Offer Date,Data oferty,
-Confirmation Date,Data potwierdzenia,
-Contract End Date,Data końcowa kontraktu,
-Notice (days),Wymówienie (dni),
-Date Of Retirement,Data przejścia na emeryturę,
-Department and Grade,Wydział i stopień,
-Reports to,Raporty do,
-Attendance and Leave Details,Frekwencja i szczegóły urlopu,
-Leave Policy,Polityka Nieobecności,
-Attendance Device ID (Biometric/RF tag ID),Identyfikator urządzenia obecności (identyfikator biometryczny / RF),
-Applicable Holiday List,Stosowna Lista Urlopów,
-Default Shift,Domyślne przesunięcie,
-Salary Details,Szczegóły wynagrodzeń,
-Salary Mode,Moduł Wynagrodzenia,
-Bank A/C No.,Numer rachunku bankowego,
-Health Insurance,Ubezpieczenie zdrowotne,
-Health Insurance Provider,Dostawca ubezpieczenia zdrowotnego,
-Health Insurance No,Numer ubezpieczenia zdrowotnego,
-Prefered Email,Zalecany email,
-Personal Email,Osobisty E-mail,
-Permanent Address Is,Stały adres to,
-Rented,Wynajęty,
-Owned,Zawłaszczony,
-Permanent Address,Stały adres,
-Prefered Contact Email,Preferowany kontakt e-mail,
-Company Email,Email do firmy,
-Provide Email Address registered in company,Podać adres e-mail zarejestrowany w firmie,
-Current Address Is,Obecny adres to,
-Current Address,Obecny adres,
-Personal Bio,Personal Bio,
-Bio / Cover Letter,Bio / List motywacyjny,
-Short biography for website and other publications.,Krótka notka na stronę i do innych publikacji,
-Passport Number,Numer Paszportu,
-Date of Issue,Data wydania,
-Place of Issue,Miejsce wydania,
-Widowed,Wdowiec / Wdowa,
-Family Background,Tło rodzinne,
-"Here you can maintain family details like name and occupation of parent, spouse and children",,
-Health Details,Szczegóły Zdrowia,
-"Here you can maintain height, weight, allergies, medical concerns etc","Tutaj wypełnij i przechowaj dane takie jak wzrost, waga, alergie, problemy medyczne itd",
-Educational Qualification,Kwalifikacje edukacyjne,
-Previous Work Experience,Poprzednie doświadczenie zawodowe,
-External Work History,Historia Zewnętrzna Pracy,
-History In Company,Historia Firmy,
-Internal Work History,Wewnętrzne Historia Pracuj,
-Resignation Letter Date,Data wypowiedzenia,
-Relieving Date,Data zwolnienia,
-Reason for Leaving,Powód odejścia,
-Leave Encashed?,"Jesteś pewien, że chcesz wyjść z Wykupinych?",
-Encashment Date,Data Inkaso,
-New Workplace,Nowe Miejsce Pracy,
-HR-EAD-.YYYY.-,HR-EAD-.RRRR.-,
-Returned Amount,Zwrócona kwota,
-Claimed,Roszczenie,
-Advance Account,Rachunek zaawansowany,
-Employee Attendance Tool,Narzędzie Frekwencji,
-Unmarked Attendance,Obecność nieoznaczona,
-Employees HTML,Pracownicy HTML,
-Marked Attendance,Zaznaczona Obecność,
-Marked Attendance HTML,Zaznaczona Obecność HTML,
-Employee Benefit Application,Świadczenie pracownicze,
-Max Benefits (Yearly),Maksymalne korzyści (rocznie),
-Remaining Benefits (Yearly),Pozostałe korzyści (rocznie),
-Payroll Period,Okres płacy,
-Benefits Applied,Korzyści zastosowane,
-Dispensed Amount (Pro-rated),Dawka dodana (zaszeregowana),
-Employee Benefit Application Detail,Szczegóły zastosowania świadczeń pracowniczych,
-Earning Component,Zarabianie na komponent,
-Pay Against Benefit Claim,Zapłać na poczet zasiłku,
-Max Benefit Amount,Kwota maksymalnego świadczenia,
-Employee Benefit Claim,Świadczenie pracownicze,
-Claim Date,Data roszczenia,
-Benefit Type and Amount,Rodzaj świadczenia i kwota,
-Claim Benefit For,Zasiłek roszczenia dla,
-Max Amount Eligible,Maksymalna kwota kwalifikująca się,
-Expense Proof,Dowód wydatków,
-Employee Boarding Activity,Działalność Boarding pracownika,
-Activity Name,Nazwa działania,
-Task Weight,Zadanie waga,
-Required for Employee Creation,Wymagany w przypadku tworzenia pracowników,
-Applicable in the case of Employee Onboarding,Ma zastosowanie w przypadku wprowadzenia pracownika na rynek,
-Employee Checkin,Checkin pracownika,
-Log Type,Typ dziennika,
-OUT,NA ZEWNĄTRZ,
-Location / Device ID,Lokalizacja / identyfikator urządzenia,
-Skip Auto Attendance,Pomiń automatyczne uczestnictwo,
-Shift Start,Shift Start,
-Shift End,Shift End,
-Shift Actual Start,Shift Actual Start,
-Shift Actual End,Shift Actual End,
-Employee Education,Wykształcenie pracownika,
-School/University,Szkoła/Uniwersytet,
-Graduate,Absolwent,
-Post Graduate,Podyplomowe,
-Under Graduate,Absolwent,
-Year of Passing,Mijający rok,
-Class / Percentage,,
-Major/Optional Subjects,Główne/Opcjonalne Tematy,
-Employee External Work History,Historia zatrudnienia pracownika poza firmą,
-Total Experience,Całkowita kwota wydatków,
-Default Leave Policy,Domyślna Polityka Nieobecności,
-Default Salary Structure,Domyślna struktura wynagrodzenia,
-Employee Group Table,Tabela grup pracowników,
-ERPNext User ID,ERPNext Identyfikator użytkownika,
-Employee Health Insurance,Ubezpieczenie zdrowotne pracownika,
-Health Insurance Name,Nazwa ubezpieczenia zdrowotnego,
-Employee Incentive,Zachęta dla pracowników,
-Incentive Amount,Kwota motywacyjna,
-Employee Internal Work History,Historia zatrudnienia pracownika w firmie,
-Employee Onboarding,Wprowadzanie pracowników,
-Notify users by email,Powiadom użytkowników pocztą e-mail,
-Employee Onboarding Template,Szablon do wprowadzania pracowników,
-Activities,Zajęcia,
-Employee Onboarding Activity,Aktywność pracownika na pokładzie,
-Employee Other Income,Inne dochody pracownika,
-Employee Promotion,Promocja pracowników,
-Promotion Date,Data promocji,
-Employee Promotion Details,Szczegóły promocji pracowników,
-Employee Promotion Detail,Szczegóły promocji pracowników,
-Employee Property History,Historia nieruchomości pracownika,
-Employee Separation,Separacja pracowników,
-Employee Separation Template,Szablon separacji pracowników,
-Exit Interview Summary,Wyjdź z podsumowania wywiadu,
-Employee Skill,Umiejętność pracownika,
-Proficiency,Biegłość,
-Evaluation Date,Data oceny,
-Employee Skill Map,Mapa umiejętności pracowników,
-Employee Skills,Umiejętności pracowników,
-Trainings,Szkolenia,
-Employee Tax Exemption Category,Kategoria zwolnienia z podatku dochodowego od pracowników,
-Max Exemption Amount,Maksymalna kwota zwolnienia,
-Employee Tax Exemption Declaration,Deklaracja zwolnienia z podatku od pracowników,
-Declarations,Deklaracje,
-Total Declared Amount,Całkowita zadeklarowana kwota,
-Total Exemption Amount,Całkowita kwota zwolnienia,
-Employee Tax Exemption Declaration Category,Kategoria deklaracji zwolnienia podatkowego dla pracowników,
-Exemption Sub Category,Kategoria zwolnienia,
-Exemption Category,Kategoria zwolnienia,
-Maximum Exempted Amount,Maksymalna kwota zwolniona,
-Declared Amount,Zadeklarowana kwota,
-Employee Tax Exemption Proof Submission,Świadectwo zwolnienia podatkowego dla pracowników,
-Submission Date,Termin składania,
-Tax Exemption Proofs,Dowody zwolnienia podatkowego,
-Total Actual Amount,Całkowita rzeczywista kwota,
-Employee Tax Exemption Proof Submission Detail,Szczegółowe informacje dotyczące złożenia zeznania podatkowego dla pracowników,
-Maximum Exemption Amount,Maksymalna kwota zwolnienia,
-Type of Proof,Rodzaj dowodu,
-Actual Amount,Rzeczywista kwota,
-Employee Tax Exemption Sub Category,Podkategoria zwolnień podatkowych dla pracowników,
-Tax Exemption Category,Kategoria zwolnienia podatkowego,
-Employee Training,Szkolenie pracowników,
-Training Date,Data szkolenia,
-Employee Transfer,Przeniesienie pracownika,
-Transfer Date,Data przeniesienia,
-Employee Transfer Details,Dane dotyczące przeniesienia pracownika,
-Employee Transfer Detail,Dane dotyczące przeniesienia pracownika,
-Re-allocate Leaves,Realokuj Nieobeności,
-Create New Employee Id,Utwórz nowy identyfikator pracownika,
-New Employee ID,Nowy identyfikator pracownika,
-Employee Transfer Property,Usługa przenoszenia pracowniczych,
-HR-EXP-.YYYY.-,HR-EXP-.RRRR.-,
-Expense Taxes and Charges,Podatki i opłaty z tytułu kosztów,
-Total Sanctioned Amount,Całkowita kwota uznań,
-Total Advance Amount,Łączna kwota zaliczki,
-Total Claimed Amount,Całkowita kwota roszczeń,
-Total Amount Reimbursed,Całkowitej kwoty zwrotów,
-Vehicle Log,pojazd Log,
-Employees Email Id,Email ID pracownika,
-More Details,Więcej szczegółów,
-Expense Claim Account,Konto Koszty Roszczenie,
-Expense Claim Advance,Advance Claim Advance,
-Unclaimed amount,Nie zgłoszona kwota,
-Expense Claim Detail,Szczegóły o zwrotach kosztów,
-Expense Date,Data wydatku,
-Expense Claim Type,Typ Zwrotu Kosztów,
-Holiday List Name,Nazwa dla Listy Świąt,
-Total Holidays,Suma dni świątecznych,
-Add Weekly Holidays,Dodaj cotygodniowe święta,
-Weekly Off,Tygodniowy wyłączony,
-Add to Holidays,Dodaj do świąt,
-Holidays,Wakacje,
-Clear Table,Wyczyść tabelę,
-HR Settings,Ustawienia HR,
-Employee Settings,Ustawienia pracownika,
-Retirement Age,Wiek emerytalny,
-Enter retirement age in years,Podaj wiek emerytalny w latach,
-Stop Birthday Reminders,Zatrzymaj przypomnienia o urodzinach,
-Expense Approver Mandatory In Expense Claim,Potwierdzenie wydatków Obowiązkowe w rachunku kosztów,
-Payroll Settings,Ustawienia Listy Płac,
-Leave,Pozostawiać,
-Max working hours against Timesheet,Maksymalny czas pracy przed grafiku,
-Include holidays in Total no. of Working Days,Dolicz święta do całkowitej liczby dni pracujących,
-"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Jeśli zaznaczone, Całkowita liczba Dni Roboczych obejmie święta, a to zmniejsza wartość Wynagrodzenie za dzień",
-"If checked, hides and disables Rounded Total field in Salary Slips","Jeśli zaznaczone, ukrywa i wyłącza pole Zaokrąglona suma w kuponach wynagrodzeń",
-The fraction of daily wages to be paid for half-day attendance,Część dziennego wynagrodzenia za obecność na pół dnia,
-Email Salary Slip to Employee,Email Wynagrodzenie Slip pracownikowi,
-Emails salary slip to employee based on preferred email selected in Employee,Emaile wynagrodzenia poślizgu pracownikowi na podstawie wybranego w korzystnej email Pracownika,
-Encrypt Salary Slips in Emails,Szyfruj poświadczenia wynagrodzenia w wiadomościach e-mail,
-"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","Ślad wynagrodzenia przesłany pocztą elektroniczną do pracownika będzie chroniony hasłem, hasło zostanie wygenerowane na podstawie polityki haseł.",
-Password Policy,Polityka haseł,
-<b>Example:</b> SAL-{first_name}-{date_of_birth.year} <br>This will generate a password like SAL-Jane-1972,<b>Przykład:</b> SAL- {first_name} - {date_of_birth.year} <br> Spowoduje to wygenerowanie hasła takiego jak SAL-Jane-1972,
-Leave Settings,Ustawienia Nieobecności,
-Leave Approval Notification Template,Pozostaw szablon powiadomienia o zatwierdzeniu,
-Leave Status Notification Template,Pozostaw szablon powiadomienia o statusie,
-Role Allowed to Create Backdated Leave Application,Rola dozwolona do utworzenia aplikacji urlopowej z datą wsteczną,
-Leave Approver Mandatory In Leave Application,Pozostaw zatwierdzającego obowiązkowo w aplikacji opuszczającej,
-Show Leaves Of All Department Members In Calendar,Pokaż Nieobecności Wszystkich Członków Działu w Kalendarzu,
-Auto Leave Encashment,Auto Leave Encashment,
-Hiring Settings,Ustawienia wynajmu,
-Check Vacancies On Job Offer Creation,Sprawdź oferty pracy w tworzeniu oferty pracy,
-Identification Document Type,Typ dokumentu tożsamości,
-Effective from,Obowiązuje od,
-Allow Tax Exemption,Zezwalaj na zwolnienie z podatku,
-"If enabled, Tax Exemption Declaration will be considered for income tax calculation.","Jeśli ta opcja jest włączona, deklaracja zwolnienia z podatku będzie brana pod uwagę przy obliczaniu podatku dochodowego.",
-Standard Tax Exemption Amount,Kwota zwolnienia z podatku standardowego,
-Taxable Salary Slabs,Podatki podlegające opodatkowaniu,
-Taxes and Charges on Income Tax,Podatki i opłaty od podatku dochodowego,
-Other Taxes and Charges,Inne podatki i opłaty,
-Income Tax Slab Other Charges,Płyta podatku dochodowego Inne opłaty,
-Min Taxable Income,Min. Dochód podlegający opodatkowaniu,
-Max Taxable Income,Maksymalny dochód podlegający opodatkowaniu,
-Applicant for a Job,Aplikant do Pracy,
-Accepted,Przyjęte,
-Job Opening,Otwarcie naboru na stanowisko,
-Cover Letter,List motywacyjny,
-Resume Attachment,W skrócie Załącznik,
-Job Applicant Source,Źródło wniosku o pracę,
-Applicant Email Address,Adres e-mail wnioskodawcy,
-Awaiting Response,Oczekuje na Odpowiedź,
-Job Offer Terms,Warunki oferty pracy,
-Select Terms and Conditions,Wybierz Regulamin,
-Printing Details,Szczegóły Wydruku,
-Job Offer Term,Okres oferty pracy,
-Offer Term,Oferta Term,
-Value / Description,Wartość / Opis,
-Description of a Job Opening,Opis Ogłoszenia o Pracę,
-Job Title,Nazwa stanowiska pracy,
-Staffing Plan,Plan zatrudnienia,
-Planned number of Positions,Planowana liczba pozycji,
-"Job profile, qualifications required etc.","Profil stanowiska pracy, wymagane kwalifikacje itp.",
-HR-LAL-.YYYY.-,HR-LAL-.RRRR.-,
-Allocation,Przydział,
-New Leaves Allocated,Nowe Nieobecności Zaalokowane,
-Add unused leaves from previous allocations,Dodaj niewykorzystane nieobecności z poprzednich alokacji,
-Unused leaves,Niewykorzystane Nieobecności,
-Total Leaves Allocated,Całkowita ilość przyznanych dni zwolnienia od pracy,
-Total Leaves Encashed,Total Leaves Encashed,
-Leave Period,Okres Nieobecności,
-Carry Forwarded Leaves,,
-Apply / Approve Leaves,Zastosuj / Zatwierdź Nieobecności,
-HR-LAP-.YYYY.-,HR-LAP-.YYYY.-,
-Leave Balance Before Application,Status Nieobecności przed Wnioskiem,
-Total Leave Days,Całkowita liczba Dni Nieobecności,
-Leave Approver Name,Nazwa Zatwierdzającego Nieobecność,
-Follow via Email,Odpowiedz za pomocą E-maila,
-Block Holidays on important days.,Blok Wakacje na ważne dni.,
-Leave Block List Name,Nazwa Listy Blokowanych Nieobecności,
-Applies to Company,Dotyczy Firmy,
-"If not checked, the list will have to be added to each Department where it has to be applied.","Jeśli nie jest zaznaczone, lista będzie musiała być dodana do każdego Działu, w którym ma zostać zastosowany.",
-Block Days,Zablokowany Dzień,
-Stop users from making Leave Applications on following days.,Zatrzymaj możliwość składania zwolnienia chorobowego użytkownikom w następujące dni.,
-Leave Block List Dates,Daty dopuszczenia na Liście Blokowanych Nieobecności,
-Allow Users,Zezwól Użytkownikom,
-Allow the following users to approve Leave Applications for block days.,,
-Leave Block List Allowed,Dopuszczone na Liście Blokowanych Nieobecności,
-Leave Block List Allow,Dopuść na Liście Blokowanych Nieobecności,
-Allow User,Zezwól Użytkownikowi,
-Leave Block List Date,Data dopuszczenia na Liście Blokowanych Nieobecności,
-Block Date,Zablokowana Data,
-Leave Control Panel,Panel do obsługi Nieobecności,
-Select Employees,Wybierz Pracownicy,
-Employment Type (optional),Rodzaj zatrudnienia (opcjonalnie),
-Branch (optional),Oddział (opcjonalnie),
-Department (optional),Dział (opcjonalnie),
-Designation (optional),Oznaczenie (opcjonalnie),
-Employee Grade (optional),Stopień pracownika (opcjonalnie),
-Employee (optional),Pracownik (opcjonalnie),
-Allocate Leaves,Przydziel liście,
-Carry Forward,Przeniesienie,
-Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Proszę wybrać Przeniesienie jeżeli chcesz uwzględnić balans poprzedniego roku rozliczeniowego do tego roku rozliczeniowego,
-New Leaves Allocated (In Days),Nowe Nieobecności Zaalokowane (W Dniach),
-Allocate,Przydziel,
-Leave Balance,Pozostaw saldo,
-Encashable days,Szykowne dni,
-Encashment Amount,Kwota rabatu,
-Leave Ledger Entry,Pozostaw wpis księgi głównej,
-Transaction Name,Nazwa transakcji,
-Is Carry Forward,,
-Is Expired,Straciła ważność,
-Is Leave Without Pay,jest Urlopem Bezpłatnym,
-Holiday List for Optional Leave,Lista urlopowa dla Opcjonalnej Nieobecności,
-Leave Allocations,Alokacje Nieobecności,
-Leave Policy Details,Szczegóły Polityki Nieobecności,
-Leave Policy Detail,Szczegół Polityki Nieobecności,
-Annual Allocation,Roczna alokacja,
-Leave Type Name,Nazwa Typu Urlopu,
-Max Leaves Allowed,"Maksymalna, dozwolona liczba Nieobecności",
-Applicable After (Working Days),Dotyczy After (dni robocze),
-Maximum Continuous Days Applicable,Maksymalne ciągłe dni obowiązujące,
-Is Optional Leave,jest Nieobecnością Opcjonalną,
-Allow Negative Balance,Dozwolony ujemny bilans,
-Include holidays within leaves as leaves,Uwzględniaj święta w ramach Nieobecności,
-Is Compensatory,Jest kompensacyjny,
-Maximum Carry Forwarded Leaves,Maksymalna liczba przeniesionych liści,
-Expire Carry Forwarded Leaves (Days),Wygasają przenoszenie przekazanych liści (dni),
-Calculated in days,Obliczany w dniach,
-Encashment,Napad,
-Allow Encashment,Zezwól na Osadzanie,
-Encashment Threshold Days,Progi prolongaty,
-Earned Leave,Urlop w ramach nagrody,
-Is Earned Leave,jest Urlopem w ramach Nagrody,
-Earned Leave Frequency,Częstotliwość Urlopu w ramach nagrody,
-Rounding,Zaokrąglanie,
-Payroll Employee Detail,Szczegóły dotyczące kadry płacowej,
-Payroll Frequency,Częstotliwość Płace,
-Fortnightly,Dwutygodniowy,
-Bimonthly,Dwumiesięczny,
-Employees,Pracowników,
-Number Of Employees,Liczba pracowników,
-Employee Details,,
-Validate Attendance,Zweryfikuj Frekfencję,
-Salary Slip Based on Timesheet,Slip Wynagrodzenie podstawie grafiku,
-Select Payroll Period,Wybierz Okres Payroll,
-Deduct Tax For Unclaimed Employee Benefits,Odliczanie podatku za nieodebrane świadczenia pracownicze,
-Deduct Tax For Unsubmitted Tax Exemption Proof,Odliczanie podatku za nieprzedstawiony dowód zwolnienia podatkowego,
-Select Payment Account to make Bank Entry,Wybierz Konto Płatność aby bankowego Entry,
-Salary Slips Created,Utworzono zarobki,
-Salary Slips Submitted,Przesłane wynagrodzenie,
-Payroll Periods,Okresy płac,
-Payroll Period Date,Okres listy płac,
-Purpose of Travel,Cel podróży,
-Retention Bonus,Premia z zatrzymania,
-Bonus Payment Date,Data wypłaty bonusu,
-Bonus Amount,Kwota Bonusu,
-Abbr,Skrót,
-Depends on Payment Days,Zależy od dni płatności,
-Is Tax Applicable,Podatek obowiązuje,
-Variable Based On Taxable Salary,Zmienna oparta na podlegającym opodatkowaniu wynagrodzeniu,
-Exempted from Income Tax,Zwolnione z podatku dochodowego,
-Round to the Nearest Integer,Zaokrąglij do najbliższej liczby całkowitej,
-Statistical Component,Składnik statystyczny,
-"If selected, the value specified or calculated in this component will not contribute to the earnings or deductions. However, it's value can be referenced by other components that can be added or deducted. ","Jeśli zostanie wybrana, wartość określona lub obliczona w tym składniku nie przyczyni się do zarobków ani odliczeń. Jednak wartością tę można odwoływać się do innych składników, które można dodawać lub potrącać.",
-Do Not Include in Total,Nie uwzględniaj w sumie,
-Flexible Benefits,Elastyczne korzyści,
-Is Flexible Benefit,Elastyczna korzyść,
-Max Benefit Amount (Yearly),Kwota maksymalnego świadczenia (rocznie),
-Only Tax Impact (Cannot Claim But Part of Taxable Income),Tylko wpływ podatkowy (nie można domagać się części dochodu podlegającego opodatkowaniu),
-Create Separate Payment Entry Against Benefit Claim,Utwórz oddzielne zgłoszenie wpłaty na poczet roszczenia o zasiłek,
-Condition and Formula,Stan i wzór,
-Amount based on formula,Kwota wg wzoru,
-Formula,Formuła,
-Salary Detail,Wynagrodzenie Szczegóły,
-Component,Składnik,
-Do not include in total,Nie obejmują łącznie,
-Default Amount,Domyślnie Kwota,
-Additional Amount,Dodatkowa ilość,
-Tax on flexible benefit,Podatek od elastycznej korzyści,
-Tax on additional salary,Podatek od dodatkowego wynagrodzenia,
-Salary Structure,Struktura Wynagrodzenia,
-Working Days,Dni robocze,
-Salary Slip Timesheet,Slip Wynagrodzenie grafiku,
-Total Working Hours,Całkowita liczba godzin pracy,
-Hour Rate,Stawka godzinowa,
-Bank Account No.,Nr konta bankowego,
-Earning & Deduction,Dochód i Odliczenie,
-Earnings,Dochody,
-Deductions,Odliczenia,
-Loan repayment,Spłata pożyczki,
-Employee Loan,pracownik Kredyt,
-Total Principal Amount,Łączna kwota główna,
-Total Interest Amount,Łączna kwota odsetek,
-Total Loan Repayment,Suma spłaty kredytu,
-net pay info,Informacje o wynagrodzeniu netto,
-Gross Pay - Total Deduction - Loan Repayment,Gross Pay - Razem Odliczenie - Spłata kredytu,
-Total in words,Ogółem słownie,
-Net Pay (in words) will be visible once you save the Salary Slip.,Wynagrodzenie netto (słownie) będzie widoczna po zapisaniu na Liście Płac.,
-Salary Component for timesheet based payroll.,Składnik wynagrodzenia za płac opartego grafik.,
-Leave Encashment Amount Per Day,Zostaw kwotę za dzieło na dzień,
-Max Benefits (Amount),Maksymalne korzyści (kwota),
-Salary breakup based on Earning and Deduction.,Średnie wynagrodzenie w oparciu o zarobki i odliczenia,
-Total Earning,Całkowita kwota zarobku,
-Salary Structure Assignment,Przydział struktury wynagrodzeń,
-Shift Assignment,Przydział Shift,
-Shift Type,Typ zmiany,
-Shift Request,Żądanie zmiany,
-Enable Auto Attendance,Włącz automatyczne uczestnictwo,
-Mark attendance based on 'Employee Checkin' for Employees assigned to this shift.,Oznacz obecność na podstawie „Checkin pracownika” dla pracowników przypisanych do tej zmiany.,
-Auto Attendance Settings,Ustawienia automatycznej obecności,
-Determine Check-in and Check-out,Określ odprawę i wymeldowanie,
-Alternating entries as IN and OUT during the same shift,Naprzemienne wpisy jako IN i OUT podczas tej samej zmiany,
-Strictly based on Log Type in Employee Checkin,Ściśle na podstawie typu dziennika w Checkin pracownika,
-Working Hours Calculation Based On,Obliczanie godzin pracy na podstawie,
-First Check-in and Last Check-out,Pierwsze zameldowanie i ostatnie wymeldowanie,
-Every Valid Check-in and Check-out,Każde ważne zameldowanie i wymeldowanie,
-Begin check-in before shift start time (in minutes),Rozpocznij odprawę przed czasem rozpoczęcia zmiany (w minutach),
-The time before the shift start time during which Employee Check-in is considered for attendance.,"Czas przed rozpoczęciem zmiany, podczas którego odprawa pracownicza jest brana pod uwagę przy uczestnictwie.",
-Allow check-out after shift end time (in minutes),Zezwól na wymeldowanie po zakończeniu czasu zmiany (w minutach),
-Time after the end of shift during which check-out is considered for attendance.,"Czas po zakończeniu zmiany, w trakcie którego wymeldowanie jest brane pod uwagę.",
-Working Hours Threshold for Half Day,Próg godzin pracy na pół dnia,
-Working hours below which Half Day is marked. (Zero to disable),"Godziny pracy, poniżej których zaznaczono pół dnia. (Zero, aby wyłączyć)",
-Working Hours Threshold for Absent,Próg godzin pracy dla nieobecności,
-Working hours below which Absent is marked. (Zero to disable),"Godziny pracy poniżej których nieobecność jest zaznaczona. (Zero, aby wyłączyć)",
-Process Attendance After,Uczestnictwo w procesie po,
-Attendance will be marked automatically only after this date.,Obecność zostanie oznaczona automatycznie dopiero po tej dacie.,
-Last Sync of Checkin,Ostatnia synchronizacja odprawy,
-Last Known Successful Sync of Employee Checkin. Reset this only if you are sure that all Logs are synced from all the locations. Please don't modify this if you are unsure.,"Ostatnia znana udana synchronizacja odprawy pracownika. Zresetuj to tylko wtedy, gdy masz pewność, że wszystkie dzienniki są synchronizowane ze wszystkich lokalizacji. Nie zmieniaj tego, jeśli nie jesteś pewien.",
-Grace Period Settings For Auto Attendance,Ustawienia okresu Grace dla automatycznej obecności,
-Enable Entry Grace Period,Włącz okres ważności wpisu,
-Late Entry Grace Period,Okres późnego wejścia,
-The time after the shift start time when check-in is considered as late (in minutes).,"Czas po godzinie rozpoczęcia zmiany, gdy odprawa jest uważana za późną (w minutach).",
-Enable Exit Grace Period,Włącz okres wyjścia Grace,
-Early Exit Grace Period,Wczesny okres wyjścia z inwestycji,
-The time before the shift end time when check-out is considered as early (in minutes).,"Czas przed czasem zakończenia zmiany, gdy wymeldowanie jest uważane za wczesne (w minutach).",
-Skill Name,Nazwa umiejętności,
-Staffing Plan Details,Szczegółowy plan zatrudnienia,
-Staffing Plan Detail,Szczegółowy plan zatrudnienia,
-Total Estimated Budget,Całkowity szacunkowy budżet,
-Vacancies,Wakaty,
-Estimated Cost Per Position,Szacowany koszt na stanowisko,
-Total Estimated Cost,Całkowity szacunkowy koszt,
-Current Count,Bieżąca liczba,
-Current Openings,Aktualne otwarcia,
-Number Of Positions,Liczba pozycji,
-Taxable Salary Slab,Podatki podlegające opodatkowaniu,
-From Amount,Od kwoty,
-To Amount,Do kwoty,
-Percent Deduction,Odliczenie procentowe,
-Training Program,Program treningowy,
-Event Status,zdarzenia,
-Has Certificate,Ma certyfikat,
-Seminar,Seminarium,
-Theory,Teoria,
-Workshop,Warsztat,
-Conference,Konferencja,
-Exam,Egzamin,
-Internet,Internet,
-Self-Study,Samokształcenie,
-Advance,Zaliczka,
-Trainer Name,Nazwa Trainer,
-Trainer Email,Trener email,
-Attendees,Uczestnicy,
-Employee Emails,E-maile z pracownikami,
-Training Event Employee,Training Event urzędnik,
-Invited,Zaproszony,
-Feedback Submitted,Zgłoszenie Zgłoszony,
-Optional,Opcjonalny,
-Training Result Employee,Wynik szkolenia pracowników,
-Travel Itinerary,Plan podróży,
-Travel From,Podróżuj z,
-Travel To,Podróż do,
-Mode of Travel,Tryb podróży,
-Flight,Lot,
-Train,Pociąg,
-Taxi,Taxi,
-Rented Car,Wynajęty samochód,
-Meal Preference,Preferencje Posiłków,
-Vegetarian,Wegetariański,
-Non-Vegetarian,Nie wegetarianskie,
-Gluten Free,Bezglutenowe,
-Non Diary,Non Diary,
-Travel Advance Required,Wymagane wcześniejsze podróżowanie,
-Departure Datetime,Data wyjazdu Datetime,
-Arrival Datetime,Przybycie Datetime,
-Lodging Required,Wymagane zakwaterowanie,
-Preferred Area for Lodging,Preferowany obszar zakwaterowania,
-Check-in Date,Sprawdź w terminie,
-Check-out Date,Sprawdź datę,
-Travel Request,Wniosek o podróż,
-Travel Type,Rodzaj podróży,
-Domestic,Krajowy,
-International,Międzynarodowy,
-Travel Funding,Finansowanie podróży,
-Require Full Funding,Wymagaj pełnego finansowania,
-Fully Sponsored,W pełni sponsorowane,
-"Partially Sponsored, Require Partial Funding","Częściowo sponsorowane, wymagające częściowego finansowania",
-Copy of Invitation/Announcement,Kopia zaproszenia / ogłoszenia,
-"Details of Sponsor (Name, Location)","Dane sponsora (nazwa, lokalizacja)",
-Identification Document Number,Numer identyfikacyjny dokumentu,
-Any other details,Wszelkie inne szczegóły,
-Costing Details,Szczegóły dotyczące kalkulacji kosztów,
-Costing,Zestawienie kosztów,
-Event Details,Szczegóły wydarzenia,
-Name of Organizer,Nazwa organizatora,
-Address of Organizer,Adres Organizatora,
-Travel Request Costing,Koszt wniosku podróży,
-Expense Type,Typ wydatków,
-Sponsored Amount,Sponsorowana kwota,
-Funded Amount,Kwota dofinansowania,
-Upload Attendance,Wyślij obecność,
-Attendance From Date,Obecność od Daty,
-Attendance To Date,Obecność do Daty,
-Get Template,Pobierz szablon,
-Import Attendance,Importuj Frekwencję,
-Upload HTML,Wyślij HTML,
-Vehicle,Pojazd,
-License Plate,Tablica rejestracyjna,
-Odometer Value (Last),Drogomierz Wartość (Ostatni),
-Acquisition Date,Data nabycia,
-Chassis No,Podwozie Nie,
-Vehicle Value,Wartość pojazdu,
-Insurance Details,Szczegóły ubezpieczenia,
-Insurance Company,Firma ubezpieczeniowa,
-Policy No,Polityka nr,
-Additional Details,Dodatkowe Szczegóły,
-Fuel Type,Typ paliwa,
-Petrol,Benzyna,
-Diesel,Diesel,
-Natural Gas,Gazu ziemnego,
-Electric,Elektryczny,
-Fuel UOM,Jednostka miary paliwa,
-Last Carbon Check,Ostatni Carbon Sprawdź,
-Wheels,Koła,
-Doors,drzwi,
-HR-VLOG-.YYYY.-,HR-VLOG-.YYYY.-,
-Odometer Reading,Stan licznika,
-Current Odometer value ,Aktualna wartość licznika przebiegu,
-last Odometer Value ,ostatnia wartość licznika przebiegu,
-Refuelling Details,Szczegóły tankowania,
-Invoice Ref,faktura Ref,
-Service Details,Szczegóły usługi,
-Service Detail,Szczegóły usługi,
-Vehicle Service,Obsługa pojazdu,
-Service Item,service Element,
-Brake Oil,Olej hamulcowy,
-Brake Pad,Klocek hamulcowy,
-Clutch Plate,sprzęgło,
-Engine Oil,Olej silnikowy,
-Oil Change,Wymiana oleju,
-Inspection,Kontrola,
-Mileage,Przebieg,
-Hub Tracked Item,Hub Tracked Item,
-Hub Node,Hub Węzeł,
-Image List,Lista obrazów,
-Item Manager,Pozycja menedżera,
-Hub User,Użytkownik centrum,
-Hub Password,Hasło koncentratora,
-Hub Users,Użytkownicy centrum,
-Marketplace Settings,Ustawienia Marketplace,
-Disable Marketplace,Wyłącz Marketplace,
-Marketplace URL (to hide and update label),Adres URL rynku (aby ukryć i zaktualizować etykietę),
-Registered,Zarejestrowany,
-Sync in Progress,Synchronizacja w toku,
-Hub Seller Name,Nazwa sprzedawcy Hub,
-Custom Data,Dane niestandardowe,
-Member,Członek,
-Partially Disbursed,częściowo wypłacona,
-Loan Closure Requested,Zażądano zamknięcia pożyczki,
-Repay From Salary,Spłaty z pensji,
-Loan Details,pożyczka Szczegóły,
-Loan Type,Rodzaj kredytu,
-Loan Amount,Kwota kredytu,
-Is Secured Loan,Jest zabezpieczona pożyczka,
-Rate of Interest (%) / Year,Stopa procentowa (% / rok),
-Disbursement Date,wypłata Data,
-Disbursed Amount,Kwota wypłacona,
-Is Term Loan,Jest pożyczką terminową,
-Repayment Method,Sposób spłaty,
-Repay Fixed Amount per Period,Spłacić ustaloną kwotę za okres,
-Repay Over Number of Periods,Spłaty przez liczbę okresów,
-Repayment Period in Months,Spłata Okres w miesiącach,
-Monthly Repayment Amount,Miesięczna kwota spłaty,
-Repayment Start Date,Data rozpoczęcia spłaty,
-Loan Security Details,Szczegóły bezpieczeństwa pożyczki,
-Maximum Loan Value,Maksymalna wartość pożyczki,
-Account Info,Informacje o koncie,
-Loan Account,Konto kredytowe,
-Interest Income Account,Konto przychodów odsetkowych,
-Penalty Income Account,Rachunek dochodów z kar,
-Repayment Schedule,Harmonogram spłaty,
-Total Payable Amount,Całkowita należna kwota,
-Total Principal Paid,Łącznie wypłacone główne zlecenie,
-Total Interest Payable,Razem odsetki płatne,
-Total Amount Paid,Łączna kwota zapłacona,
-Loan Manager,Menedżer pożyczek,
-Loan Info,pożyczka Info,
-Rate of Interest,Stopa procentowa,
-Proposed Pledges,Proponowane zobowiązania,
-Maximum Loan Amount,Maksymalna kwota kredytu,
-Repayment Info,Informacje spłata,
-Total Payable Interest,Całkowita zapłata odsetek,
-Against Loan ,Przed pożyczką,
-Loan Interest Accrual,Narosłe odsetki od pożyczki,
-Amounts,Kwoty,
-Pending Principal Amount,Oczekująca kwota główna,
-Payable Principal Amount,Kwota główna do zapłaty,
-Paid Principal Amount,Zapłacona kwota główna,
-Paid Interest Amount,Kwota zapłaconych odsetek,
-Process Loan Interest Accrual,Przetwarzanie naliczonych odsetek od kredytu,
-Repayment Schedule Name,Nazwa harmonogramu spłaty,
-Regular Payment,Regularna płatność,
-Loan Closure,Zamknięcie pożyczki,
-Payment Details,Szczegóły płatności,
-Interest Payable,Odsetki płatne,
-Amount Paid,Kwota zapłacona,
-Principal Amount Paid,Kwota główna wypłacona,
-Repayment Details,Szczegóły spłaty,
-Loan Repayment Detail,Szczegóły spłaty pożyczki,
-Loan Security Name,Nazwa zabezpieczenia pożyczki,
-Unit Of Measure,Jednostka miary,
-Loan Security Code,Kod bezpieczeństwa pożyczki,
-Loan Security Type,Rodzaj zabezpieczenia pożyczki,
-Haircut %,Strzyżenie%,
-Loan  Details,Szczegóły pożyczki,
-Unpledged,Niepowiązane,
-Pledged,Obiecał,
-Partially Pledged,Częściowo obiecane,
-Securities,Papiery wartościowe,
-Total Security Value,Całkowita wartość bezpieczeństwa,
-Loan Security Shortfall,Niedobór bezpieczeństwa pożyczki,
-Loan ,Pożyczka,
-Shortfall Time,Czas niedoboru,
-America/New_York,America / New_York,
-Shortfall Amount,Kwota niedoboru,
-Security Value ,Wartość bezpieczeństwa,
-Process Loan Security Shortfall,Niedobór bezpieczeństwa pożyczki procesowej,
-Loan To Value Ratio,Wskaźnik pożyczki do wartości,
-Unpledge Time,Unpledge Time,
-Loan Name,pożyczka Nazwa,
-Rate of Interest (%) Yearly,Stopa procentowa (%) Roczne,
-Penalty Interest Rate (%) Per Day,Kara odsetkowa (%) dziennie,
-Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,Kara odsetkowa naliczana jest codziennie od oczekującej kwoty odsetek w przypadku opóźnionej spłaty,
-Grace Period in Days,Okres karencji w dniach,
-No. of days from due date until which penalty won't be charged in case of delay in loan repayment,"Liczba dni od daty wymagalności, do której kara nie będzie naliczana w przypadku opóźnienia w spłacie kredytu",
-Pledge,Zastaw,
-Post Haircut Amount,Kwota po ostrzyżeniu,
-Process Type,Typ procesu,
-Update Time,Czas aktualizacji,
-Proposed Pledge,Proponowane zobowiązanie,
-Total Payment,Całkowita płatność,
-Balance Loan Amount,Kwota salda kredytu,
-Is Accrued,Jest naliczony,
-Salary Slip Loan,Salary Slip Loan,
-Loan Repayment Entry,Wpis spłaty kredytu,
-Sanctioned Loan Amount,Kwota udzielonej sankcji,
-Sanctioned Amount Limit,Sankcjonowany limit kwoty,
-Unpledge,Unpledge,
-Haircut,Ostrzyżenie,
-MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
-Generate Schedule,Utwórz Harmonogram,
-Schedules,Harmonogramy,
-Maintenance Schedule Detail,Szczegóły Planu Konserwacji,
-Scheduled Date,Zaplanowana Data,
-Actual Date,Rzeczywista Data,
-Maintenance Schedule Item,Przedmiot Planu Konserwacji,
-Random,Losowy,
-No of Visits,Numer wizyt,
-MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
-Maintenance Date,Data Konserwacji,
-Maintenance Time,Czas Konserwacji,
-Completion Status,Status ukończenia,
-Partially Completed,Częściowo Ukończony,
-Fully Completed,Całkowicie ukończono,
-Unscheduled,Nieplanowany,
-Breakdown,Rozkład,
-Purposes,Cele,
-Customer Feedback,Informacja zwrotna Klienta,
-Maintenance Visit Purpose,Cel Wizyty Konserwacji,
-Work Done,Praca wykonana,
-Against Document No,,
-Against Document Detail No,,
-MFG-BLR-.YYYY.-,MFG-BLR-.RRRR.-,
-Order Type,Typ zamówienia,
-Blanket Order Item,Koc Zamówienie przedmiotu,
-Ordered Quantity,Zamówiona Ilość,
-Item to be manufactured or repacked,"Produkt, który ma zostać wyprodukowany lub przepakowany",
-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,
-Set rate of sub-assembly item based on BOM,Ustaw stawkę pozycji podzakresu na podstawie BOM,
-Allow Alternative Item,Zezwalaj na alternatywną pozycję,
-Item UOM,Jednostka miary produktu,
-Conversion Rate,Współczynnik konwersji,
-Rate Of Materials Based On,Stawka Materiałów Wzorowana na,
-With Operations,Wraz z działaniami,
-Manage cost of operations,Zarządzaj kosztami działań,
-Transfer Material Against,Materiał transferowy przeciwko,
-Routing,Routing,
-Materials,Materiały,
-Quality Inspection Required,Wymagana kontrola jakości,
-Quality Inspection Template,Szablon kontroli jakości,
-Scrap,Skrawek,
-Scrap Items,złom przedmioty,
-Operating Cost,Koszty Operacyjne,
-Raw Material Cost,Koszt surowców,
-Scrap Material Cost,Złom Materiał Koszt,
-Operating Cost (Company Currency),Koszty operacyjne (Spółka waluty),
-Raw Material Cost (Company Currency),Koszt surowców (waluta spółki),
-Scrap Material Cost(Company Currency),Złom koszt materiału (Spółka waluty),
-Total Cost,Koszt całkowity,
-Total Cost (Company Currency),Koszt całkowity (waluta firmy),
-Materials Required (Exploded),Materiał Wymaga (Rozdzielony),
-Exploded Items,Przedmioty wybuchowe,
-Show in Website,Pokaż w witrynie,
-Item Image (if not slideshow),Element Obrazek (jeśli nie slideshow),
-Thumbnail,Miniaturka,
-Website Specifications,Specyfikacja strony WWW,
-Show Items,jasnowidze,
-Show Operations,Pokaż Operations,
-Website Description,Opis strony WWW,
-BOM Explosion Item,,
-Qty Consumed Per Unit,Ilość skonsumowana na Jednostkę,
-Include Item In Manufacturing,Dołącz przedmiot do produkcji,
-BOM Item,,
-Item operation,Obsługa przedmiotu,
-Rate & Amount,Stawka i kwota,
-Basic Rate (Company Currency),Podstawowy wskaźnik (Waluta Firmy),
-Scrap %,,
-Original Item,Oryginalna pozycja,
-BOM Operation,BOM Operacja,
-Operation Time ,Czas operacji,
-In minutes,W minutach,
-Batch Size,Wielkość partii,
-Base Hour Rate(Company Currency),Baza Hour Rate (Spółka waluty),
-Operating Cost(Company Currency),Koszty operacyjne (Spółka waluty),
-BOM Scrap Item,BOM Złom Item,
-Basic Amount (Company Currency),Kwota podstawowa (Spółka waluty),
-BOM Update Tool,Narzędzie aktualizacji BOM,
-"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM.\nIt also updates latest price in all the BOMs.","Zastąp wymień płytę BOM we wszystkich pozostałych zestawieniach, w których jest używany. Zastąpi stary link BOM, aktualizuje koszt i zregeneruje tabelę &quot;BOM Explosion Item&quot; w nowym zestawieniu firm. Uaktualnia także najnowszą cenę we wszystkich materiałach.",
-Replace BOM,Wymień moduł,
-Current BOM,Obecny BOM,
-The BOM which will be replaced,BOM zostanie zastąpiony,
-The new BOM after replacement,Nowy BOM po wymianie,
-Replace,Zamień,
-Update latest price in all BOMs,Zaktualizuj ostatnią cenę we wszystkich biuletynach,
-BOM Website Item,BOM Website Element,
-BOM Website Operation,BOM Operacja WWW,
-Operation Time,Czas operacji,
-PO-JOB.#####,PO-JOB. #####,
-Timing Detail,Szczegóły dotyczące czasu,
-Time Logs,Logi czasu,
-Total Time in Mins,Całkowity czas w minutach,
-Operation ID,Identyfikator operacji,
-Transferred Qty,Przeniesione ilości,
-Job Started,Rozpoczęto pracę,
-Started Time,Rozpoczęty czas,
-Current Time,Obecny czas,
-Job Card Item,Element karty pracy,
-Job Card Time Log,Dziennik czasu pracy karty,
-Time In Mins,Czas w minutach,
-Completed Qty,Ukończona wartość,
-Manufacturing Settings,Ustawienia produkcyjne,
-Raw Materials Consumption,Zużycie surowców,
-Allow Multiple Material Consumption,Zezwalaj na wielokrotne zużycie materiałów,
-Backflush Raw Materials Based On,Płukanie surowce na podstawie,
-Material Transferred for Manufacture,Materiał Przeniesiony do Produkcji,
-Capacity Planning,Planowanie Pojemności,
-Disable Capacity Planning,Wyłącz planowanie wydajności,
-Allow Overtime,Pozwól na Nadgodziny,
-Allow Production on Holidays,Pozwól Produkcja na święta,
-Capacity Planning For (Days),Planowanie Pojemności Dla (dni),
-Default Warehouses for Production,Domyślne magazyny do produkcji,
-Default Work In Progress Warehouse,Domyślnie Work In Progress Warehouse,
-Default Finished Goods Warehouse,Magazyn wyrobów gotowych domyślne,
-Default Scrap Warehouse,Domyślny magazyn złomu,
-Overproduction Percentage For Sales Order,Procent nadprodukcji dla zamówienia sprzedaży,
-Overproduction Percentage For Work Order,Nadwyżka produkcyjna Procent zamówienia na pracę,
-Other Settings,Inne ustawienia,
-Update BOM Cost Automatically,Zaktualizuj automatycznie koszt BOM,
-Material Request Plan Item,Material Request Plan Item,
-Material Request Type,Typ zamówienia produktu,
-Material Issue,Wydanie materiałów,
-Customer Provided,Dostarczony Klient,
-Minimum Order Quantity,Minimalna ilość zamówienia,
-Default Workstation,Domyślne miejsce pracy,
-Production Plan,Plan produkcji,
-MFG-PP-.YYYY.-,MFG-PP-.RRRR.-,
-Get Items From,Pobierz zawartość z,
-Get Sales Orders,Pobierz zamówienia sprzedaży,
-Material Request Detail,Szczegółowy wniosek o materiał,
-Get Material Request,Uzyskaj Materiał Zamówienie,
-Material Requests,materiał Wnioski,
-Get Items For Work Order,Zdobądź przedmioty na zlecenie pracy,
-Material Request Planning,Planowanie zapotrzebowania materiałowego,
-Include Non Stock Items,Uwzględnij pozycje niepubliczne,
-Include Subcontracted Items,Uwzględnij elementy podwykonawstwa,
-Ignore Existing Projected Quantity,Ignoruj istniejącą przewidywaną ilość,
-"To know more about projected quantity, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">click here</a>.","Aby dowiedzieć się więcej o przewidywanej ilości, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">kliknij tutaj</a> .",
-Download Required Materials,Pobierz wymagane materiały,
-Get Raw Materials For Production,Zdobądź surowce do produkcji,
-Total Planned Qty,Całkowita planowana ilość,
-Total Produced Qty,Całkowita ilość wyprodukowanej,
-Material Requested,Żądany materiał,
-Production Plan Item,Przedmiot planu produkcji,
-Make Work Order for Sub Assembly Items,Wykonaj zlecenie pracy dla elementów podzespołu,
-"If enabled, system will create the work order for the exploded items against which BOM is available.","Jeśli ta opcja jest włączona, system utworzy zlecenie pracy dla rozstrzelonych elementów, dla których dostępna jest LM.",
-Planned Start Date,Planowana data rozpoczęcia,
-Quantity and Description,Ilość i opis,
-material_request_item,material_request_item,
-Product Bundle Item,Pakiet produktów Artykuł,
-Production Plan Material Request,Produkcja Plan Materiał Zapytanie,
-Production Plan Sales Order,Zamówienie sprzedaży plany produkcji,
-Sales Order Date,Data Zlecenia,
-Routing Name,Nazwa trasy,
-MFG-WO-.YYYY.-,MFG-WO-.RRRR.-,
-Item To Manufacture,Rzecz do wyprodukowania,
-Material Transferred for Manufacturing,Materiał Przeniesiony do Produkowania,
-Manufactured Qty,Ilość wyprodukowanych,
-Use Multi-Level BOM,Używaj wielopoziomowych zestawień materiałowych,
-Plan material for sub-assemblies,Materiał plan podzespołów,
-Skip Material Transfer to WIP Warehouse,Pomiń transfer materiałów do magazynu WIP,
-Check if material transfer entry is not required,"Sprawdź, czy nie ma konieczności wczytywania materiału",
-Backflush Raw Materials From Work-in-Progress Warehouse,Surowiec do płukania zwrotnego z magazynu w toku,
-Update Consumed Material Cost In Project,Zaktualizuj zużyty koszt materiałowy w projekcie,
-Warehouses,Magazyny,
-This is a location where raw materials are available.,"Jest to miejsce, w którym dostępne są surowce.",
-Work-in-Progress Warehouse,Magazyn z produkcją w toku,
-This is a location where operations are executed.,"Jest to miejsce, w którym wykonywane są operacje.",
-This is a location where final product stored.,"Jest to miejsce, w którym przechowywany jest produkt końcowy.",
-Scrap Warehouse,złom Magazyn,
-This is a location where scraped materials are stored.,"Jest to miejsce, w którym przechowywane są zeskrobane materiały.",
-Required Items,wymagane przedmioty,
-Actual Start Date,Rzeczywista data rozpoczęcia,
-Planned End Date,Planowana data zakończenia,
-Actual End Date,Rzeczywista Data Zakończenia,
-Operation Cost,Koszt operacji,
-Planned Operating Cost,Planowany koszt operacyjny,
-Actual Operating Cost,Rzeczywisty koszt operacyjny,
-Additional Operating Cost,Dodatkowy koszt operacyjny,
-Total Operating Cost,Całkowity koszt operacyjny,
-Manufacture against Material Request,Wytwarzanie przeciwko Materiały Zamówienie,
-Work Order Item,Pozycja zlecenia pracy,
-Available Qty at Source Warehouse,Dostępne ilości w magazynie źródłowym,
-Available Qty at WIP Warehouse,Dostępne ilości w magazynie WIP,
-Work Order Operation,Działanie zlecenia pracy,
-Operation Description,Opis operacji,
-Operation completed for how many finished goods?,Operacja zakończona na jak wiele wyrobów gotowych?,
-Work in Progress,Produkty w toku,
-Estimated Time and Cost,Szacowany czas i koszt,
-Planned Start Time,Planowany czas rozpoczęcia,
-Planned End Time,Planowany czas zakończenia,
-in Minutes,W ciągu kilku minut,
-Actual Time and Cost,Rzeczywisty Czas i Koszt,
-Actual Start Time,Rzeczywisty Czas Rozpoczęcia,
-Actual End Time,Rzeczywisty czas zakończenia,
-Updated via 'Time Log',"Aktualizowana przez ""Czas Zaloguj""",
-Actual Operation Time,Rzeczywisty Czas pracy,
-in Minutes\nUpdated via 'Time Log',"w minutach \n Aktualizacja poprzez ""Czas Zaloguj""",
-(Hour Rate / 60) * Actual Operation Time,(Godzina Kursy / 60) * Rzeczywista Czas pracy,
-Workstation Name,Nazwa stacji roboczej,
-Production Capacity,Moce produkcyjne,
-Operating Costs,Koszty operacyjne,
-Electricity Cost,Koszt energii elekrycznej,
-per hour,na godzinę,
-Consumable Cost,Koszt Konsumpcyjny,
-Rent Cost,Koszt Wynajmu,
-Wages,Zarobki,
-Wages per hour,Zarobki na godzinę,
-Net Hour Rate,Stawka godzinowa Netto,
-Workstation Working Hour,Godziny robocze Stacji Roboczej,
-Certification Application,Aplikacja certyfikacyjna,
-Name of Applicant,Nazwa wnioskodawcy,
-Certification Status,Status certyfikacji,
-Yet to appear,Jeszcze się pojawi,
-Certified,Atestowany,
-Not Certified,Brak certyfikatu,
-USD,USD,
-INR,INR,
-Certified Consultant,Certyfikowany konsultant,
-Name of Consultant,Imię i nazwisko konsultanta,
-Certification Validity,Ważność certyfikacji,
-Discuss ID,Omów ID,
-GitHub ID,Identyfikator GitHub,
-Non Profit Manager,Non Profit Manager,
-Chapter Head,Rozdział Głowy,
-Meetup Embed HTML,Meetup Osadź HTML,
-chapters/chapter_name\nleave blank automatically set after saving chapter.,rozdziały / chapter_name pozostaw puste puste automatycznie ustawione po zapisaniu rozdziału.,
-Chapter Members,Członkowie rozdziału,
-Members,Członkowie,
-Chapter Member,Członek rozdziału,
-Website URL,URL strony WWW,
-Leave Reason,Powód Nieobecności,
-Donor Name,Nazwa dawcy,
-Donor Type,Rodzaj dawcy,
-Withdrawn,Zamknięty w sobie,
-Grant Application Details ,Przyznaj szczegóły aplikacji,
-Grant Description,Opis dotacji,
-Requested Amount,Wnioskowana kwota,
-Has any past Grant Record,Ma jakąkolwiek przeszłość Grant Record,
-Show on Website,Pokaż na stronie internetowej,
-Assessment  Mark (Out of 10),Ocena (na 10),
-Assessment  Manager,Menedżer oceny,
-Email Notification Sent,Wysłane powiadomienie e-mail,
-NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
-Membership Expiry Date,Data wygaśnięcia członkostwa,
-Razorpay Details,Szczegóły Razorpay,
-Subscription ID,Identyfikator subskrypcji,
-Customer ID,Identyfikator klienta,
-Subscription Activated,Subskrypcja aktywowana,
-Subscription Start ,Rozpocznij subskrypcję,
-Subscription End,Koniec subskrypcji,
-Non Profit Member,Członek non profit,
-Membership Status,Status członkostwa,
-Member Since,Członek od,
-Payment ID,Identyfikator płatności,
-Membership Settings,Ustawienia członkostwa,
-Enable RazorPay For Memberships,Włącz RazorPay dla członkostwa,
-RazorPay Settings,Ustawienia RazorPay,
-Billing Cycle,Cykl rozliczeniowy,
-Billing Frequency,Częstotliwość rozliczeń,
-"The number of billing cycles for which the customer should be charged. For example, if a customer is buying a 1-year membership that should be billed on a monthly basis, this value should be 12.","Liczba cykli rozliczeniowych, za które klient powinien zostać obciążony. Na przykład, jeśli klient kupuje roczne członkostwo, które powinno być rozliczane co miesiąc, ta wartość powinna wynosić 12.",
-Razorpay Plan ID,Identyfikator planu Razorpay,
-Volunteer Name,Nazwisko wolontariusza,
-Volunteer Type,Typ wolontariusza,
-Availability and Skills,Dostępność i umiejętności,
-Availability,Dostępność,
-Weekends,Weekendy,
-Availability Timeslot,Dostępność Timeslot,
-Morning,Ranek,
-Afternoon,Popołudnie,
-Evening,Wieczór,
-Anytime,W każdej chwili,
-Volunteer Skills,Umiejętności ochotnicze,
-Volunteer Skill,Wolontariat,
-Homepage,Strona główna,
-Hero Section Based On,Sekcja bohatera na podstawie,
-Homepage Section,Sekcja strony głównej,
-Hero Section,Sekcja bohatera,
-Tag Line,Slogan reklamowy,
-Company Tagline for website homepage,Slogan reklamowy firmy na głównej stronie,
-Company Description for website homepage,Opis firmy na stronie głównej,
-Homepage Slideshow,Pokaz slajdów na stronie głównej,
-"URL for ""All Products""",URL do wszystkich produktów,
-Products to be shown on website homepage,Produkty przeznaczone do pokazania na głównej stronie,
-Homepage Featured Product,Ciekawa Strona produktu,
-route,trasa,
-Section Based On,Sekcja na podstawie,
-Section Cards,Karty sekcji,
-Number of Columns,Liczba kolumn,
-Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,"Liczba kolumn dla tej sekcji. 3 wiersze zostaną wyświetlone w wierszu, jeśli wybierzesz 3 kolumny.",
-Section HTML,Sekcja HTML,
-Use this field to render any custom HTML in the section.,To pole służy do renderowania dowolnego niestandardowego kodu HTML w sekcji.,
-Section Order,Kolejność sekcji,
-"Order in which sections should appear. 0 is first, 1 is second and so on.","Kolejność, w której sekcje powinny się pojawić. 0 jest pierwsze, 1 jest drugie i tak dalej.",
-Homepage Section Card,Strona główna Karta sekcji,
-Subtitle,Podtytuł,
-Products Settings,produkty Ustawienia,
-Home Page is Products,Strona internetowa firmy jest produktem,
-"If checked, the Home page will be the default Item Group for the website","Jeśli zaznaczone, strona główna będzie Grupa domyślna pozycja na stronie",
-Show Availability Status,Pokaż status dostępności,
-Product Page,Strona produktu,
-Products per Page,Produkty na stronę,
-Enable Field Filters,Włącz filtry pola,
-Item Fields,Pola przedmiotów,
-Enable Attribute Filters,Włącz filtry atrybutów,
-Attributes,Atrybuty,
-Hide Variants,Ukryj warianty,
-Website Attribute,Atrybut strony,
-Attribute,Atrybut,
-Website Filter Field,Pole filtru witryny,
-Activity Cost,Aktywny Koszt,
-Billing Rate,Kursy rozliczeniowe,
-Costing Rate,Wskaźnik zestawienia kosztów,
-title,tytuł,
-Projects User,Użytkownik projektu,
-Default Costing Rate,Domyślnie Costing Cena,
-Default Billing Rate,Domyślnie Cena płatności,
-Dependent Task,Zadanie zależne,
-Project Type,Typ projektu,
-% Complete Method,Kompletna Metoda%,
-Task Completion,zadanie Zakończenie,
-Task Progress,Postęp wykonywania zadania,
-% Completed,% ukończone,
-From Template,Z szablonu,
-Project will be accessible on the website to these users,Projekt będzie dostępny na stronie internetowej dla tych użytkowników,
-Copied From,Skopiowano z,
-Start and End Dates,Daty rozpoczęcia i zakończenia,
-Actual Time (in Hours),Rzeczywisty czas (w godzinach),
-Costing and Billing,Kalkulacja kosztów i fakturowanie,
-Total Costing Amount (via Timesheets),Łączna kwota kosztów (za pośrednictwem kart pracy),
-Total Expense Claim (via Expense Claims),Łączny koszt roszczenie (przez zwrot kosztów),
-Total Purchase Cost (via Purchase Invoice),Całkowity koszt zakupu (faktura zakupu za pośrednictwem),
-Total Sales Amount (via Sales Order),Całkowita kwota sprzedaży (poprzez zamówienie sprzedaży),
-Total Billable Amount (via Timesheets),Całkowita kwota do naliczenia (za pośrednictwem kart pracy),
-Total Billed Amount (via Sales Invoices),Całkowita kwota faktury (za pośrednictwem faktur sprzedaży),
-Total Consumed Material Cost  (via Stock Entry),Całkowity koszt materiałów konsumpcyjnych (poprzez wprowadzenie do magazynu),
-Gross Margin,Marża brutto,
-Gross Margin %,Marża brutto %,
-Monitor Progress,Monitorowanie postępu,
-Collect Progress,Zbierz postęp,
-Frequency To Collect Progress,Częstotliwość zbierania postępów,
-Twice Daily,Dwa razy dziennie,
-First Email,Pierwszy e-mail,
-Second Email,Drugi e-mail,
-Time to send,Czas wysłać,
-Day to Send,Dzień na wysłanie,
-Message will be sent to the users to get their status on the Project,Wiadomość zostanie wysłana do użytkowników w celu uzyskania ich statusu w Projekcie,
-Projects Manager,Kierownik Projektów,
-Project Template,Szablon projektu,
-Project Template Task,Zadanie szablonu projektu,
-Begin On (Days),Rozpocznij od (dni),
-Duration (Days),Czas trwania (dni),
-Project Update,Aktualizacja projektu,
-Project User,Użytkownik projektu,
-View attachments,Wyświetl załączniki,
-Projects Settings,Ustawienia projektów,
-Ignore Workstation Time Overlap,Zignoruj nakładanie się czasu w stacji roboczej,
-Ignore User Time Overlap,Zignoruj nakładanie się czasu użytkownika,
-Ignore Employee Time Overlap,Zignoruj nakładanie się czasu pracownika,
-Weight,Waga,
-Parent Task,Zadanie rodzica,
-Timeline,Oś czasu,
-Expected Time (in hours),Oczekiwany czas (w godzinach),
-% Progress,% Postęp,
-Is Milestone,Jest Milestone,
-Task Description,Opis zadania,
-Dependencies,Zależności,
-Dependent Tasks,Zadania zależne,
-Depends on Tasks,Zależy Zadania,
-Actual Start Date (via Time Sheet),Faktyczna data rozpoczęcia (przez czas arkuszu),
-Actual Time (in hours),Rzeczywisty czas (w godzinach),
-Actual End Date (via Time Sheet),Faktyczna data zakończenia (przez czas arkuszu),
-Total Costing Amount (via Time Sheet),Całkowita kwota Costing (przez czas arkuszu),
-Total Expense Claim (via Expense Claim),Razem zwrot kosztów (przez zwrot kosztów),
-Total Billing Amount (via Time Sheet),Całkowita kwota płatności (poprzez Czas Sheet),
-Review Date,Data Przeglądu,
-Closing Date,Data zamknięcia,
-Task Depends On,Zadanie zależne od,
-Task Type,Typ zadania,
-TS-.YYYY.-,TS-.YYYY.-,
-Employee Detail,Szczegóły urzędnik,
-Billing Details,Szczegóły płatności,
-Total Billable Hours,Całkowita liczba godzin rozliczanych,
-Total Billed Hours,Wszystkich Zafakturowane Godziny,
-Total Costing Amount,Łączna kwota Costing,
-Total Billable Amount,Całkowita kwota podlegająca rozliczeniom,
-Total Billed Amount,Kwota całkowita Zapowiadane,
-% Amount Billed,% wartości rozliczonej,
-Hrs,godziny,
-Costing Amount,Kwota zestawienia kosztów,
-Corrective/Preventive,Korygujące / zapobiegawcze,
-Corrective,Poprawczy,
-Preventive,Zapobiegawczy,
-Resolution,Rozstrzygnięcie,
-Resolutions,Postanowienia,
-Quality Action Resolution,Rezolucja dotycząca jakości działania,
-Quality Feedback Parameter,Parametr sprzężenia zwrotnego jakości,
-Quality Feedback Template Parameter,Parametr szablonu opinii o jakości,
-Quality Goal,Cel jakości,
-Monitoring Frequency,Monitorowanie częstotliwości,
-Weekday,Dzień powszedni,
-Objectives,Cele,
-Quality Goal Objective,Cel celu jakości,
-Objective,Cel,
-Agenda,Program,
-Minutes,Minuty,
-Quality Meeting Agenda,Agenda spotkania jakości,
-Quality Meeting Minutes,Protokół spotkania jakości,
-Minute,Minuta,
-Parent Procedure,Procedura rodzicielska,
-Processes,Procesy,
-Quality Procedure Process,Proces procedury jakości,
-Process Description,Opis procesu,
-Link existing Quality Procedure.,Połącz istniejącą procedurę jakości.,
-Additional Information,Dodatkowe informacje,
-Quality Review Objective,Cel przeglądu jakości,
-DATEV Settings,Ustawienia DATEV,
-Regional,Regionalny,
-Consultant ID,ID konsultanta,
-GST HSN Code,Kod GST HSN,
-HSN Code,Kod HSN,
-GST Settings,Ustawienia GST,
-GST Summary,Podsumowanie GST,
-GSTIN Email Sent On,Wysłano pocztę GSTIN,
-GST Accounts,Konta GST,
-B2C Limit,Limit B2C,
-Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Ustaw wartość faktury dla B2C. B2CL i B2CS obliczane na podstawie tej wartości faktury.,
-GSTR 3B Report,Raport GSTR 3B,
-January,styczeń,
-February,luty,
-March,Marsz,
-April,kwiecień,
-May,Maj,
-June,czerwiec,
-July,lipiec,
-August,sierpień,
-September,wrzesień,
-October,październik,
-November,listopad,
-December,grudzień,
-JSON Output,Wyjście JSON,
-Invoices with no Place Of Supply,Faktury bez miejsca dostawy,
-Import Supplier Invoice,Importuj fakturę od dostawcy,
-Invoice Series,Seria faktur,
-Upload XML Invoices,Prześlij faktury XML,
-Zip File,Plik zip,
-Import Invoices,Importuj faktury,
-Click on Import Invoices button once the zip file has been attached to the document. Any errors related to processing will be shown in the Error Log.,Kliknij przycisk Importuj faktury po dołączeniu pliku zip do dokumentu. Wszelkie błędy związane z przetwarzaniem zostaną wyświetlone w dzienniku błędów.,
-Lower Deduction Certificate,Certyfikat niższego potrącenia,
-Certificate Details,Szczegóły certyfikatu,
-194A,194A,
-194C,194C,
-194D,194D,
-194H,194H,
-194I,194I,
-194J,194J,
-194LA,194LA,
-194LBB,194LBB,
-194LBC,194LBC,
-Certificate No,Certyfikat nr,
-Deductee Details,Szczegóły dotyczące odliczonego,
-PAN No,Nr PAN,
-Validity Details,Szczegóły dotyczące ważności,
-Rate Of TDS As Per Certificate,Stawka TDS zgodnie z certyfikatem,
-Certificate Limit,Limit certyfikatu,
-Invoice Series Prefix,Prefiks serii faktur,
-Active Menu,Aktywne menu,
-Restaurant Menu,Menu restauracji,
-Price List (Auto created),Cennik (utworzony automatycznie),
-Restaurant Manager,Menadżer restauracji,
-Restaurant Menu Item,Menu restauracji,
-Restaurant Order Entry,Wprowadzanie do restauracji,
-Restaurant Table,Stolik Restauracyjny,
-Click Enter To Add,Kliknij Enter To Add,
-Last Sales Invoice,Ostatnia sprzedaż faktury,
-Current Order,Aktualne zamówienie,
-Restaurant Order Entry Item,Restauracja Order Entry Pozycja,
-Served,Serwowane,
-Restaurant Reservation,Rezerwacja restauracji,
-Waitlisted,Na liście Oczekujących,
-No Show,Brak pokazu,
-No of People,Liczba osób,
-Reservation Time,Czas rezerwacji,
-Reservation End Time,Rezerwacja Koniec czasu,
-No of Seats,Liczba miejsc,
-Minimum Seating,Minimalne miejsce siedzące,
-"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Śledź kampanię sprzedażową. Śledź Tropy, Wyceny, Zamówienia Sprzedaży etc. z kampanii by zmierzyć zwrot z inwestycji.",
-SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
-Campaign Schedules,Harmonogramy kampanii,
-Buyer of Goods and Services.,Nabywca Towarów i Usług.,
-CUST-.YYYY.-,CUST-.YYYY.-.-,
-Default Company Bank Account,Domyślne firmowe konto bankowe,
-From Lead,Od śladu,
-Account Manager,Menadżer konta,
-Allow Sales Invoice Creation Without Sales Order,Zezwalaj na tworzenie faktur sprzedaży bez zamówienia sprzedaży,
-Allow Sales Invoice Creation Without Delivery Note,Zezwalaj na tworzenie faktur sprzedaży bez potwierdzenia dostawy,
-Default Price List,Domyślny cennik,
-Primary Address and Contact Detail,Główny adres i dane kontaktowe,
-"Select, to make the customer searchable with these fields","Wybierz, aby klient mógł wyszukać za pomocą tych pól",
-Customer Primary Contact,Kontakt główny klienta,
-"Reselect, if the chosen contact is edited after save","Ponownie wybierz, jeśli wybrany kontakt jest edytowany po zapisaniu",
-Customer Primary Address,Główny adres klienta,
-"Reselect, if the chosen address is edited after save","Ponownie wybierz, jeśli wybrany adres jest edytowany po zapisaniu",
-Primary Address,adres główny,
-Mention if non-standard receivable account,"Wskazać, jeśli niestandardowe konto należności",
-Credit Limit and Payment Terms,Limit kredytowy i warunki płatności,
-Additional information regarding the customer.,Dodatkowe informacje na temat klienta.,
-Sales Partner and Commission,Partner sprzedaży i Prowizja,
-Commission Rate,Wartość prowizji,
-Sales Team Details,Szczegóły dotyczące Teamu Sprzedażowego,
-Customer POS id,Identyfikator punktu sprzedaży klienta,
-Customer Credit Limit,Limit kredytu klienta,
-Bypass Credit Limit Check at Sales Order,Pomiń limit kredytowy w zleceniu klienta,
-Industry Type,Typ Przedsiębiorstwa,
-MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
-Installation Date,Data instalacji,
-Installation Time,Czas instalacji,
-Installation Note Item,,
-Installed Qty,Liczba instalacji,
-Lead Source,,
-Period Start Date,Data rozpoczęcia okresu,
-Period End Date,Data zakończenia okresu,
-Cashier,Kasjer,
-Difference,Różnica,
-Modes of Payment,Tryby płatności,
-Linked Invoices,Powiązane faktury,
-POS Closing Voucher Details,Szczegóły kuponu zamykającego POS,
-Collected Amount,Zebrana kwota,
-Expected Amount,Oczekiwana kwota,
-POS Closing Voucher Invoices,Faktury z zamknięciem kuponu,
-Quantity of Items,Ilość przedmiotów,
-"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. \n\nThe package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".\n\nFor Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Product Bundle Item.\n\nNote: BOM = Bill of Materials","Łączna grupa przedmioty ** ** ** Przedmiot do innego **. Jest to przydatne, jeśli łączenie pewnej ** przedmioty ** w pakiet i utrzymania zapasów pakowanych ** rzeczy ** a nie sumę ** rzecz **. Pakiet ** Pozycja ** będzie miał ""Czy Pozycja Zdjęcie"", jak ""Nie"" i ""Czy Sales Item"", jak ""Tak"". Dla przykładu: Jeśli sprzedajesz Laptopy i plecaki oddzielnie i mają specjalną cenę, jeśli klient kupuje oba, a następnie Laptop + Plecak będzie nowy Bundle wyrobów poz. Uwaga: ZM = Zestawienie Materiałów",
-Parent Item,Element nadrzędny,
-List items that form the package.,Lista elementów w pakiecie,
-SAL-QTN-.YYYY.-,SAL-QTN-.RRRR.-,
-Quotation To,Wycena dla,
-Rate at which customer's currency is converted to company's base currency,Stawka przy użyciu której Waluta Klienta jest konwertowana do podstawowej waluty firmy,
-Rate at which Price list currency is converted to company's base currency,Stawka przy użyciu której waluta Listy Cen jest konwertowana do podstawowej waluty firmy,
-Additional Discount and Coupon Code,Dodatkowy kod rabatowy i kuponowy,
-Referral Sales Partner,Polecony partner handlowy,
-In Words will be visible once you save the Quotation.,,
-Term Details,Szczegóły warunków,
-Quotation Item,Przedmiot oferty,
-Against Doctype,,
-Against Docname,,
-Additional Notes,Dodatkowe uwagi,
-SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
-Skip Delivery Note,Pomiń dowód dostawy,
-In Words will be visible once you save the Sales Order.,"Słownie, będzie widoczne w Zamówieniu Sprzedaży, po zapisaniu",
-Track this Sales Order against any Project,Śledź zamówienie sprzedaży w każdym projekcie,
-Billing and Delivery Status,Fakturowanie i status dostawy,
-Not Delivered,Nie dostarczony,
-Fully Delivered,Całkowicie dostarczono,
-Partly Delivered,Częściowo Dostarczono,
-Not Applicable,Nie dotyczy,
-%  Delivered,% dostarczono,
-% of materials delivered against this Sales Order,% materiałów dostarczonych w ramach zlecenia sprzedaży,
-% of materials billed against this Sales Order,% materiałów rozliczonych w ramach tego zlecenia sprzedaży,
-Not Billed,Nie zaksięgowany,
-Fully Billed,Całkowicie Rozliczone,
-Partly Billed,Częściowo Zapłacono,
-Ensure Delivery Based on Produced Serial No,Zapewnij dostawę na podstawie wyprodukowanego numeru seryjnego,
-Supplier delivers to Customer,Dostawca dostarcza Klientowi,
-Delivery Warehouse,Magazyn Dostawa,
-Planned Quantity,Planowana ilość,
-For Production,Dla Produkcji,
-Work Order Qty,Ilość zlecenia pracy,
-Produced Quantity,Wyprodukowana ilość,
-Used for Production Plan,Używane do Planu Produkcji,
-Sales Partner Type,Typ partnera handlowego,
-Contact No.,Numer Kontaktu,
-Contribution (%),Udział (%),
-Contribution to Net Total,,
-Selling Settings,Ustawienia sprzedaży,
-Settings for Selling Module,Ustawienia modułu sprzedaży,
-Customer Naming By,,
-Campaign Naming By,Konwencja nazewnictwa Kampanii przez,
-Default Customer Group,Domyślna grupa klientów,
-Default Territory,Domyślne terytorium,
-Close Opportunity After Days,Po blisko Szansa Dni,
-Default Quotation Validity Days,Domyślna ważność oferty,
-Sales Update Frequency,Częstotliwość aktualizacji sprzedaży,
-Each Transaction,Każda transakcja,
-SMS Center,Centrum SMS,
-Send To,Wyślij do,
-All Contact,Wszystkie dane Kontaktu,
-All Customer Contact,Wszystkie dane kontaktowe klienta,
-All Supplier Contact,Dane wszystkich dostawców,
-All Sales Partner Contact,Wszystkie dane kontaktowe Partnera Sprzedaży,
-All Lead (Open),Wszystkie Leady (Otwarte),
-All Employee (Active),Wszyscy pracownicy (aktywni),
-All Sales Person,Wszyscy Sprzedawcy,
-Create Receiver List,Stwórz listę odbiorców,
-Receiver List,Lista odbiorców,
-Messages greater than 160 characters will be split into multiple messages,Wiadomości dłuższe niż 160 znaków zostaną podzielone na kilka wiadomości,
-Total Characters,Wszystkich Postacie,
-Total Message(s),Razem ilość wiadomości,
-Authorization Control,Kontrola Autoryzacji,
-Authorization Rule,Reguła autoryzacji,
-Average Discount,Średni Rabat,
-Customerwise Discount,Zniżka dla klienta,
-Itemwise Discount,Pozycja Rabat automatyczny,
-Customer or Item,Klient lub przedmiotu,
-Customer / Item Name,Klient / Nazwa Przedmiotu,
-Authorized Value,Autoryzowany Wartość,
-Applicable To (Role),Stosowne dla (Rola),
-Applicable To (Employee),Stosowne dla (Pracownik),
-Applicable To (User),Stosowne dla (Użytkownik),
-Applicable To (Designation),Stosowne dla (Nominacja),
-Approving Role (above authorized value),Zatwierdzanie rolę (powyżej dopuszczonego wartości),
-Approving User  (above authorized value),Zatwierdzanie autoryzowanego użytkownika (powyżej wartości),
-Brand Defaults,Domyślne marki,
-Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Osobowość prawna / Filia w oddzielny planu kont należących do Organizacji.,
-Change Abbreviation,Zmień Skrót,
-Parent Company,Przedsiębiorstwo macierzyste,
-Default Values,Domyślne wartości,
-Default Holiday List,Domyślna lista urlopowa,
-Default Selling Terms,Domyślne warunki sprzedaży,
-Default Buying Terms,Domyślne warunki zakupu,
-Create Chart Of Accounts Based On,Tworzenie planu kont w oparciu o,
-Standard Template,Szablon Standardowy,
-Existing Company,Istniejąca firma,
-Chart Of Accounts Template,Szablon planu kont,
-Existing Company ,istniejące firmy,
-Date of Establishment,Data założenia,
-Sales Settings,Ustawienia sprzedaży,
-Monthly Sales Target,Miesięczny cel sprzedaży,
-Sales Monthly History,Historia miesięczna sprzedaży,
-Transactions Annual History,Historia transakcji,
-Total Monthly Sales,Łączna miesięczna sprzedaż,
-Default Cash Account,Domyślne Konto Gotówkowe,
-Default Receivable Account,Domyślnie konto Rozrachunki z odbiorcami,
-Round Off Cost Center,Zaokrąglenia - Centrum Kosztów,
-Discount Allowed Account,Konto Dozwolone,
-Discount Received Account,Konto otrzymane z rabatem,
-Exchange Gain / Loss Account,Wymiana Zysk / strat,
-Unrealized Exchange Gain/Loss Account,Niezrealizowane konto zysku / straty z wymiany,
-Allow Account Creation Against Child Company,Zezwól na tworzenie konta przeciwko firmie podrzędnej,
-Default Payable Account,Domyślne konto Rozrachunki z dostawcami,
-Default Employee Advance Account,Domyślne konto Advance pracownika,
-Default Cost of Goods Sold Account,Domyślne Konto Wartości Dóbr Sprzedanych,
-Default Income Account,Domyślne konto przychodów,
-Default Deferred Revenue Account,Domyślne konto odroczonego przychodu,
-Default Deferred Expense Account,Domyślne konto odroczonego kosztu,
-Default Payroll Payable Account,Domyślny Płace Płatne konta,
-Default Expense Claim Payable Account,Rachunek wymagalny zapłaty domyślnego kosztu,
-Stock Settings,Ustawienia magazynu,
-Enable Perpetual Inventory,Włącz wieczne zapasy,
-Default Inventory Account,Domyślne konto zasobów reklamowych,
-Stock Adjustment Account,Konto korekty,
-Fixed Asset Depreciation Settings,Ustawienia Amortyzacja środka trwałego,
-Series for Asset Depreciation Entry (Journal Entry),Seria dla pozycji amortyzacji aktywów (wpis w czasopiśmie),
-Gain/Loss Account on Asset Disposal,Konto Zysk / Strata na Aktywów pozbywaniu,
-Asset Depreciation Cost Center,Zaleta Centrum Amortyzacja kosztów,
-Budget Detail,Szczegóły Budżetu,
-Exception Budget Approver Role,Rola zatwierdzającego wyjątku dla budżetu,
-Company Info,Informacje o firmie,
-For reference only.,Wyłącznie w celach informacyjnych.,
-Company Logo,Logo firmy,
-Date of Incorporation,Data przyłączenia,
-Date of Commencement,Data rozpoczęcia,
-Phone No,Nr telefonu,
-Company Description,Opis Firmy,
-Registration Details,Szczegóły Rejestracji,
-Company registration numbers for your reference. Tax numbers etc.,,
-Delete Company Transactions,Usuń Transakcje Spółki,
-Currency Exchange,Wymiana Walut,
-Specify Exchange Rate to convert one currency into another,Określ Kursy walut konwersji jednej waluty w drugą,
-From Currency,Od Waluty,
-To Currency,Do przewalutowania,
-For Buying,Do kupienia,
-For Selling,Do sprzedania,
-Customer Group Name,Nazwa Grupy Klientów,
-Parent Customer Group,Nadrzędna Grupa Klientów,
-Only leaf nodes are allowed in transaction,,
-Mention if non-standard receivable account applicable,"Wspomnieć, jeśli nie standardowe konto należności dotyczy",
-Credit Limits,Limity kredytowe,
-Email Digest,przetwarzanie emaila,
-Send regular summary reports via Email.,Wyślij regularne raporty podsumowujące poprzez e-mail.,
-Email Digest Settings,ustawienia przetwarzania maila,
-How frequently?,Jak często?,
-Next email will be sent on:,Kolejny e-mali zostanie wysłany w dniu:,
-Note: Email will not be sent to disabled users,Uwaga: E-mail nie zostanie wysłany do nieaktywnych użytkowników,
-Profit & Loss,Rachunek zysków i strat,
-New Income,Nowy dochodowy,
-New Expenses,Nowe wydatki,
-Annual Income,Roczny dochód,
-Annual Expenses,roczne koszty,
-Bank Balance,Saldo bankowe,
-Bank Credit Balance,Saldo kredytu bankowego,
-Receivables,Należności,
-Payables,Zobowiązania,
-Sales Orders to Bill,Zlecenia sprzedaży do rachunku,
-Purchase Orders to Bill,Zamówienia zakupu do rachunku,
-New Sales Orders,,
-New Purchase Orders,,
-Sales Orders to Deliver,Zlecenia sprzedaży do realizacji,
-Purchase Orders to Receive,Zamówienia zakupu do odbioru,
-New Purchase Invoice,Nowa faktura zakupu,
-New Quotations,Nowa oferta,
-Open Quotations,Otwarte oferty,
-Open Issues,Otwarte kwestie,
-Open Projects,Otwarte projekty,
-Purchase Orders Items Overdue,Przedmioty zamówienia przeterminowane,
-Upcoming Calendar Events,Nadchodzące wydarzenia w kalendarzu,
-Open To Do,Otwórz do zrobienia,
-Add Quote,Dodaj Cytat,
-Global Defaults,Globalne wartości domyślne,
-Default Company,Domyślna Firma,
-Current Fiscal Year,Obecny rok fiskalny,
-Default Distance Unit,Domyślna jednostka odległości,
-Hide Currency Symbol,Ukryj symbol walutowy,
-Do not show any symbol like $ etc next to currencies.,"Nie pokazuj żadnych symboli przy walutach, takich jak $",
-"If disable, 'Rounded Total' field will not be visible in any transaction","Jeśli wyłączone, pozycja 'Końcowa zaokrąglona suma' nie będzie widoczna w żadnej transakcji",
-Disable In Words,Wyłącz w słowach,
-"If disable, 'In Words' field will not be visible in any transaction",Jeśli wyłączyć &quot;w słowach&quot; pole nie będzie widoczne w każdej transakcji,
-Item Classification,Pozycja Klasyfikacja,
-General Settings,Ustawienia ogólne,
-Item Group Name,Element Nazwa grupy,
-Parent Item Group,Grupa Elementu nadrzędnego,
-Item Group Defaults,Domyślne grupy artykułów,
-Item Tax,Podatek dla tej pozycji,
-Check this if you want to show in website,Zaznacz czy chcesz uwidocznić to na stronie WWW,
-Show this slideshow at the top of the page,Pokaż slideshow na górze strony,
-HTML / Banner that will show on the top of product list.,"HTML / Banner, który pokaże się na górze listy produktów.",
-Set prefix for numbering series on your transactions,Ustaw prefiks dla numeracji serii na swoich transakcji,
-Setup Series,Konfigurowanie serii,
-Select Transaction,Wybierz Transakcję,
-Help HTML,Pomoc HTML,
-Series List for this Transaction,Lista serii dla tej transakcji,
-User must always select,Użytkownik musi zawsze zaznaczyć,
-Check this if you want to force the user to select a series before saving. There will be no default if you check this.,,
-Update Series,Zaktualizuj Serię,
-Change the starting / current sequence number of an existing series.,Zmień początkowy / obecny numer seryjny istniejącej serii.,
-Prefix,Prefiks,
-Current Value,Bieżąca Wartość,
-This is the number of the last created transaction with this prefix,Jest to numer ostatniej transakcji utworzonego z tym prefiksem,
-Update Series Number,Zaktualizuj Numer Serii,
-Quotation Lost Reason,Utracony Powód Wyceny,
-A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,"Dystrybutor strona trzecia / handlowiec / prowizji agenta / partner / sprzedawcę, który sprzedaje produkty firm z tytułu prowizji.",
-Sales Partner Name,Imię Partnera Sprzedaży,
-Partner Type,Typ Partnera,
-Address & Contacts,Adresy i kontakty,
-Address Desc,Opis adresu,
-Contact Desc,Opis kontaktu,
-Sales Partner Target,Cel Partnera Sprzedaży,
-Targets,Cele,
-Show In Website,Pokaż na stronie internetowej,
-Referral Code,kod polecającego,
-To Track inbound purchase,Aby śledzić zakupy przychodzące,
-Logo,Logo,
-Partner website,Strona partnera,
-All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,"Wszystkie transakcje sprzedaży mogą być oznaczone przed wieloma ** Osoby sprzedaży **, dzięki czemu można ustawić i monitorować cele.",
-Name and Employee ID,Imię i Identyfikator Pracownika,
-Sales Person Name,Imię Sprzedawcy,
-Parent Sales Person,Nadrzędny Przedstawiciel Handlowy,
-Select company name first.,Wybierz najpierw nazwę firmy,
-Sales Person Targets,Cele Sprzedawcy,
-Set targets Item Group-wise for this Sales Person.,,
-Supplier Group Name,Nazwa grupy dostawcy,
-Parent Supplier Group,Rodzicielska grupa dostawców,
-Target Detail,Szczegóły celu,
-Target Qty,Ilość docelowa,
-Target  Amount,Kwota docelowa,
-Target Distribution,Dystrybucja docelowa,
-"Standard Terms and Conditions that can be added to Sales and Purchases.\n\nExamples:\n\n1. Validity of the offer.\n1. Payment Terms (In Advance, On Credit, part advance etc).\n1. What is extra (or payable by the Customer).\n1. Safety / usage warning.\n1. Warranty if any.\n1. Returns Policy.\n1. Terms of shipping, if applicable.\n1. Ways of addressing disputes, indemnity, liability, etc.\n1. Address and Contact of your Company.","Standardowe Zasady i warunki, które mogą być dodawane do sprzedaży i zakupów.\n\n Przykłady: \n\n 1. Ważność oferty.\n 1. Warunki płatności (z góry, na kredyt, część zaliczki itp).\n 1. Co to jest ekstra (lub płatne przez Klienta).\n 1. Bezpieczeństwo / ostrzeżenie wykorzystanie.\n 1. Gwarancja jeśli w ogóle.\n 1. Zwraca Polityka.\n 1. Warunki wysyłki, jeśli dotyczy.\n 1. Sposobów rozwiązywania sporów, odszkodowania, odpowiedzialność itp \n 1. Adres i kontakt z Twojej firmy.",
-Applicable Modules,Odpowiednie moduły,
-Terms and Conditions Help,Warunki Pomoc,
-Classification of Customers by region,Klasyfikacja Klientów od regionu,
-Territory Name,Nazwa Regionu,
-Parent Territory,Nadrzędne terytorium,
-Territory Manager,Kierownik Regionalny,
-For reference,Dla referencji,
-Territory Targets,Cele Regionalne,
-Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,,
-UOM Name,Nazwa Jednostki Miary,
-Check this to disallow fractions. (for Nos),Zaznacz to by zakazać ułamków (dla liczby jednostek),
-Website Item Group,Grupa przedmiotów strony WWW,
-Cross Listing of Item in multiple groups,Krzyż Notowania pozycji w wielu grupach,
-Default settings for Shopping Cart,Domyślne ustawienia koszyku,
-Enable Shopping Cart,Włącz Koszyk,
-Display Settings,,
-Show Public Attachments,Pokaż załączniki publiczne,
-Show Price,Pokaż cenę,
-Show Stock Availability,Pokaż dostępność zapasów,
-Show Contact Us Button,Pokaż przycisk Skontaktuj się z nami,
-Show Stock Quantity,Pokaż ilość zapasów,
-Show Apply Coupon Code,Pokaż zastosuj kod kuponu,
-Allow items not in stock to be added to cart,Zezwól na dodanie produktów niedostępnych w magazynie do koszyka,
-Prices will not be shown if Price List is not set,"Ceny nie będą wyświetlane, jeśli Cennik nie jest ustawiony",
-Quotation Series,Serie Wyeceny,
-Checkout Settings,Zamówienie Ustawienia,
-Enable Checkout,Włącz kasę,
-Payment Success Url,Płatność Sukces URL,
-After payment completion redirect user to selected page.,Po dokonaniu płatności przekierować użytkownika do wybranej strony.,
-Batch Details,Szczegóły partii,
-Batch ID,Identyfikator Partii,
-image,wizerunek,
-Parent Batch,Nadrzędna partia,
-Manufacturing Date,Data produkcji,
-Batch Quantity,Ilość partii,
-Batch UOM,UOM partii,
-Source Document Type,Typ dokumentu źródłowego,
-Source Document Name,Nazwa dokumentu źródłowego,
-Batch Description,Opis partii,
-Bin,Kosz,
-Reserved Quantity,Zarezerwowana ilość,
-Actual Quantity,Rzeczywista Ilość,
-Requested Quantity,Oczekiwana ilość,
-Reserved Qty for sub contract,Zarezerwowana ilość na podwykonawstwo,
-Moving Average Rate,Cena Średnia Ruchoma,
-FCFS Rate,Pierwsza rata,
-Customs Tariff Number,Numer taryfy celnej,
-Tariff Number,Numer taryfy,
-Delivery To,Dostawa do,
-MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
-Is Return,Czy Wróć,
-Issue Credit Note,Problem Uwaga kredytowa,
-Return Against Delivery Note,Powrót Przeciwko dostawy nocie,
-Customer's Purchase Order No,Numer Zamówienia Zakupu Klienta,
-Billing Address Name,Nazwa Adresu do Faktury,
-Required only for sample item.,,
-"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Jeśli utworzono standardowy szablon w podatku od sprzedaży i Prowizji szablonu, wybierz jedną i kliknij na przycisk poniżej.",
-In Words will be visible once you save the Delivery Note.,,
-In Words (Export) will be visible once you save the Delivery Note.,,
-Transporter Info,Informacje dotyczące przewoźnika,
-Driver Name,Imię kierowcy,
-Track this Delivery Note against any Project,Śledź potwierdzenie dostawy w każdym projekcie,
-Inter Company Reference,Referencje między firmami,
-Print Without Amount,Drukuj bez wartości,
-% Installed,% Zainstalowanych,
-% of materials delivered against this Delivery Note,% materiałów dostarczonych w stosunku do dowodu dostawy,
-Installation Status,Status instalacji,
-Excise Page Number,Akcyza numeru strony,
-Instructions,Instrukcje,
-From Warehouse,Z magazynu,
-Against Sales Order,Na podstawie zamówienia sprzedaży,
-Against Sales Order Item,Na podstawie pozycji zamówienia sprzedaży,
-Against Sales Invoice,Na podstawie faktury sprzedaży,
-Against Sales Invoice Item,Na podstawie pozycji faktury sprzedaży,
-Available Batch Qty at From Warehouse,Ilosc w serii dostępne z magazynu,
-Available Qty at From Warehouse,Dostępne szt co z magazynu,
-Delivery Settings,Ustawienia dostawy,
-Dispatch Settings,Ustawienia wysyłki,
-Dispatch Notification Template,Szablon powiadomienia o wysyłce,
-Dispatch Notification Attachment,Powiadomienie o wysyłce,
-Leave blank to use the standard Delivery Note format,"Pozostaw puste, aby używać standardowego formatu dokumentu dostawy",
-Send with Attachment,Wyślij z załącznikiem,
-Delay between Delivery Stops,Opóźnienie między przerwami w dostawie,
-Delivery Stop,Przystanek dostawy,
-Lock,Zamek,
-Visited,Odwiedzony,
-Order Information,Szczegóły zamówienia,
-Contact Information,Informacje kontaktowe,
-Email sent to,Email wysłany do,
-Dispatch Information,Informacje o wysyłce,
-Estimated Arrival,Szacowany przyjazd,
-MAT-DT-.YYYY.-,MAT-DT-.RRRR.-,
-Initial Email Notification Sent,Wstępne powiadomienie e-mail wysłane,
-Delivery Details,Szczegóły dostawy,
-Driver Email,Adres e-mail kierowcy,
-Driver Address,Adres kierowcy,
-Total Estimated Distance,Łączna przewidywana odległość,
-Distance UOM,Odległość UOM,
-Departure Time,Godzina odjazdu,
-Delivery Stops,Przerwy w dostawie,
-Calculate Estimated Arrival Times,Oblicz szacowany czas przyjazdu,
-Use Google Maps Direction API to calculate estimated arrival times,"Użyj interfejsu API Google Maps Direction, aby obliczyć szacowany czas przybycia",
-Optimize Route,Zoptymalizuj trasę,
-Use Google Maps Direction API to optimize route,"Użyj Google Maps Direction API, aby zoptymalizować trasę",
-In Transit,W tranzycie,
-Fulfillment User,Użytkownik spełniający wymagania,
-"A Product or a Service that is bought, sold or kept in stock.","Produkt lub usługa, która jest kupiona, sprzedana lub przechowywana w magazynie.",
-STO-ITEM-.YYYY.-,STO-ITEM-.RRRR.-,
-Variant Of,Wariant,
-"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Jeśli pozycja jest wariant innego elementu, a następnie opis, zdjęcia, ceny, podatki itp zostanie ustalony z szablonu, o ile nie określono wyraźnie",
-Is Item from Hub,Jest Przedmiot z Hubu,
-Default Unit of Measure,Domyślna jednostka miary,
-Maintain Stock,Utrzymanie Zapasów,
-Standard Selling Rate,Standardowy kurs sprzedaży,
-Auto Create Assets on Purchase,Automatycznie twórz zasoby przy zakupie,
-Asset Naming Series,Asset Naming Series,
-Over Delivery/Receipt Allowance (%),Over Delivery / Receipt Allowance (%),
-Barcodes,Kody kreskowe,
-Shelf Life In Days,Okres przydatności do spożycia w dniach,
-End of Life,Zakończenie okresu eksploatacji,
-Default Material Request Type,Domyślnie Materiał Typ żądania,
-Valuation Method,Metoda wyceny,
-FIFO,FIFO,
-Moving Average,Średnia Ruchoma,
-Warranty Period (in days),Okres gwarancji (w dniach),
-Auto re-order,Automatyczne ponowne zamówienie,
-Reorder level based on Warehouse,Zmiana kolejności w oparciu o poziom Magazynu,
-Will also apply for variants unless overrridden,"Również zostanie zastosowany do wariantów, chyba że zostanie nadpisany",
-Units of Measure,Jednostki miary,
-Will also apply for variants,Również zastosowanie do wariantów,
-Serial Nos and Batches,Numery seryjne i partie,
-Has Batch No,Posada numer partii (batch),
-Automatically Create New Batch,Automatyczne tworzenie nowych partii,
-Batch Number Series,Seria numerów partii,
-"Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings.","Przykład: ABCD. #####. Jeśli seria jest ustawiona, a numer partii nie jest wymieniony w transakcjach, na podstawie tej serii zostanie utworzony automatyczny numer partii. Jeśli zawsze chcesz wyraźnie podać numer partii dla tego produktu, pozostaw to pole puste. Uwaga: to ustawienie ma pierwszeństwo przed prefiksem serii nazw w Ustawieniach fotografii.",
-Has Expiry Date,Ma datę wygaśnięcia,
-Retain Sample,Zachowaj próbkę,
-Max Sample Quantity,Maksymalna ilość próbki,
-Maximum sample quantity that can be retained,"Maksymalna ilość próbki, którą można zatrzymać",
-Has Serial No,Posiada numer seryjny,
-Serial Number Series,Seria nr seryjnego,
-"Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Przykład:. ABCD ##### \n Jeśli seria jest ustawiona i nr seryjny nie jest wymieniony w transakcjach, automatyczny numer seryjny zostanie utworzony na podstawie tej serii. Jeśli chcesz zawsze jednoznacznie ustawiać numery seryjne dla tej pozycji, pozostaw to pole puste.",
-Variants,Warianty,
-Has Variants,Ma Warianty,
-"If this item has variants, then it cannot be selected in sales orders etc.","Jeśli ten element ma warianty, to nie może być wybrany w zleceniach sprzedaży itp",
-Variant Based On,Wariant na podstawie,
-Item Attribute,Atrybut elementu,
-"Sales, Purchase, Accounting Defaults","Sprzedaż, zakup, domyślne ustawienia rachunkowości",
-Item Defaults,Domyślne elementy,
-"Purchase, Replenishment Details","Zakup, szczegóły uzupełnienia",
-Is Purchase Item,Jest pozycją kupowalną,
-Default Purchase Unit of Measure,Domyślna jednostka miary zakupów,
-Minimum Order Qty,Minimalna wartość zamówienia,
-Minimum quantity should be as per Stock UOM,Minimalna ilość powinna być zgodna z magazynową jednostką organizacyjną,
-Average time taken by the supplier to deliver,Średni czas podjęte przez dostawcę do dostarczenia,
-Is Customer Provided Item,Jest przedmiotem dostarczonym przez klienta,
-Delivered by Supplier (Drop Ship),Dostarczane przez Dostawcę (Drop Ship),
-Supplier Items,Dostawca przedmioty,
-Foreign Trade Details,Handlu Zagranicznego Szczegóły,
-Country of Origin,Kraj pochodzenia,
-Sales Details,Szczegóły sprzedaży,
-Default Sales Unit of Measure,Domyślna jednostka sprzedaży środka,
-Is Sales Item,Jest pozycją sprzedawalną,
-Max Discount (%),Maksymalny rabat (%),
-No of Months,Liczba miesięcy,
-Customer Items,Pozycje klientów,
-Inspection Criteria,Kryteria kontrolne,
-Inspection Required before Purchase,Wymagane Kontrola przed zakupem,
-Inspection Required before Delivery,Wymagane Kontrola przed dostawą,
-Default BOM,Domyślne Zestawienie Materiałów,
-Supply Raw Materials for Purchase,Dostawa surowce Skupu,
-If subcontracted to a vendor,Jeśli zlecona dostawcy,
-Customer Code,Kod Klienta,
-Default Item Manufacturer,Domyślny producent pozycji,
-Default Manufacturer Part No,Domyślny numer części producenta,
-Show in Website (Variant),Pokaż w Serwisie (Variant),
-Items with higher weightage will be shown higher,Produkty z wyższym weightage zostaną pokazane wyższe,
-Show a slideshow at the top of the page,Pokazuj slideshow na górze strony,
-Website Image,Obraz strony internetowej,
-Website Warehouse,Magazyn strony WWW,
-"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Pokazuj ""W magazynie"" lub ""Brak w magazynie"" bazując na ilości dostępnej w tym magazynie.",
-Website Item Groups,Grupy przedmiotów strony WWW,
-List this Item in multiple groups on the website.,Pokaż ten produkt w wielu grupach na stronie internetowej.,
-Copy From Item Group,Skopiuj z Grupy Przedmiotów,
-Website Content,Zawartość strony internetowej,
-You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Możesz użyć dowolnego poprawnego znacznika Bootstrap 4 w tym polu. Zostanie on wyświetlony na Twojej stronie przedmiotu.,
-Total Projected Qty,Łącznej prognozowanej szt,
-Hub Publishing Details,Szczegóły publikacji wydawnictwa Hub,
-Publish in Hub,Publikowanie w Hub,
-Publish Item to hub.erpnext.com,Publikacja na hub.erpnext.com,
-Hub Category to Publish,Kategoria ośrodka do opublikowania,
-Hub Warehouse,Magazyn Hub,
-"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Opublikuj &quot;W magazynie&quot; lub &quot;Nie w magazynie&quot; w Hub na podstawie zapasów dostępnych w tym magazynie.,
-Synced With Hub,Synchronizowane z Hub,
-Item Alternative,Pozycja alternatywna,
-Alternative Item Code,Alternatywny kod towaru,
-Two-way,Dwukierunkowy,
-Alternative Item Name,Alternatywna nazwa przedmiotu,
-Attribute Name,Nazwa atrybutu,
-Numeric Values,Wartości liczbowe,
-From Range,Od zakresu,
-Increment,Przyrost,
-To Range,Do osiągnięcia,
-Item Attribute Values,Wartości atrybutu elementu,
-Item Attribute Value,Pozycja wartość atrybutu,
-Attribute Value,Wartość atrybutu,
-Abbreviation,Skrót,
-"This will be appended to the Item Code of the variant. For example, if your abbreviation is ""SM"", and the item code is ""T-SHIRT"", the item code of the variant will be ""T-SHIRT-SM""","To będzie dołączany do Kodeksu poz wariantu. Na przykład, jeśli skrót to ""SM"", a kod element jest ""T-SHIRT"" Kod poz wariantu będzie ""T-SHIRT-SM""",
-Item Barcode,Kod kreskowy,
-Barcode Type,Typ kodu kreskowego,
-EAN,EAN,
-UPC-A,UPC-A,
-Item Customer Detail,Element Szczegóły klienta,
-"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Dla wygody klientów, te kody mogą być użyte w formacie drukowania jak faktury czy dowody dostawy",
-Ref Code,Ref kod,
-Item Default,Domyślny produkt,
-Purchase Defaults,Zakup domyślne,
-Default Buying Cost Center,Domyślne Centrum Kosztów Kupowania,
-Default Supplier,Domyślny dostawca,
-Default Expense Account,Domyślne konto rozchodów,
-Sales Defaults,Domyślne wartości sprzedaży,
-Default Selling Cost Center,Domyślne centrum kosztów sprzedaży,
-Item Manufacturer,pozycja Producent,
-Item Price,Cena,
-Packing Unit,Jednostka pakująca,
-Quantity  that must be bought or sold per UOM,"Ilość, która musi zostać kupiona lub sprzedana za MOM",
-Item Quality Inspection Parameter,Element Parametr Inspekcja Jakości,
-Acceptance Criteria,Kryteria akceptacji,
-Item Reorder,Element Zamów ponownie,
-Check in (group),Przyjazd (grupa),
-Request for,Wniosek o,
-Re-order Level,Próg ponowienia zamówienia,
-Re-order Qty,Ilość w ponowieniu zamówienia,
-Item Supplier,Dostawca,
-Item Variant,Pozycja Wersja,
-Item Variant Attribute,Pozycja Wersja Atrybut,
-Do not update variants on save,Nie aktualizuj wariantów przy zapisie,
-Fields will be copied over only at time of creation.,Pola będą kopiowane tylko w momencie tworzenia.,
-Allow Rename Attribute Value,Zezwalaj na zmianę nazwy wartości atrybutu,
-Rename Attribute Value in Item Attribute.,Zmień nazwę atrybutu w atrybucie elementu.,
-Copy Fields to Variant,Skopiuj pola do wariantu,
-Item Website Specification,Element Specyfikacja Strony,
-Table for Item that will be shown in Web Site,"Tabela dla pozycji, które zostaną pokazane w Witrynie",
-Landed Cost Item,Koszt Przedmiotu,
-Receipt Document Type,Otrzymanie Rodzaj dokumentu,
-Receipt Document,Otrzymanie dokumentu,
-Applicable Charges,Obowiązujące opłaty,
-Purchase Receipt Item,Przedmiot Potwierdzenia Zakupu,
-Landed Cost Purchase Receipt,Koszt kupionego przedmiotu,
-Landed Cost Taxes and Charges,Koszt podatków i opłat,
-Landed Cost Voucher,Koszt kuponu,
-MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
-Purchase Receipts,Potwierdzenia Zakupu,
-Purchase Receipt Items,Przedmioty Potwierdzenia Zakupu,
-Get Items From Purchase Receipts,Uzyskaj pozycje z potwierdzeń zakupu.,
-Distribute Charges Based On,Rozpowszechnianie opłat na podstawie,
-Landed Cost Help,Ugruntowany Koszt Pomocy,
-Manufacturers used in Items,Producenci używane w pozycji,
-Limited to 12 characters,Ograniczona do 12 znaków,
-MAT-MR-.YYYY.-,MAT-MR-.RRRR.-,
-Partially Ordered,Częściowo zamówione,
-Transferred,Przeniesiony,
-% Ordered,% Zamówione,
-Terms and Conditions Content,Zawartość regulaminu,
-Quantity and Warehouse,Ilość i magazyn,
-Lead Time Date,Termin realizacji,
-Min Order Qty,Min. wartość zamówienia,
-Packed Item,Przedmiot pakowany,
-To Warehouse (Optional),Aby Warehouse (opcjonalnie),
-Actual Batch Quantity,Rzeczywista ilość partii,
-Prevdoc DocType,Typ dokumentu dla poprzedniego dokumentu,
-Parent Detail docname,Nazwa dokumentu ze szczegółami nadrzędnego rodzica,
-"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Utwórz paski na opakowania do dostawy. Używane do informacji o numerze opakowania, zawartości i wadze.",
-Indicates that the package is a part of this delivery (Only Draft),"Wskazuje, że pakiet jest częścią tej dostawy (Tylko projektu)",
-MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
-From Package No.,Nr Przesyłki,
-Identification of the package for the delivery (for print),Nr identyfikujący paczkę do dostawy (do druku),
-To Package No.,Do zapakowania Nr,
-If more than one package of the same type (for print),Jeśli więcej niż jedna paczka tego samego typu (do druku),
-Package Weight Details,Informacje o wadze paczki,
-The net weight of this package. (calculated automatically as sum of net weight of items),Masa netto tego pakietu. (Obliczone automatycznie jako suma masy netto poszczególnych pozycji),
-Net Weight UOM,Jednostka miary wagi netto,
-Gross Weight,Waga brutto,
-The gross weight of the package. Usually net weight + packaging material weight. (for print),Waga brutto opakowania. Zazwyczaj waga netto + waga materiału z jakiego jest wykonane opakowanie. (Do druku),
-Gross Weight UOM,Waga brutto Jednostka miary,
-Packing Slip Item,Pozycja listu przewozowego,
-DN Detail,,
-STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
-Material Transfer for Manufacture,Materiał transferu dla Produkcja,
-Qty of raw materials will be decided based on the qty of the Finished Goods Item,Ilość surowców zostanie ustalona na podstawie ilości produktu gotowego,
-Parent Warehouse,Dominująca Magazyn,
-Items under this warehouse will be suggested,Produkty w tym magazynie zostaną zasugerowane,
-Get Item Locations,Uzyskaj lokalizacje przedmiotów,
-Item Locations,Lokalizacje przedmiotów,
-Pick List Item,Wybierz element listy,
-Picked Qty,Wybrano ilość,
-Price List Master,Ustawienia Cennika,
-Price List Name,Nazwa cennika,
-Price Not UOM Dependent,Cena nie zależy od ceny,
-Applicable for Countries,Zastosowanie dla krajów,
-Price List Country,Cena Kraj,
-MAT-PRE-.YYYY.-,MAT-PRE-RAYY.-,
-Supplier Delivery Note,Uwagi do dostawy,
-Time at which materials were received,Data i czas otrzymania dostawy,
-Return Against Purchase Receipt,Powrót Przeciwko ZAKUPU,
-Rate at which supplier's currency is converted to company's base currency,Stawka przy użyciu której waluta dostawcy jest konwertowana do podstawowej waluty firmy,
-Sets 'Accepted Warehouse' in each row of the items table.,Ustawia „Zaakceptowany magazyn” w każdym wierszu tabeli towarów.,
-Sets 'Rejected Warehouse' in each row of the items table.,Ustawia „Magazyn odrzucony” w każdym wierszu tabeli towarów.,
-Raw Materials Consumed,Zużyte surowce,
-Get Current Stock,Pobierz aktualny stan magazynowy,
-Consumed Items,Zużyte przedmioty,
-Add / Edit Taxes and Charges,,
-Auto Repeat Detail,Auto Repeat Detail,
-Transporter Details,Szczegóły transportu,
-Vehicle Number,Numer pojazdu,
-Vehicle Date,Pojazd Data,
-Received and Accepted,Otrzymano i zaakceptowano,
-Accepted Quantity,Przyjęta Ilość,
-Rejected Quantity,Odrzucona Ilość,
-Accepted Qty as per Stock UOM,Zaakceptowana ilość zgodnie z JM zapasów,
-Sample Quantity,Ilość próbki,
-Rate and Amount,Stawka i Ilość,
-MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
-Report Date,Data raportu,
-Inspection Type,Typ kontroli,
-Item Serial No,Nr seryjny,
-Sample Size,Wielkość próby,
-Inspected By,Skontrolowane przez,
-Readings,Odczyty,
-Quality Inspection Reading,Odczyt kontroli jakości,
-Reading 1,Odczyt 1,
-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,
-Reading 10,Odczyt 10,
-Quality Inspection Template Name,Nazwa szablonu kontroli jakości,
-Quick Stock Balance,Szybkie saldo zapasów,
-Available Quantity,Dostępna Ilość,
-Distinct unit of an Item,Odrębna jednostka przedmiotu,
-Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Magazyn może być tylko zmieniony poprzez Wpis Asortymentu / Notę Dostawy / Potwierdzenie zakupu,
-Purchase / Manufacture Details,Szczegóły Zakupu / Produkcji,
-Creation Document Type,,
-Creation Document No,,
-Creation Date,Data utworzenia,
-Creation Time,Czas utworzenia,
-Asset Details,Szczegóły dotyczące aktywów,
-Asset Status,Status zasobu,
-Delivery Document Type,Typ dokumentu dostawy,
-Delivery Document No,Nr dokumentu dostawy,
-Delivery Time,Czas dostawy,
-Invoice Details,Dane do faktury,
-Warranty / AMC Details,Gwarancja / AMC Szczegóły,
-Warranty Expiry Date,Data upływu gwarancji,
-AMC Expiry Date,AMC Data Ważności,
-Under Warranty,Pod Gwarancją,
-Out of Warranty,Brak Gwarancji,
-Under AMC,Pod AMC,
-Out of AMC,,
-Warranty Period (Days),Okres gwarancji (dni),
-Serial No Details,Szczegóły numeru seryjnego,
-MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
-Stock Entry Type,Rodzaj wejścia na magazyn,
-Stock Entry (Outward GIT),Wjazd na giełdę (GIT zewnętrzny),
-Material Consumption for Manufacture,Zużycie materiału do produkcji,
-Repack,Przepakowanie,
-Send to Subcontractor,Wyślij do Podwykonawcy,
-Delivery Note No,Nr dowodu dostawy,
-Sales Invoice No,Nr faktury sprzedaży,
-Purchase Receipt No,Nr Potwierdzenia Zakupu,
-Inspection Required,Wymagana kontrola,
-From BOM,Od BOM,
-For Quantity,Dla Ilości,
-As per Stock UOM,,
-Including items for sub assemblies,W tym elementów dla zespołów sub,
-Default Source Warehouse,Domyślny magazyn źródłowy,
-Source Warehouse Address,Adres hurtowni,
-Default Target Warehouse,Domyślny magazyn docelowy,
-Target Warehouse Address,Docelowy adres hurtowni,
-Update Rate and Availability,Aktualizuj cenę i dostępność,
-Total Incoming Value,Całkowita wartość przychodów,
-Total Outgoing Value,Całkowita wartość wychodząca,
-Total Value Difference (Out - In),Całkowita Wartość Różnica (Out - In),
-Additional Costs,Dodatkowe koszty,
-Total Additional Costs,Wszystkich Dodatkowe koszty,
-Customer or Supplier Details,Szczegóły klienta lub dostawcy,
-Per Transferred,Na przeniesione,
-Stock Entry Detail,Szczególy zapisu magazynowego,
-Basic Rate (as per Stock UOM),Stawki podstawowej (zgodnie Stock UOM),
-Basic Amount,Kwota podstawowa,
-Additional Cost,Dodatkowy koszt,
-Serial No / Batch,Nr seryjny / partia,
-BOM No. for a Finished Good Item,,
-Material Request used to make this Stock Entry,,
-Subcontracted Item,Element podwykonawstwa,
-Against Stock Entry,Przeciwko wprowadzeniu akcji,
-Stock Entry Child,Dziecko do wejścia na giełdę,
-PO Supplied Item,PO Dostarczony przedmiot,
-Reference Purchase Receipt,Odbiór zakupu referencyjnego,
-Stock Ledger Entry,Zapis w księdze zapasów,
-Outgoing Rate,Wychodzące Cena,
-Actual Qty After Transaction,Rzeczywista Ilość Po Transakcji,
-Stock Value Difference,Różnica wartości zapasów,
-Stock Queue (FIFO),,
-Is Cancelled,,
-Stock Reconciliation,Uzgodnienia stanu,
-This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,To narzędzie pomaga uaktualnić lub ustalić ilość i wycenę akcji w systemie. To jest zwykle używany do synchronizacji wartości systemowych i co rzeczywiście istnieje w magazynach.,
-MAT-RECO-.YYYY.-,MAT-RECO-.RRRR.-,
-Reconciliation JSON,Wyrównywanie JSON,
-Stock Reconciliation Item,Uzgodnienia Stanu Pozycja,
-Before reconciliation,Przed pojednania,
-Current Serial No,Aktualny numer seryjny,
-Current Valuation Rate,Aktualny Wycena Cena,
-Current Amount,Aktualny Kwota,
-Quantity Difference,Ilość Różnica,
-Amount Difference,kwota różnicy,
-Item Naming By,Element Nazwy przez,
-Default Item Group,Domyślna grupa elementów,
-Default Stock UOM,Domyślna jednostka miary Asortymentu,
-Sample Retention Warehouse,Przykładowy magazyn retencyjny,
-Default Valuation Method,Domyślna metoda wyceny,
-Show Barcode Field,Pokaż pole kodu kreskowego,
-Convert Item Description to Clean HTML,"Konwertuj opis elementu, aby wyczyścić HTML",
-Allow Negative Stock,Dozwolony ujemny stan,
-Automatically Set Serial Nos based on FIFO,Nr seryjny automatycznie ustawiony w oparciu o FIFO,
-Auto Material Request,Zapytanie Auto Materiał,
-Inter Warehouse Transfer Settings,Ustawienia transferu między magazynami,
-Freeze Stock Entries,Zamroź Wpisy do Asortymentu,
-Stock Frozen Upto,Zamroź zapasy do,
-Batch Identification,Identyfikacja partii,
-Use Naming Series,Użyj serii nazw,
-Naming Series Prefix,Prefiks serii nazw,
-UOM Category,Kategoria UOM,
-UOM Conversion Detail,Szczegóły konwersji jednostki miary,
-Variant Field,Pole wariantu,
-A logical Warehouse against which stock entries are made.,Logiczny Magazyn przeciwny do zapisów.,
-Warehouse Detail,Szczegóły magazynu,
-Warehouse Name,Nazwa magazynu,
-Warehouse Contact Info,Dane kontaktowe dla magazynu,
-PIN,PIN,
-ISS-.YYYY.-,ISS-.YYYY.-,
-Raised By (Email),Wywołany przez (Email),
-Issue Type,rodzaj zagadnienia,
-Issue Split From,Wydanie Split From,
-Service Level,Poziom usług,
-Response By,Odpowiedź wg,
-Response By Variance,Odpowiedź według wariancji,
-Ongoing,Trwający,
-Resolution By,Rozdzielczość wg,
-Resolution By Variance,Rozdzielczość przez wariancję,
-Service Level Agreement Creation,Tworzenie umowy o poziomie usług,
-First Responded On,Data pierwszej odpowiedzi,
-Resolution Details,Szczegóły Rozstrzygnięcia,
-Opening Date,Data Otwarcia,
-Opening Time,Czas Otwarcia,
-Resolution Date,Data Rozstrzygnięcia,
-Via Customer Portal,Przez portal klienta,
-Support Team,Support Team,
-Issue Priority,Priorytet wydania,
-Service Day,Dzień obsługi,
-Workday,Dzień roboczy,
-Default Priority,Domyślny priorytet,
-Priorities,Priorytety,
-Support Hours,Godziny Wsparcia,
-Support and Resolution,Wsparcie i rozdzielczość,
-Default Service Level Agreement,Domyślna umowa o poziomie usług,
-Entity,Jednostka,
-Agreement Details,Szczegóły umowy,
-Response and Resolution Time,Czas odpowiedzi i rozdzielczości,
-Service Level Priority,Priorytet poziomu usług,
-Resolution Time,Czas rozdzielczości,
-Support Search Source,Wspieraj źródło wyszukiwania,
-Source Type,rodzaj źródła,
-Query Route String,Ciąg trasy zapytania,
-Search Term Param Name,Szukane słowo Nazwa Param,
-Response Options,Opcje odpowiedzi,
-Response Result Key Path,Kluczowa ścieżka odpowiedzi,
-Post Route String,Wpisz ciąg trasy,
-Post Route Key List,Opublikuj listę kluczy,
-Post Title Key,Post Title Key,
-Post Description Key,Klucz opisu postu,
-Link Options,Opcje linku,
-Source DocType,Źródło DocType,
-Result Title Field,Pole wyniku wyniku,
-Result Preview Field,Pole podglądu wyników,
-Result Route Field,Wynik Pole trasy,
-Service Level Agreements,Umowy o poziomie usług,
-Track Service Level Agreement,Śledź umowę o poziomie usług,
-Allow Resetting Service Level Agreement,Zezwalaj na resetowanie umowy o poziomie usług,
-Close Issue After Days,Po blisko Issue Dni,
-Auto close Issue after 7 days,Auto blisko Issue po 7 dniach,
-Support Portal,Portal wsparcia,
-Get Started Sections,Pierwsze kroki,
-Show Latest Forum Posts,Pokaż najnowsze posty na forum,
-Forum Posts,Posty na forum,
-Forum URL,URL forum,
-Get Latest Query,Pobierz najnowsze zapytanie,
-Response Key List,Lista kluczy odpowiedzi,
-Post Route Key,Wpisz klucz trasy,
-Search APIs,Wyszukaj interfejsy API,
-SER-WRN-.YYYY.-,SER-WRN-.RRRR.-,
-Issue Date,Data zdarzenia,
-Item and Warranty Details,Przedmiot i gwarancji Szczegóły,
-Warranty / AMC Status,Gwarancja / AMC Status,
-Resolved By,Rozstrzygnięte przez,
-Service Address,Adres usługi,
-If different than customer address,Jeśli jest inny niż adres klienta,
-Raised By,Wywołany przez,
-From Company,Od Firmy,
-Rename Tool,Zmień nazwę narzędzia,
-Utilities,Usługi komunalne,
-Type of document to rename.,"Typ dokumentu, którego zmieniasz nazwę",
-File to Rename,Plik to zmiany nazwy,
-"Attach .csv file with two columns, one for the old name and one for the new name","Dołączyć plik .csv z dwoma kolumnami, po jednym dla starej nazwy i jeden dla nowej nazwy",
-Rename Log,Zmień nazwę dziennika,
-SMS Log,Dziennik zdarzeń SMS,
-Sender Name,Nazwa Nadawcy,
-Sent On,Wysłano w,
-No of Requested SMS,Numer wymaganego SMS,
-Requested Numbers,Wymagane numery,
-No of Sent SMS,Numer wysłanego Sms,
-Sent To,Wysłane Do,
-Absent Student Report,Raport Nieobecności Studenta,
-Assessment Plan Status,Status planu oceny,
-Asset Depreciation Ledger,Księga amortyzacji,
-Asset Depreciations and Balances,Aktywów Amortyzacja i salda,
-Available Stock for Packing Items,Dostępne ilości dla materiałów opakunkowych,
-Bank Clearance Summary,Rozliczenia bankowe,
-Bank Remittance,Przelew bankowy,
-Batch Item Expiry Status,Batch Przedmiot status ważności,
-Batch-Wise Balance History,,
-BOM Explorer,Eksplorator BOM,
-BOM Search,BOM Szukaj,
-BOM Stock Calculated,BOM Stock Obliczono,
-BOM Variance Report,Raport wariancji BOM,
-Campaign Efficiency,Skuteczność Kampanii,
-Cash Flow,Przepływy pieniężne,
-Completed Work Orders,Zrealizowane zlecenia pracy,
-To Produce,Do produkcji,
-Produced,Wyprodukowany,
-Consolidated Financial Statement,Skonsolidowane sprawozdanie finansowe,
-Course wise Assessment Report,Szeregowy raport oceny,
-Customer Acquisition and Loyalty,,
-Customer Credit Balance,Saldo kredytowe klienta,
-Customer Ledger Summary,Podsumowanie księgi klienta,
-Customer-wise Item Price,Cena przedmiotu pod względem klienta,
-Customers Without Any Sales Transactions,Klienci bez żadnych transakcji sprzedaży,
-Daily Timesheet Summary,Codzienne grafiku Podsumowanie,
-Daily Work Summary Replies,Podsumowanie codziennej pracy,
-DATEV,DATEV,
-Delayed Item Report,Raport o opóźnionych przesyłkach,
-Delayed Order Report,Raport o opóźnionym zamówieniu,
-Delivered Items To Be Billed,Dostarczone przedmioty oczekujące na fakturowanie,
-Delivery Note Trends,Trendy Dowodów Dostawy,
-Electronic Invoice Register,Rejestr faktur elektronicznych,
-Employee Advance Summary,Podsumowanie zaliczek pracowników,
-Employee Billing Summary,Podsumowanie płatności dla pracowników,
-Employee Birthday,Data urodzenia pracownika,
-Employee Information,Informacja o pracowniku,
-Employee Leave Balance,Bilans Nieobecności Pracownika,
-Employee Leave Balance Summary,Podsumowanie salda urlopu pracownika,
-Employees working on a holiday,Pracownicy zatrudnieni na wakacje,
-Eway Bill,Eway Bill,
-Expiring Memberships,Wygaśnięcie członkostwa,
-Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptables [FEC],
-Final Assessment Grades,Oceny końcowe,
-Fixed Asset Register,Naprawiono rejestr aktywów,
-Gross and Net Profit Report,Raport zysku brutto i netto,
-GST Itemised Purchase Register,GST Wykaz zamówień zakupu,
-GST Itemised Sales Register,Wykaz numerów sprzedaży produktów GST,
-GST Purchase Register,Rejestr zakupów GST,
-GST Sales Register,Rejestr sprzedaży GST,
-GSTR-1,GSTR-1,
-GSTR-2,GSTR-2,
-Hotel Room Occupancy,Pokój hotelowy,
-HSN-wise-summary of outward supplies,Podsumowanie HSN dostaw zewnętrznych,
-Inactive Customers,Nieaktywne Klienci,
-Inactive Sales Items,Nieaktywne elementy sprzedaży,
-IRS 1099,IRS 1099,
-Issued Items Against Work Order,Wydane przedmioty na zlecenie pracy,
-Projected Quantity as Source,Prognozowana ilość jako źródło,
-Item Balance (Simple),Bilans przedmiotu (prosty),
-Item Price Stock,Pozycja Cena towaru,
-Item Prices,Ceny,
-Item Shortage Report,Element Zgłoś Niedobór,
-Item Variant Details,Szczegóły wariantu przedmiotu,
-Item-wise Price List Rate,,
-Item-wise Purchase History,,
-Item-wise Purchase Register,,
-Item-wise Sales History,,
-Item-wise Sales Register,,
-Items To Be Requested,,
-Reserved,Zarezerwowany,
-Itemwise Recommended Reorder Level,Pozycja Zalecany poziom powtórnego zamówienia,
-Lead Details,Dane Tropu,
-Lead Owner Efficiency,Skuteczność właściciela wiodącego,
-Loan Repayment and Closure,Spłata i zamknięcie pożyczki,
-Loan Security Status,Status zabezpieczenia pożyczki,
-Lost Opportunity,Stracona szansa,
-Maintenance Schedules,Plany Konserwacji,
-Material Requests for which Supplier Quotations are not created,,
-Monthly Attendance Sheet,Miesięczna karta obecności,
-Open Work Orders,Otwórz zlecenia pracy,
-Qty to Deliver,Ilość do dostarczenia,
-Patient Appointment Analytics,Analiza wizyt pacjentów,
-Payment Period Based On Invoice Date,Termin Płatności oparty na dacie faktury,
-Pending SO Items For Purchase Request,Oczekiwane elementy Zamówień Sprzedaży na Prośbę Zakupu,
-Procurement Tracker,Śledzenie zamówień,
-Product Bundle Balance,Bilans pakietu produktów,
-Production Analytics,Analizy produkcyjne,
-Profit and Loss Statement,Rachunek zysków i strat,
-Profitability Analysis,Analiza rentowności,
-Project Billing Summary,Podsumowanie płatności za projekt,
-Project wise Stock Tracking,Śledzenie zapasów według projektu,
-Project wise Stock Tracking ,,
-Prospects Engaged But Not Converted,"Perspektywy zaręczone, ale nie przekształcone",
-Purchase Analytics,Analiza Zakupów,
-Purchase Invoice Trends,Trendy Faktur Zakupów,
-Qty to Receive,Ilość do otrzymania,
-Received Qty Amount,Otrzymana ilość,
-Billed Qty,Rozliczona ilość,
-Purchase Order Trends,Trendy Zamówienia Kupna,
-Purchase Receipt Trends,Trendy Potwierdzenia Zakupu,
-Purchase Register,Rejestracja Zakupu,
-Quotation Trends,Trendy Wyceny,
-Received Items To Be Billed,Otrzymane przedmioty czekające na zaksięgowanie,
-Qty to Order,Ilość do zamówienia,
-Requested Items To Be Transferred,Proszę o Przetranferowanie Przedmiotów,
-Qty to Transfer,Ilość do transferu,
-Salary Register,wynagrodzenie Rejestracja,
-Sales Analytics,Analityka sprzedaży,
-Sales Invoice Trends,,
-Sales Order Trends,,
-Sales Partner Commission Summary,Podsumowanie Komisji ds. Sprzedaży,
-Sales Partner Target Variance based on Item Group,Zmienna docelowa partnera handlowego na podstawie grupy pozycji,
-Sales Partner Transaction Summary,Podsumowanie transakcji partnera handlowego,
-Sales Partners Commission,Prowizja Partnera Sprzedaży,
-Invoiced Amount (Exclusive Tax),Kwota zafakturowana (bez podatku),
-Average Commission Rate,Średnia Prowizja,
-Sales Payment Summary,Podsumowanie płatności za sprzedaż,
-Sales Person Commission Summary,Osoba odpowiedzialna za sprzedaż,
-Sales Person Target Variance Based On Item Group,Zmienna docelowa osoby sprzedaży na podstawie grupy pozycji,
-Sales Person-wise Transaction Summary,,
-Sales Register,Rejestracja Sprzedaży,
-Serial No Service Contract Expiry,Umowa serwisowa o nr seryjnym wygasa,
-Serial No Status,Status nr seryjnego,
-Serial No Warranty Expiry,Gwarancja o nr seryjnym wygasa,
-Stock Ageing,Starzenie się zapasów,
-Stock and Account Value Comparison,Porównanie wartości zapasów i konta,
-Stock Projected Qty,Przewidywana ilość zapasów,
-Student and Guardian Contact Details,Uczeń i opiekun Dane kontaktowe,
-Student Batch-Wise Attendance,Partiami Student frekwencja,
-Student Fee Collection,Student Opłata Collection,
-Student Monthly Attendance Sheet,Student miesięczny Obecność Sheet,
-Subcontracted Item To Be Received,Przedmiot podwykonawstwa do odbioru,
-Subcontracted Raw Materials To Be Transferred,"Podwykonawstwo Surowce, które mają zostać przekazane",
-Supplier Ledger Summary,Podsumowanie księgi dostawców,
-Supplier-Wise Sales Analytics,,
-Support Hour Distribution,Dystrybucja godzin wsparcia,
-TDS Computation Summary,Podsumowanie obliczeń TDS,
-TDS Payable Monthly,Miesięczny płatny TDS,
-Territory Target Variance Based On Item Group,Territory Target Variance Based On Item Item,
-Territory-wise Sales,Sprzedaż terytorialna,
-Total Stock Summary,Całkowity podsumowanie zasobów,
-Trial Balance,Zestawienie obrotów i sald,
-Trial Balance (Simple),Bilans próbny (prosty),
-Trial Balance for Party,Trial Balance for Party,
-Unpaid Expense Claim,Niepłatny Koszty Zastrzeżenie,
-Warehouse wise Item Balance Age and Value,Magazyn mądry Pozycja Bilans Wiek i wartość,
-Work Order Stock Report,Raport o stanie zlecenia pracy,
-Work Orders in Progress,Zlecenia robocze w toku,
-Validation Error,Błąd walidacji,
-Automatically Process Deferred Accounting Entry,Automatycznie przetwarzaj odroczony zapis księgowy,
-Bank Clearance,Rozliczenie bankowe,
-Bank Clearance Detail,Szczegóły dotyczące rozliczeń bankowych,
-Update Cost Center Name / Number,Zaktualizuj nazwę / numer centrum kosztów,
-Journal Entry Template,Szablon wpisu do dziennika,
-Template Title,Tytuł szablonu,
-Journal Entry Type,Typ pozycji dziennika,
-Journal Entry Template Account,Konto szablonu zapisów księgowych,
-Process Deferred Accounting,Rozliczanie odroczone procesu,
-Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Nie można utworzyć ręcznego wpisu! Wyłącz automatyczne wprowadzanie odroczonych księgowań w ustawieniach kont i spróbuj ponownie,
-End date cannot be before start date,Data zakończenia nie może być wcześniejsza niż data rozpoczęcia,
-Total Counts Targeted,Łączna liczba docelowa,
-Total Counts Completed,Całkowita liczba zakończonych,
-Counts Targeted: {0},Docelowe liczby: {0},
-Payment Account is mandatory,Konto płatnicze jest obowiązkowe,
-"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","Jeśli zaznaczone, pełna kwota zostanie odliczona od dochodu podlegającego opodatkowaniu przed obliczeniem podatku dochodowego bez składania deklaracji lub dowodów.",
-Disbursement Details,Szczegóły wypłaty,
-Material Request Warehouse,Magazyn żądań materiałowych,
-Select warehouse for material requests,Wybierz magazyn dla zapytań materiałowych,
-Transfer Materials For Warehouse {0},Przenieś materiały do magazynu {0},
-Production Plan Material Request Warehouse,Plan produkcji Magazyn żądań materiałowych,
-Sets 'Source Warehouse' in each row of the items table.,Ustawia „Magazyn źródłowy” w każdym wierszu tabeli towarów.,
-Sets 'Target Warehouse' in each row of the items table.,Ustawia „Magazyn docelowy” w każdym wierszu tabeli towarów.,
-Show Cancelled Entries,Pokaż anulowane wpisy,
-Backdated Stock Entry,Zapis akcji z datą wsteczną,
-Row #{}: Currency of {} - {} doesn't matches company currency.,Wiersz nr {}: waluta {} - {} nie odpowiada walucie firmy.,
-{} Assets created for {},{} Zasoby utworzone dla {},
-{0} Number {1} is already used in {2} {3},{0} Numer {1} jest już używany w {2} {3},
-Update Bank Clearance Dates,Zaktualizuj daty rozliczeń bankowych,
-Healthcare Practitioner: ,Lekarz:,
-Lab Test Conducted: ,Przeprowadzony test laboratoryjny:,
-Lab Test Event: ,Wydarzenie testów laboratoryjnych:,
-Lab Test Result: ,Wynik testu laboratoryjnego:,
-Clinical Procedure conducted: ,Przeprowadzona procedura kliniczna:,
-Therapy Session Charges: {0},Opłaty za sesję terapeutyczną: {0},
-Therapy: ,Terapia:,
-Therapy Plan: ,Plan terapii:,
-Total Counts Targeted: ,Łączna liczba docelowa:,
-Total Counts Completed: ,Łączna liczba zakończonych:,
-Andaman and Nicobar Islands,Wyspy Andaman i Nicobar,
-Andhra Pradesh,Andhra Pradesh,
-Arunachal Pradesh,Arunachal Pradesh,
-Assam,Assam,
-Bihar,Bihar,
-Chandigarh,Chandigarh,
-Chhattisgarh,Chhattisgarh,
-Dadra and Nagar Haveli,Dadra i Nagar Haveli,
-Daman and Diu,Daman i Diu,
-Delhi,Delhi,
-Goa,Goa,
-Gujarat,Gujarat,
-Haryana,Haryana,
-Himachal Pradesh,Himachal Pradesh,
-Jammu and Kashmir,Dżammu i Kaszmir,
-Jharkhand,Jharkhand,
-Karnataka,Karnataka,
-Kerala,Kerala,
-Lakshadweep Islands,Wyspy Lakshadweep,
-Madhya Pradesh,Madhya Pradesh,
-Maharashtra,Maharashtra,
-Manipur,Manipur,
-Meghalaya,Meghalaya,
-Mizoram,Mizoram,
-Nagaland,Nagaland,
-Odisha,Odisha,
-Other Territory,Inne terytorium,
-Pondicherry,Puducherry,
-Punjab,Pendżab,
-Rajasthan,Rajasthan,
-Sikkim,Sikkim,
-Tamil Nadu,Tamil Nadu,
-Telangana,Telangana,
-Tripura,Tripura,
-Uttar Pradesh,Uttar Pradesh,
-Uttarakhand,Uttarakhand,
-West Bengal,Bengal Zachodni,
-Is Mandatory,Jest obowiązkowe,
-Published on,Opublikowano,
-Service Received But Not Billed,"Usługa otrzymana, ale niezafakturowana",
-Deferred Accounting Settings,Odroczone ustawienia księgowania,
-Book Deferred Entries Based On,Rezerwuj wpisy odroczone na podstawie,
-Days,Dni,
-Months,Miesięcy,
-Book Deferred Entries Via Journal Entry,Rezerwuj wpisy odroczone za pośrednictwem wpisu do dziennika,
-Submit Journal Entries,Prześlij wpisy do dziennika,
-If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Jeśli ta opcja nie jest zaznaczona, wpisy do dziennika zostaną zapisane jako wersja robocza i będą musiały zostać przesłane ręcznie",
-Enable Distributed Cost Center,Włącz rozproszone centrum kosztów,
-Distributed Cost Center,Rozproszone centrum kosztów,
-Dunning,Dunning,
-DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
-Overdue Days,Zaległe dni,
-Dunning Type,Typ monitu,
-Dunning Fee,Opłata za monitowanie,
-Dunning Amount,Kwota monitu,
-Resolved,Zdecydowany,
-Unresolved,Nie rozwiązany,
-Printing Setting,Ustawienie drukowania,
-Body Text,Body Text,
-Closing Text,Tekst zamykający,
-Resolve,Rozwiązać,
-Dunning Letter Text,Tekst listu monitującego,
-Is Default Language,Jest językiem domyślnym,
-Letter or Email Body Text,Treść listu lub wiadomości e-mail,
-Letter or Email Closing Text,List lub e-mail zamykający tekst,
-Body and Closing Text Help,Pomoc dotycząca treści i tekstu zamykającego,
-Overdue Interval,Zaległy interwał,
-Dunning Letter,List monitujący,
-"This section allows the user to set the Body and Closing text of the Dunning Letter for the Dunning Type based on language, which can be used in Print.","W tej sekcji użytkownik może ustawić treść i treść listu upominającego dla typu monitu w oparciu o język, którego można używać w druku.",
-Reference Detail No,Numer referencyjny odniesienia,
-Custom Remarks,Uwagi niestandardowe,
-Please select a Company first.,Najpierw wybierz firmę.,
-"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Wiersz nr {0}: typem dokumentu referencyjnego musi być zamówienie sprzedaży, faktura sprzedaży, zapis księgowy lub monit",
-POS Closing Entry,Zamknięcie POS,
-POS Opening Entry,Otwarcie POS,
-POS Transactions,Transakcje POS,
-POS Closing Entry Detail,Szczegóły wejścia zamknięcia POS,
-Opening Amount,Kwota otwarcia,
-Closing Amount,Kwota zamknięcia,
-POS Closing Entry Taxes,Podatki przy wejściu przy zamykaniu POS,
-POS Invoice,Faktura POS,
-ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
-Consolidated Sales Invoice,Skonsolidowana faktura sprzedaży,
-Return Against POS Invoice,Zwrot na podstawie faktury POS,
-Consolidated,Skonsolidowany,
-POS Invoice Item,Pozycja faktury POS,
-POS Invoice Merge Log,Dziennik scalania faktur POS,
-POS Invoices,Faktury POS,
-Consolidated Credit Note,Skonsolidowana nota kredytowa,
-POS Invoice Reference,Numer faktury POS,
-Set Posting Date,Ustaw datę księgowania,
-Opening Balance Details,Szczegóły salda otwarcia,
-POS Opening Entry Detail,Szczegóły wejścia do punktu sprzedaży,
-POS Payment Method,Metoda płatności POS,
-Payment Methods,Metody Płatności,
-Process Statement Of Accounts,Przetwarzaj wyciągi z kont,
-General Ledger Filters,Filtry księgi głównej,
-Customers,Klienci,
-Select Customers By,Wybierz klientów według,
-Fetch Customers,Pobierz klientów,
-Send To Primary Contact,Wyślij do głównej osoby kontaktowej,
-Print Preferences,Preferencje drukowania,
-Include Ageing Summary,Uwzględnij podsumowanie starzenia się,
-Enable Auto Email,Włącz automatyczne e-maile,
-Filter Duration (Months),Czas trwania filtra (miesiące),
-CC To,CC To,
-Help Text,Tekst pomocy,
-Emails Queued,E-maile w kolejce,
-Process Statement Of Accounts Customer,Przetwarzaj wyciąg z kont Klient,
-Billing Email,E-mail rozliczeniowy,
-Primary Contact Email,Adres e-mail głównej osoby kontaktowej,
-PSOA Cost Center,Centrum kosztów PSOA,
-PSOA Project,Projekt PSOA,
-ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
-Supplier GSTIN,Dostawca GSTIN,
-Place of Supply,Miejsce dostawy,
-Select Billing Address,Wybierz Adres rozliczeniowy,
-GST Details,Szczegóły dotyczące podatku GST,
-GST Category,Kategoria podatku GST,
-Registered Regular,Zarejestrowany Regularny,
-Registered Composition,Zarejestrowany skład,
-Unregistered,Niezarejestrowany,
-SEZ,SSE,
-Overseas,Za granicą,
-UIN Holders,Posiadacze UIN,
-With Payment of Tax,Z zapłatą podatku,
-Without Payment of Tax,Bez zapłaty podatku,
-Invoice Copy,Kopia faktury,
-Original for Recipient,Oryginał dla Odbiorcy,
-Duplicate for Transporter,Duplikat dla Transportera,
-Duplicate for Supplier,Duplikat dla dostawcy,
-Triplicate for Supplier,Potrójny egzemplarz dla dostawcy,
-Reverse Charge,Opłata zwrotna,
-Y,Y,
-N,N,
-E-commerce GSTIN,GSTIN dla handlu elektronicznego,
-Reason For Issuing document,Przyczyna wystawienia dokumentu,
-01-Sales Return,01-Zwrot sprzedaży,
-02-Post Sale Discount,02-zniżka po sprzedaży,
-03-Deficiency in services,03-Niedobór usług,
-04-Correction in Invoice,04-Korekta na fakturze,
-05-Change in POS,05-Zmiana w POS,
-06-Finalization of Provisional assessment,06-Zakończenie wstępnej oceny,
-07-Others,07-Inne,
-Eligibility For ITC,Kwalifikowalność do ITC,
-Input Service Distributor,Dystrybutor usług wejściowych,
-Import Of Service,Import usług,
-Import Of Capital Goods,Import dóbr kapitałowych,
-Ineligible,Którego nie można wybrać,
-All Other ITC,Wszystkie inne ITC,
-Availed ITC Integrated Tax,Dostępny podatek zintegrowany ITC,
-Availed ITC Central Tax,Zastosowany podatek centralny ITC,
-Availed ITC State/UT Tax,Dostępny podatek stanowy ITC / UT,
-Availed ITC Cess,Dostępny podatek ITC,
-Is Nil Rated or Exempted,Brak oceny lub zwolnienie,
-Is Non GST,Nie zawiera podatku GST,
-ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
-E-Way Bill No.,E-Way Bill No.,
-Is Consolidated,Jest skonsolidowane,
-Billing Address GSTIN,Adres rozliczeniowy GSTIN,
-Customer GSTIN,GSTIN klienta,
-GST Transporter ID,Identyfikator przewoźnika GST,
-Distance (in km),Odległość (w km),
-Road,Droga,
-Air,Powietrze,
-Rail,Szyna,
-Ship,Statek,
-GST Vehicle Type,Typ pojazdu z podatkiem VAT,
-Over Dimensional Cargo (ODC),Ładunki ponadwymiarowe (ODC),
-Consumer,Konsument,
-Deemed Export,Uważany za eksport,
-Port Code,Kod portu,
- Shipping Bill Number,Numer rachunku za wysyłkę,
-Shipping Bill Date,Data rachunku za wysyłkę,
-Subscription End Date,Data zakończenia subskrypcji,
-Follow Calendar Months,Śledź miesiące kalendarzowe,
-If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Jeśli ta opcja jest zaznaczona, kolejne nowe faktury będą tworzone w datach rozpoczęcia miesiąca kalendarzowego i kwartału, niezależnie od daty rozpoczęcia aktualnej faktury",
-Generate New Invoices Past Due Date,Wygeneruj nowe faktury przeterminowane,
-New invoices will be generated as per schedule even if current invoices are unpaid or past due date,"Nowe faktury będą generowane zgodnie z harmonogramem, nawet jeśli bieżące faktury są niezapłacone lub przeterminowane",
-Document Type ,typ dokumentu,
-Subscription Price Based On,Cena subskrypcji na podstawie,
-Fixed Rate,Stała stawka,
-Based On Price List,Na podstawie cennika,
-Monthly Rate,Opłata miesięczna,
-Cancel Subscription After Grace Period,Anuluj subskrypcję po okresie prolongaty,
-Source State,Stan źródłowy,
-Is Inter State,Jest międzystanowe,
-Purchase Details,Szczegóły zakupu,
-Depreciation Posting Date,Data księgowania amortyzacji,
-"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","Domyślnie nazwa dostawcy jest ustawiona zgodnie z wprowadzoną nazwą dostawcy. Jeśli chcesz, aby dostawcy byli nazwani przez rozszerzenie",
- choose the 'Naming Series' option.,wybierz opcję „Naming Series”.,
-Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Skonfiguruj domyślny Cennik podczas tworzenia nowej transakcji zakupu. Ceny pozycji zostaną pobrane z tego Cennika.,
-"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice or Receipt without creating a Purchase Order first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Order' checkbox in the Supplier master.","Jeśli ta opcja jest skonfigurowana jako „Tak”, ERPNext uniemożliwi utworzenie faktury zakupu lub paragonu bez wcześniejszego tworzenia zamówienia. Tę konfigurację można zastąpić dla określonego dostawcy, zaznaczając pole wyboru „Zezwalaj na tworzenie faktur zakupu bez zamówienia” w karcie głównej dostawcy.",
-"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice without creating a Purchase Receipt first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Receipt' checkbox in the Supplier master.","Jeśli ta opcja jest skonfigurowana jako „Tak”, ERPNext uniemożliwi utworzenie faktury zakupu bez uprzedniego tworzenia paragonu zakupu. Tę konfigurację można zastąpić dla określonego dostawcy, zaznaczając pole wyboru „Zezwalaj na tworzenie faktur zakupu bez potwierdzenia zakupu” we wzorcu dostawcy.",
-Quantity & Stock,Ilość i stan magazynowy,
-Call Details,Szczegóły połączenia,
-Authorised By,Zaautoryzowany przez,
-Signee (Company),Signee (firma),
-Signed By (Company),Podpisane przez (firma),
-First Response Time,Czas pierwszej odpowiedzi,
-Request For Quotation,Zapytanie ofertowe,
-Opportunity Lost Reason Detail,Szczegóły utraconego powodu możliwości,
-Access Token Secret,Dostęp do klucza tajnego,
-Add to Topics,Dodaj do tematów,
-...Adding Article to Topics,... Dodawanie artykułu do tematów,
-Add Article to Topics,Dodaj artykuł do tematów,
-This article is already added to the existing topics,Ten artykuł jest już dodany do istniejących tematów,
-Add to Programs,Dodaj do programów,
-Programs,Programy,
-...Adding Course to Programs,... Dodawanie kursu do programów,
-Add Course to Programs,Dodaj kurs do programów,
-This course is already added to the existing programs,Ten kurs jest już dodany do istniejących programów,
-Learning Management System Settings,Ustawienia systemu zarządzania nauką,
-Enable Learning Management System,Włącz system zarządzania nauką,
-Learning Management System Title,Tytuł systemu zarządzania nauczaniem,
-...Adding Quiz to Topics,... Dodawanie quizu do tematów,
-Add Quiz to Topics,Dodaj quiz do tematów,
-This quiz is already added to the existing topics,Ten quiz został już dodany do istniejących tematów,
-Enable Admission Application,Włącz aplikację o przyjęcie,
-EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
-Marking attendance,Oznaczanie obecności,
-Add Guardians to Email Group,Dodaj opiekunów do grupy e-mailowej,
-Attendance Based On,Frekwencja na podstawie,
-Check this to mark the student as present in case the student is not attending the institute to participate or represent the institute in any event.\n\n,"Zaznacz to, aby oznaczyć ucznia jako obecnego na wypadek, gdyby student nie uczęszczał do instytutu, aby w żadnym wypadku uczestniczyć lub reprezentować instytut.",
-Add to Courses,Dodaj do kursów,
-...Adding Topic to Courses,... Dodawanie tematu do kursów,
-Add Topic to Courses,Dodaj temat do kursów,
-This topic is already added to the existing courses,Ten temat jest już dodany do istniejących kursów,
-"If Shopify does not have a customer in the order, then while syncing the orders, the system will consider the default customer for the order","Jeśli Shopify nie ma klienta w zamówieniu, to podczas synchronizacji zamówień system weźmie pod uwagę domyślnego klienta dla zamówienia",
-The accounts are set by the system automatically but do confirm these defaults,"Konta są ustawiane przez system automatycznie, ale potwierdzają te ustawienia domyślne",
-Default Round Off Account,Domyślne konto zaokrągleń,
-Failed Import Log,Nieudany import dziennika,
-Fixed Error Log,Naprawiono dziennik błędów,
-Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,Firma {0} już istnieje. Kontynuacja spowoduje nadpisanie firmy i planu kont,
-Meta Data,Metadane,
-Unresolve,Nierozwiązane,
-Create Document,Utwórz dokument,
-Mark as unresolved,Oznacz jako nierozwiązane,
-TaxJar Settings,Ustawienia TaxJar,
-Sandbox Mode,Tryb piaskownicy,
-Enable Tax Calculation,Włącz obliczanie podatku,
-Create TaxJar Transaction,Utwórz transakcję TaxJar,
-Credentials,Kwalifikacje,
-Live API Key,Aktywny klucz API,
-Sandbox API Key,Klucz API piaskownicy,
-Configuration,Konfiguracja,
-Tax Account Head,Szef konta podatkowego,
-Shipping Account Head,Szef konta wysyłkowego,
-Practitioner Name,Nazwisko lekarza,
-Enter a name for the Clinical Procedure Template,Wprowadź nazwę szablonu procedury klinicznej,
-Set the Item Code which will be used for billing the Clinical Procedure.,"Ustaw kod pozycji, który będzie używany do rozliczenia procedury klinicznej.",
-Select an Item Group for the Clinical Procedure Item.,Wybierz grupę pozycji dla pozycji procedury klinicznej.,
-Clinical Procedure Rate,Częstość zabiegów klinicznych,
-Check this if the Clinical Procedure is billable and also set the rate.,"Sprawdź, czy procedura kliniczna podlega opłacie, a także ustaw stawkę.",
-Check this if the Clinical Procedure utilises consumables. Click ,"Sprawdź to, jeśli procedura kliniczna wykorzystuje materiały eksploatacyjne. Kliknij",
- to know more,wiedzieć więcej,
-"You can also set the Medical Department for the template. After saving the document, an Item will automatically be created for billing this Clinical Procedure. You can then use this template while creating Clinical Procedures for Patients. Templates save you from filling up redundant data every single time. You can also create templates for other operations like Lab Tests, Therapy Sessions, etc.","Możesz również ustawić dział medyczny dla szablonu. Po zapisaniu dokumentu pozycja zostanie automatycznie utworzona do rozliczenia tej procedury klinicznej. Możesz następnie użyć tego szablonu podczas tworzenia procedur klinicznych dla pacjentów. Szablony chronią Cię przed zapełnianiem zbędnych danych za każdym razem. Możesz także tworzyć szablony dla innych operacji, takich jak testy laboratoryjne, sesje terapeutyczne itp.",
-Descriptive Test Result,Opisowy wynik testu,
-Allow Blank,Pozwól puste,
-Descriptive Test Template,Opisowy szablon testu,
-"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Jeśli chcesz śledzić listę płac i inne operacje HRMS dla praktyka, utwórz pracownika i połącz go tutaj.",
-Set the Practitioner Schedule you just created. This will be used while booking appointments.,Ustaw właśnie utworzony harmonogram lekarza. Będzie on używany podczas rezerwacji spotkań.,
-Create a service item for Out Patient Consulting.,Utwórz pozycję usługi dla konsultacji z pacjentami zewnętrznymi.,
-"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Jeśli ten pracownik służby zdrowia pracuje dla oddziału szpitalnego, utwórz pozycję usługi dla wizyt szpitalnych.",
-Set the Out Patient Consulting Charge for this Practitioner.,Ustaw opłatę za konsultacje pacjenta zewnętrznego dla tego lekarza.,
-"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Jeśli ten lekarz pracuje również dla oddziału szpitalnego, ustal opłatę za wizytę w szpitalu dla tego lekarza.",
-"If checked, a customer will be created for every Patient. Patient Invoices will be created against this Customer. You can also select existing Customer while creating a Patient. This field is checked by default.","Jeśli zaznaczone, dla każdego Pacjenta zostanie utworzony klient. Dla tego klienta zostaną utworzone faktury dla pacjenta. Możesz także wybrać istniejącego klienta podczas tworzenia pacjenta. To pole jest domyślnie zaznaczone.",
-Collect Registration Fee,Pobrać opłatę rejestracyjną,
-"If your Healthcare facility bills registrations of Patients, you can check this and set the Registration Fee in the field below. Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.","Jeśli Twoja placówka medyczna wystawia rachunki za rejestracje pacjentów, możesz to sprawdzić i ustawić Opłatę rejestracyjną w polu poniżej. Zaznaczenie tej opcji spowoduje domyślnie utworzenie nowych pacjentów ze statusem Wyłączony i będzie włączone dopiero po zafakturowaniu Opłaty rejestracyjnej.",
-Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,"Zaznaczenie tego spowoduje automatyczne utworzenie faktury sprzedaży za każdym razem, gdy zostanie zarezerwowane spotkanie dla Pacjenta.",
-Healthcare Service Items,Elementy usług opieki zdrowotnej,
-"You can create a service item for Inpatient Visit Charge and set it here. Similarly, you can set up other Healthcare Service Items for billing in this section. Click ","Możesz utworzyć pozycję usługi dla opłaty za wizytę szpitalną i ustawić ją tutaj. Podobnie, w tej sekcji możesz skonfigurować inne pozycje usług opieki zdrowotnej do rozliczeń. Kliknij",
-Set up default Accounts for the Healthcare Facility,Skonfiguruj domyślne konta dla placówki opieki zdrowotnej,
-"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Jeśli chcesz zastąpić domyślne ustawienia kont i skonfigurować konta dochodów i należności dla służby zdrowia, możesz to zrobić tutaj.",
-Out Patient SMS alerts,Alerty SMS dla pacjenta,
-"If you want to send SMS alert on Patient Registration, you can enable this option. Similary, you can set up Out Patient SMS alerts for other functionalities in this section. Click ","Jeśli chcesz wysłać powiadomienie SMS o rejestracji pacjenta, możesz włączyć tę opcję. Podobnie, w tej sekcji możesz skonfigurować alerty SMS dla pacjentów wychodzących dla innych funkcji. Kliknij",
-Admission Order Details,Szczegóły zlecenia przyjęcia,
-Admission Ordered For,Wstęp zamówiony dla,
-Expected Length of Stay,Oczekiwana długość pobytu,
-Admission Service Unit Type,Typ jednostki obsługi przyjęcia,
-Healthcare Practitioner (Primary),Lekarz (główna),
-Healthcare Practitioner (Secondary),Lekarz (średnia),
-Admission Instruction,Instrukcja przyjęcia,
-Chief Complaint,Główny zarzut,
-Medications,Leki,
-Investigations,Dochodzenia,
-Discharge Detials,Absolutorium Detials,
-Discharge Ordered Date,Data zamówienia wypisu,
-Discharge Instructions,Instrukcje dotyczące absolutorium,
-Follow Up Date,Data kontynuacji,
-Discharge Notes,Notatki absolutorium,
-Processing Inpatient Discharge,Przetwarzanie wypisu z szpitala,
-Processing Patient Admission,Przetwarzanie przyjęcia pacjenta,
-Check-in time cannot be greater than the current time,Czas zameldowania nie może być dłuższy niż aktualny czas,
-Process Transfer,Przetwarzanie transferu,
-HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
-Expected Result Date,Oczekiwana data wyniku,
-Expected Result Time,Oczekiwany czas wyniku,
-Printed on,Nadrukowany na,
-Requesting Practitioner,Praktykant,
-Requesting Department,Dział składania wniosków,
-Employee (Lab Technician),Pracownik (technik laboratoryjny),
-Lab Technician Name,Nazwisko technika laboratoryjnego,
-Lab Technician Designation,Oznaczenie technika laboratoryjnego,
-Compound Test Result,Wynik testu złożonego,
-Organism Test Result,Wynik testu organizmu,
-Sensitivity Test Result,Wynik testu wrażliwości,
-Worksheet Print,Drukuj arkusz roboczy,
-Worksheet Instructions,Instrukcje arkusza roboczego,
-Result Legend Print,Wydruk legendy wyników,
-Print Position,Pozycja drukowania,
-Bottom,Dolny,
-Top,Top,
-Both,Obie,
-Result Legend,Legenda wyników,
-Lab Tests,Testy laboratoryjne,
-No Lab Tests found for the Patient {0},Nie znaleziono testów laboratoryjnych dla pacjenta {0},
-"Did not send SMS, missing patient mobile number or message content.","Nie wysłano SMS-a, brak numeru telefonu komórkowego pacjenta lub treści wiadomości.",
-No Lab Tests created,Nie utworzono testów laboratoryjnych,
-Creating Lab Tests...,Tworzenie testów laboratoryjnych ...,
-Lab Test Group Template,Szablon grupy testów laboratoryjnych,
-Add New Line,Dodaj nową linię,
-Secondary UOM,Druga jednostka miary,
-"<b>Single</b>: Results which require only a single input.\n<br>\n<b>Compound</b>: Results which require multiple event inputs.\n<br>\n<b>Descriptive</b>: Tests which have multiple result components with manual result entry.\n<br>\n<b>Grouped</b>: Test templates which are a group of other test templates.\n<br>\n<b>No Result</b>: Tests with no results, can be ordered and billed but no Lab Test will be created. e.g.. Sub Tests for Grouped results","<b>Pojedynczy</b> : wyniki wymagające tylko jednego wprowadzenia.<br> <b>Złożone</b> : wyniki wymagające wielu wejść zdarzeń.<br> <b>Opisowe</b> : testy, które mają wiele składników wyników z ręcznym wprowadzaniem wyników.<br> <b>Zgrupowane</b> : szablony testów, które są grupą innych szablonów testów.<br> <b>Brak wyników</b> : Testy bez wyników można zamówić i zafakturować, ale nie zostaną utworzone żadne testy laboratoryjne. na przykład. Testy podrzędne dla wyników zgrupowanych",
-"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Jeśli odznaczone, pozycja nie będzie dostępna na fakturach sprzedaży do fakturowania, ale może być używana do tworzenia testów grupowych.",
-Description ,Opis,
-Descriptive Test,Test opisowy,
-Group Tests,Testy grupowe,
-Instructions to be printed on the worksheet,Instrukcje do wydrukowania w arkuszu,
-"Information to help easily interpret the test report, will be printed as part of the Lab Test result.",Informacje ułatwiające interpretację raportu z testu zostaną wydrukowane jako część wyniku testu laboratoryjnego.,
-Normal Test Result,Normalny wynik testu,
-Secondary UOM Result,Dodatkowy wynik UOM,
-Italic,italski,
-Underline,Podkreślać,
-Organism,Organizm,
-Organism Test Item,Przedmiot badania organizmu,
-Colony Population,Populacja kolonii,
-Colony UOM,Colony UOM,
-Tobacco Consumption (Past),Zużycie tytoniu (w przeszłości),
-Tobacco Consumption (Present),Zużycie tytoniu (obecne),
-Alcohol Consumption (Past),Spożycie alkoholu (w przeszłości),
-Alcohol Consumption (Present),Spożycie alkoholu (obecne),
-Billing Item,Pozycja rozliczeniowa,
-Medical Codes,Kody medyczne,
-Clinical Procedures,Procedury kliniczne,
-Order Admission,Zamów wstęp,
-Scheduling Patient Admission,Planowanie przyjęcia pacjenta,
-Order Discharge,Zamów rozładunek,
-Sample Details,Przykładowe szczegóły,
-Collected On,Zebrano dnia,
-No. of prints,Liczba wydruków,
-Number of prints required for labelling the samples,Liczba odbitek wymaganych do oznakowania próbek,
-HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
-In Time,W samą porę,
-Out Time,Out Time,
-Payroll Cost Center,Centrum kosztów listy płac,
-Approvers,Osoby zatwierdzające,
-The first Approver in the list will be set as the default Approver.,Pierwsza osoba zatwierdzająca na liście zostanie ustawiona jako domyślna osoba zatwierdzająca.,
-Shift Request Approver,Zatwierdzający prośbę o zmianę,
-PAN Number,Numer PAN,
-Provident Fund Account,Konto funduszu rezerwowego,
-MICR Code,Kod MICR,
-Repay unclaimed amount from salary,Zwróć nieodebraną kwotę z wynagrodzenia,
-Deduction from salary,Odliczenie od wynagrodzenia,
-Expired Leaves,Wygasłe liście,
-Reference No,Nr referencyjny,
-Haircut percentage is the percentage difference between market value of the Loan Security and the value ascribed to that Loan Security when used as collateral for that loan.,"Procent redukcji wartości to różnica procentowa między wartością rynkową Papieru Wartościowego Kredytu a wartością przypisaną temu Papierowi Wartościowemu Kredytowemu, gdy jest stosowany jako zabezpieczenie tej pożyczki.",
-Loan To Value Ratio expresses the ratio of the loan amount to the value of the security pledged. A loan security shortfall will be triggered if this falls below the specified value for any loan ,"Wskaźnik kredytu do wartości jest stosunkiem kwoty kredytu do wartości zastawionego zabezpieczenia. Niedobór zabezpieczenia pożyczki zostanie wyzwolony, jeśli spadnie poniżej określonej wartości dla jakiejkolwiek pożyczki",
-If this is not checked the loan by default will be considered as a Demand Loan,"Jeśli opcja ta nie zostanie zaznaczona, pożyczka domyślnie zostanie uznana za pożyczkę na żądanie",
-This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,"To konto służy do księgowania spłat pożyczki od pożyczkobiorcy, a także do wypłaty pożyczki pożyczkobiorcy",
-This account is capital account which is used to allocate capital for loan disbursal account ,"Rachunek ten jest rachunkiem kapitałowym, który służy do alokacji kapitału na rachunek wypłat pożyczki",
-This account will be used for booking loan interest accruals,To konto będzie używane do księgowania narosłych odsetek od kredytu,
-This account will be used for booking penalties levied due to delayed repayments,To konto będzie wykorzystywane do księgowania kar pobieranych z powodu opóźnionych spłat,
-Variant BOM,Wariant BOM,
-Template Item,Element szablonu,
-Select template item,Wybierz element szablonu,
-Select variant item code for the template item {0},Wybierz kod pozycji wariantu dla elementu szablonu {0},
-Downtime Entry,Wejście na czas przestoju,
-DT-,DT-,
-Workstation / Machine,Stacja robocza / maszyna,
-Operator,Operator,
-In Mins,W min,
-Downtime Reason,Przyczyna przestoju,
-Stop Reason,Stop Reason,
-Excessive machine set up time,Zbyt długi czas konfiguracji maszyny,
-Unplanned machine maintenance,Nieplanowana konserwacja maszyny,
-On-machine press checks,Kontrola prasy na maszynie,
-Machine operator errors,Błędy operatora maszyny,
-Machine malfunction,Awaria maszyny,
-Electricity down,Brak prądu,
-Operation Row Number,Numer wiersza operacji,
-Operation {0} added multiple times in the work order {1},Operacja {0} dodana wiele razy w zleceniu pracy {1},
-"If ticked, multiple materials can be used for a single Work Order. This is useful if one or more time consuming products are being manufactured.","Jeśli zaznaczone, w jednym zleceniu pracy można użyć wielu materiałów. Jest to przydatne, jeśli wytwarzany jest jeden lub więcej czasochłonnych produktów.",
-Backflush Raw Materials,Surowce do płukania wstecznego,
-"The Stock Entry of type 'Manufacture' is known as backflush. Raw materials being consumed to manufacture finished goods is known as backflushing. <br><br> When creating Manufacture Entry, raw-material items are backflushed based on BOM of production item. If you want raw-material items to be backflushed based on Material Transfer entry made against that Work Order instead, then you can set it under this field.","Wpis magazynowy typu „Produkcja” jest znany jako przepłukiwanie wsteczne. Surowce zużywane do produkcji wyrobów gotowych nazywa się płukaniem wstecznym.<br><br> Podczas tworzenia wpisu produkcji, pozycje surowców są przepłukiwane wstecznie na podstawie BOM pozycji produkcyjnej. Jeśli chcesz, aby pozycje surowców były wypłukiwane wstecznie na podstawie wpisu przeniesienia materiału dokonanego w ramach tego zlecenia pracy, możesz ustawić go w tym polu.",
-Work In Progress Warehouse,Magazyn Work In Progress,
-This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Ten magazyn będzie automatycznie aktualizowany w polu Work In Progress Warehouse w Work Orders.,
-Finished Goods Warehouse,Magazyn Wyrobów Gotowych,
-This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Ten magazyn zostanie automatycznie zaktualizowany w polu Magazyn docelowy zlecenia pracy.,
-"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Jeśli zaznaczone, koszt BOM zostanie automatycznie zaktualizowany na podstawie kursu wyceny / kursu cennika / ostatniego kursu zakupu surowców.",
-Source Warehouses (Optional),Magazyny źródłowe (opcjonalnie),
-"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","System odbierze materiały z wybranych magazynów. Jeśli nie zostanie określony, system utworzy zapytanie o materiał do zakupu.",
-Lead Time,Czas oczekiwania,
-PAN Details,Szczegóły PAN,
-Create Customer,Utwórz klienta,
-Invoicing,Fakturowanie,
-Enable Auto Invoicing,Włącz automatyczne fakturowanie,
-Send Membership Acknowledgement,Wyślij potwierdzenie członkostwa,
-Send Invoice with Email,Wyślij fakturę e-mailem,
-Membership Print Format,Format wydruku członkostwa,
-Invoice Print Format,Format wydruku faktury,
-Revoke <Key></Key>,Unieważnić&lt;Key&gt;&lt;/Key&gt;,
-You can learn more about memberships in the manual. ,Więcej informacji na temat członkostwa można znaleźć w instrukcji.,
-ERPNext Docs,Dokumenty ERPNext,
-Regenerate Webhook Secret,Zregeneruj sekret Webhooka,
-Generate Webhook Secret,Wygeneruj klucz Webhook,
-Copy Webhook URL,Skopiuj adres URL webhooka,
-Linked Item,Powiązany element,
-Is Recurring,Powtarza się,
-HRA Exemption,Zwolnienie z HRA,
-Monthly House Rent,Miesięczny czynsz za dom,
-Rented in Metro City,Wynajęte w Metro City,
-HRA as per Salary Structure,HRA zgodnie ze strukturą wynagrodzeń,
-Annual HRA Exemption,Coroczne zwolnienie z HRA,
-Monthly HRA Exemption,Miesięczne zwolnienie z HRA,
-House Rent Payment Amount,Kwota spłaty czynszu za dom,
-Rented From Date,Wypożyczone od daty,
-Rented To Date,Wypożyczone do dnia,
-Monthly Eligible Amount,Kwota kwalifikowana miesięcznie,
-Total Eligible HRA Exemption,Całkowite kwalifikujące się zwolnienie z HRA,
-Validating Employee Attendance...,Weryfikacja obecności pracowników ...,
-Submitting Salary Slips and creating Journal Entry...,Przesyłanie odcinków wynagrodzenia i tworzenie zapisów księgowych ...,
-Calculate Payroll Working Days Based On,Oblicz dni robocze listy płac na podstawie,
-Consider Unmarked Attendance As,Rozważ nieoznaczoną obecność jako,
-Fraction of Daily Salary for Half Day,Część dziennego wynagrodzenia za pół dnia,
-Component Type,Typ komponentu,
-Provident Fund,Fundusz emerytalny,
-Additional Provident Fund,Dodatkowy fundusz emerytalny,
-Provident Fund Loan,Pożyczka z funduszu emerytalnego,
-Professional Tax,Podatek zawodowy,
-Is Income Tax Component,Składnik podatku dochodowego,
-Component properties and references ,Właściwości i odniesienia komponentów,
-Additional Salary ,Dodatkowe wynagrodzenie,
-Unmarked days,Nieoznakowane dni,
-Absent Days,Nieobecne dni,
-Conditions and Formula variable and example,Warunki i zmienna formuły oraz przykład,
-Feedback By,Informacje zwrotne od,
-Manufacturing Section,Sekcja Produkcyjna,
-"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Domyślnie nazwa klienta jest ustawiona zgodnie z wprowadzoną pełną nazwą. Jeśli chcesz, aby klienci byli nazwani przez",
-Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Skonfiguruj domyślny Cennik podczas tworzenia nowej transakcji sprzedaży. Ceny pozycji zostaną pobrane z tego Cennika.,
-"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice or Delivery Note without creating a Sales Order first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Sales Order' checkbox in the Customer master.","Jeśli ta opcja jest skonfigurowana jako „Tak”, ERPNext uniemożliwi utworzenie faktury sprzedaży lub dokumentu dostawy bez wcześniejszego tworzenia zamówienia sprzedaży. Tę konfigurację można zastąpić dla konkretnego klienta, zaznaczając pole wyboru „Zezwalaj na tworzenie faktur sprzedaży bez zamówienia sprzedaży” w karcie głównej Klient.",
-"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice without creating a Delivery Note first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Delivery Note' checkbox in the Customer master.","Jeśli ta opcja jest skonfigurowana jako `` Tak &#39;&#39;, ERPNext uniemożliwi utworzenie faktury sprzedaży bez uprzedniego utworzenia dowodu dostawy. Tę konfigurację można zastąpić dla konkretnego klienta, zaznaczając pole wyboru „Zezwalaj na tworzenie faktur sprzedaży bez dowodu dostawy” we wzorcu klienta.",
-Default Warehouse for Sales Return,Domyślny magazyn do zwrotu sprzedaży,
-Default In Transit Warehouse,Domyślnie w magazynie tranzytowym,
-Enable Perpetual Inventory For Non Stock Items,Włącz ciągłe zapasy dla pozycji nie będących na stanie,
-HRA Settings,Ustawienia HRA,
-Basic Component,Element podstawowy,
-HRA Component,Komponent HRA,
-Arrear Component,Składnik zaległości,
-Please enter the company name to confirm,"Wprowadź nazwę firmy, aby potwierdzić",
-Quotation Lost Reason Detail,Szczegóły dotyczące utraconego powodu oferty,
-Enable Variants,Włącz warianty,
-Save Quotations as Draft,Zapisz oferty jako wersję roboczą,
-MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
-Please Select a Customer,Wybierz klienta,
-Against Delivery Note Item,Za list przewozowy,
-Is Non GST ,Nie zawiera podatku GST,
-Image Description,Opis obrazu,
-Transfer Status,Status transferu,
-MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
-Track this Purchase Receipt against any Project,Śledź ten dowód zakupu w dowolnym projekcie,
-Please Select a Supplier,Wybierz dostawcę,
-Add to Transit,Dodaj do transportu publicznego,
-Set Basic Rate Manually,Ustaw ręcznie stawkę podstawową,
-"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ","Domyślnie nazwa pozycji jest ustawiona zgodnie z wprowadzonym kodem pozycji. Jeśli chcesz, aby elementy miały nazwę",
-Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Ustaw domyślny magazyn dla transakcji magazynowych. Zostanie to przeniesione do domyślnego magazynu w głównym module.,
-"This will allow stock items to be displayed in negative values. Using this option depends on your use case. With this option unchecked, the system warns before obstructing a transaction that is causing negative stock.","Umożliwi to wyświetlanie pozycji magazynowych w wartościach ujemnych. Korzystanie z tej opcji zależy od przypadku użycia. Gdy ta opcja jest odznaczona, system ostrzega przed zablokowaniem transakcji powodującej ujemny stan zapasów.",
-Choose between FIFO and Moving Average Valuation Methods. Click ,Wybierz metodę wyceny FIFO i ruchomą średnią wycenę. Kliknij,
- to know more about them.,aby dowiedzieć się o nich więcej.,
-Show 'Scan Barcode' field above every child table to insert Items with ease.,"Pokaż pole „Skanuj kod kreskowy” nad każdą tabelą podrzędną, aby z łatwością wstawiać elementy.",
-"Serial numbers for stock will be set automatically based on the Items entered based on first in first out in transactions like Purchase/Sales Invoices, Delivery Notes, etc.","Numery seryjne dla zapasów zostaną ustawione automatycznie na podstawie pozycji wprowadzonych w oparciu o pierwsze weszło pierwsze wyszło w transakcjach, takich jak faktury zakupu / sprzedaży, dowody dostawy itp.",
-"If blank, parent Warehouse Account or company default will be considered in transactions","Jeśli puste, nadrzędne konto magazynu lub wartość domyślna firmy będą brane pod uwagę w transakcjach",
-Service Level Agreement Details,Szczegóły umowy dotyczącej poziomu usług,
-Service Level Agreement Status,Status umowy dotyczącej poziomu usług,
-On Hold Since,Wstrzymane od,
-Total Hold Time,Całkowity czas wstrzymania,
-Response Details,Szczegóły odpowiedzi,
-Average Response Time,Średni czas odpowiedzi,
-User Resolution Time,Czas rozwiązania użytkownika,
-SLA is on hold since {0},Umowa SLA została wstrzymana od {0},
-Pause SLA On Status,Wstrzymaj status SLA,
-Pause SLA On,Wstrzymaj SLA,
-Greetings Section,Sekcja Pozdrowienia,
-Greeting Title,Tytuł powitania,
-Greeting Subtitle,Podtytuł powitania,
-Youtube ID,Identyfikator YouTube,
-Youtube Statistics,Statystyki YouTube,
-Views,Wyświetlenia,
-Dislikes,Nie lubi,
-Video Settings,Ustawienia wideo,
-Enable YouTube Tracking,Włącz śledzenie w YouTube,
-30 mins,30 minut,
-1 hr,1 godz,
-6 hrs,6 godz,
-Patient Progress,Postęp pacjenta,
-Targetted,Ukierunkowane,
-Score Obtained,Wynik uzyskany,
-Sessions,Sesje,
-Average Score,Średni wynik,
-Select Assessment Template,Wybierz szablon oceny,
- out of ,poza,
-Select Assessment Parameter,Wybierz parametr oceny,
-Gender: ,Płeć:,
-Contact: ,Kontakt:,
-Total Therapy Sessions: ,Sesje terapeutyczne:,
-Monthly Therapy Sessions: ,Comiesięczne sesje terapeutyczne:,
-Patient Profile,Profil pacjenta,
-Point Of Sale,Punkt sprzedaży,
-Email sent successfully.,E-mail wysłany pomyślnie.,
-Search by invoice id or customer name,Wyszukaj według identyfikatora faktury lub nazwy klienta,
-Invoice Status,Status faktury,
-Filter by invoice status,Filtruj według statusu faktury,
-Select item group,Wybierz grupę towarów,
-No items found. Scan barcode again.,Nie znaleziono żadnych przedmiotów. Ponownie zeskanuj kod kreskowy.,
-"Search by customer name, phone, email.","Szukaj według nazwy klienta, telefonu, adresu e-mail.",
-Enter discount percentage.,Wpisz procent rabatu.,
-Discount cannot be greater than 100%,Rabat nie może być większy niż 100%,
-Enter customer's email,Wpisz adres e-mail klienta,
-Enter customer's phone number,Wpisz numer telefonu klienta,
-Customer contact updated successfully.,Kontakt z klientem został zaktualizowany pomyślnie.,
-Item will be removed since no serial / batch no selected.,"Pozycja zostanie usunięta, ponieważ nie wybrano numeru seryjnego / partii.",
-Discount (%),Zniżka (%),
-You cannot submit the order without payment.,Nie możesz złożyć zamówienia bez zapłaty.,
-You cannot submit empty order.,Nie możesz złożyć pustego zamówienia.,
-To Be Paid,Do zapłacenia,
-Create POS Opening Entry,Utwórz wpis otwarcia POS,
-Please add Mode of payments and opening balance details.,Proszę dodać tryb płatności i szczegóły bilansu otwarcia.,
-Toggle Recent Orders,Przełącz ostatnie zamówienia,
-Save as Draft,Zapisz jako szkic,
-You must add atleast one item to save it as draft.,"Musisz dodać co najmniej jeden element, aby zapisać go jako wersję roboczą.",
-There was an error saving the document.,Wystąpił błąd podczas zapisywania dokumentu.,
-You must select a customer before adding an item.,Przed dodaniem pozycji musisz wybrać klienta.,
-Please Select a Company,Wybierz firmę,
-Active Leads,Aktywni leady,
-Please Select a Company.,Wybierz firmę.,
-BOM Operations Time,Czas operacji BOM,
-BOM ID,ID BOM,
-BOM Item Code,Kod pozycji BOM,
-Time (In Mins),Czas (w minutach),
-Sub-assembly BOM Count,Liczba BOM podzespołów,
-View Type,Typ widoku,
-Total Delivered Amount,Całkowita dostarczona kwota,
-Downtime Analysis,Analiza przestojów,
-Machine,Maszyna,
-Downtime (In Hours),Przestój (w godzinach),
-Employee Analytics,Analizy pracowników,
-"""From date"" can not be greater than or equal to ""To date""",„Data od” nie może być większa niż lub równa „Do dnia”,
-Exponential Smoothing Forecasting,Prognozowanie wygładzania wykładniczego,
-First Response Time for Issues,Czas pierwszej reakcji na problemy,
-First Response Time for Opportunity,Czas pierwszej reakcji na okazję,
-Depreciatied Amount,Kwota umorzona,
-Period Based On,Okres oparty na,
-Date Based On,Data na podstawie,
-{0} and {1} are mandatory,{0} i {1} są obowiązkowe,
-Consider Accounting Dimensions,Rozważ wymiary księgowe,
-Income Tax Deductions,Potrącenia podatku dochodowego,
-Income Tax Component,Składnik podatku dochodowego,
-Income Tax Amount,Kwota podatku dochodowego,
-Reserved Quantity for Production,Zarezerwowana ilość do produkcji,
-Projected Quantity,Prognozowana ilość,
- Total Sales Amount,Całkowita kwota sprzedaży,
-Job Card Summary,Podsumowanie karty pracy,
-Id,ID,
-Time Required (In Mins),Wymagany czas (w minutach),
-From Posting Date,Od daty księgowania,
-To Posting Date,Do daty wysłania,
-No records found,Nic nie znaleziono,
-Customer/Lead Name,Nazwa klienta / potencjalnego klienta,
-Unmarked Days,Nieoznaczone dni,
-Jan,Jan,
-Feb,Luty,
-Mar,Zniszczyć,
-Apr,Kwi,
-Aug,Sie,
-Sep,Wrz,
-Oct,Paź,
-Nov,Lis,
-Dec,Dec,
-Summarized View,Podsumowanie,
-Production Planning Report,Raport planowania produkcji,
-Order Qty,Zamówiona ilość,
-Raw Material Code,Kod surowca,
-Raw Material Name,Nazwa surowca,
-Allotted Qty,Przydzielona ilość,
-Expected Arrival Date,Oczekiwana data przyjazdu,
-Arrival Quantity,Ilość przybycia,
-Raw Material Warehouse,Magazyn surowców,
-Order By,Zamów przez,
-Include Sub-assembly Raw Materials,Uwzględnij surowce podzespołów,
-Professional Tax Deductions,Profesjonalne potrącenia podatkowe,
-Program wise Fee Collection,Programowe pobieranie opłat,
-Fees Collected,Pobrane opłaty,
-Project Summary,Podsumowanie projektu,
-Total Tasks,Całkowita liczba zadań,
-Tasks Completed,Zadania zakończone,
-Tasks Overdue,Zadania zaległe,
-Completion,Ukończenie,
-Provident Fund Deductions,Potrącenia z funduszu rezerwowego,
-Purchase Order Analysis,Analiza zamówienia,
-From and To Dates are required.,Wymagane są daty od i do.,
-To Date cannot be before From Date.,Data do nie może być wcześniejsza niż data początkowa.,
-Qty to Bill,Ilość do rachunku,
-Group by Purchase Order,Grupuj według zamówienia,
- Purchase Value,Wartość zakupu,
-Total Received Amount,Całkowita otrzymana kwota,
-Quality Inspection Summary,Podsumowanie kontroli jakości,
- Quoted Amount,Kwota podana,
-Lead Time (Days),Czas realizacji (dni),
-Include Expired,Uwzględnij wygasły,
-Recruitment Analytics,Analizy rekrutacyjne,
-Applicant name,Nazwa wnioskodawcy,
-Job Offer status,Status oferty pracy,
-On Date,Na randkę,
-Requested Items to Order and Receive,Żądane pozycje do zamówienia i odbioru,
-Salary Payments Based On Payment Mode,Płatności wynagrodzeń w zależności od trybu płatności,
-Salary Payments via ECS,Wypłaty wynagrodzenia za pośrednictwem ECS,
-Account No,Nr konta,
-IFSC,IFSC,
-MICR,MICR,
-Sales Order Analysis,Analiza zleceń sprzedaży,
-Amount Delivered,Dostarczona kwota,
-Delay (in Days),Opóźnienie (w dniach),
-Group by Sales Order,Grupuj według zamówienia sprzedaży,
- Sales Value,Wartość sprzedaży,
-Stock Qty vs Serial No Count,Ilość w magazynie a numer seryjny,
-Serial No Count,Numer seryjny,
-Work Order Summary,Podsumowanie zlecenia pracy,
-Produce Qty,Wyprodukuj ilość,
-Lead Time (in mins),Czas realizacji (w minutach),
-Charts Based On,Wykresy na podstawie,
-YouTube Interactions,Interakcje w YouTube,
-Published Date,Data publikacji,
-Barnch,Barnch,
-Select a Company,Wybierz firmę,
-Opportunity {0} created,Możliwość {0} została utworzona,
-Kindly select the company first,Najpierw wybierz firmę,
-Please enter From Date and To Date to generate JSON,"Wprowadź datę początkową i datę końcową, aby wygenerować JSON",
-PF Account,Konto PF,
-PF Amount,Kwota PF,
-Additional PF,Dodatkowe PF,
-PF Loan,Pożyczka PF,
-Download DATEV File,Pobierz plik DATEV,
-Numero has not set in the XML file,Numero nie ustawił w pliku XML,
-Inward Supplies(liable to reverse charge),Dostawy przychodzące (podlegające odwrotnemu obciążeniu),
-This is based on the course schedules of this Instructor,Jest to oparte na harmonogramach kursów tego instruktora,
-Course and Assessment,Kurs i ocena,
-Course {0} has been added to all the selected programs successfully.,Kurs {0} został pomyślnie dodany do wszystkich wybranych programów.,
-Programs updated,Programy zaktualizowane,
-Program and Course,Program i kurs,
-{0} or {1} is mandatory,{0} lub {1} jest obowiązkowe,
-Mandatory Fields,Pola obowiązkowe,
-Student {0}: {1} does not belong to Student Group {2},Student {0}: {1} nie należy do grupy uczniów {2},
-Student Attendance record {0} already exists against the Student {1},Rekord frekwencji {0} dla ucznia {1} już istnieje,
-Duplicate Entry,Zduplikowana wartość,
-Course and Fee,Kurs i opłata,
-Not eligible for the admission in this program as per Date Of Birth,Nie kwalifikuje się do przyjęcia w tym programie według daty urodzenia,
-Topic {0} has been added to all the selected courses successfully.,Temat {0} został pomyślnie dodany do wszystkich wybranych kursów.,
-Courses updated,Kursy zostały zaktualizowane,
-{0} {1} has been added to all the selected topics successfully.,Temat {0} {1} został pomyślnie dodany do wszystkich wybranych tematów.,
-Topics updated,Zaktualizowano tematy,
-Academic Term and Program,Okres akademicki i program,
-Please remove this item and try to submit again or update the posting time.,Usuń ten element i spróbuj przesłać go ponownie lub zaktualizuj czas publikacji.,
-Failed to Authenticate the API key.,Nie udało się uwierzytelnić klucza API.,
-Invalid Credentials,Nieprawidłowe dane logowania,
-URL can only be a string,URL może być tylko ciągiem,
-"Here is your webhook secret, this will be shown to you only once.","Oto Twój sekret webhooka, zostanie on pokazany tylko raz.",
-The payment for this membership is not paid. To generate invoice fill the payment details,Opłata za to członkostwo nie jest opłacana. Aby wygenerować fakturę wypełnij szczegóły płatności,
-An invoice is already linked to this document,Faktura jest już połączona z tym dokumentem,
-No customer linked to member {},Żaden klient nie jest powiązany z członkiem {},
-You need to set <b>Debit Account</b> in Membership Settings,Musisz ustawić <b>konto debetowe</b> w ustawieniach członkostwa,
-You need to set <b>Default Company</b> for invoicing in Membership Settings,Musisz ustawić <b>domyślną firmę</b> do fakturowania w ustawieniach członkostwa,
-You need to enable <b>Send Acknowledge Email</b> in Membership Settings,Musisz włączyć <b>wysyłanie wiadomości e-mail z potwierdzeniem</b> w ustawieniach członkostwa,
-Error creating membership entry for {0},Błąd podczas tworzenia wpisu członkowskiego dla {0},
-A customer is already linked to this Member,Klient jest już powiązany z tym członkiem,
-End Date must not be lesser than Start Date,Data zakończenia nie może być wcześniejsza niż data rozpoczęcia,
-Employee {0} already has Active Shift {1}: {2},Pracownik {0} ma już aktywną zmianę {1}: {2},
- from {0},od {0},
- to {0},do {0},
-Please select Employee first.,Najpierw wybierz pracownika.,
-Please set {0} for the Employee or for Department: {1},Ustaw {0} dla pracownika lub działu: {1},
-To Date should be greater than From Date,Data do powinna być większa niż Data początkowa,
-Employee Onboarding: {0} is already for Job Applicant: {1},Dołączanie pracowników: {0} jest już dla kandydatów o pracę: {1},
-Job Offer: {0} is already for Job Applicant: {1},Oferta pracy: {0} jest już dla osoby ubiegającej się o pracę: {1},
-Only Shift Request with status 'Approved' and 'Rejected' can be submitted,Można przesłać tylko żądanie zmiany ze statusem „Zatwierdzono” i „Odrzucono”,
-Shift Assignment: {0} created for Employee: {1},Przydział zmiany: {0} utworzony dla pracownika: {1},
-You can not request for your Default Shift: {0},Nie możesz zażądać zmiany domyślnej: {0},
-Only Approvers can Approve this Request.,Tylko osoby zatwierdzające mogą zatwierdzić tę prośbę.,
-Asset Value Analytics,Analiza wartości aktywów,
-Category-wise Asset Value,Wartość aktywów według kategorii,
-Total Assets,Aktywa ogółem,
-New Assets (This Year),Nowe zasoby (w tym roku),
-Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Wiersz nr {}: Data księgowania amortyzacji nie powinna być równa dacie dostępności do użycia.,
-Incorrect Date,Nieprawidłowa data,
-Invalid Gross Purchase Amount,Nieprawidłowa kwota zakupu brutto,
-There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Aktywna konserwacja lub naprawy są aktywne. Musisz je wszystkie wypełnić przed anulowaniem zasobu.,
-% Complete,% Ukończone,
-Back to Course,Powrót do kursu,
-Finish Topic,Zakończ temat,
-Mins,Min,
-by,przez,
-Back to,Wrócić do,
-Enrolling...,Rejestracja ...,
-You have successfully enrolled for the program ,Z powodzeniem zapisałeś się do programu,
-Enrolled,Zarejestrowany,
-Watch Intro,Obejrzyj wprowadzenie,
-We're here to help!,"Jesteśmy tutaj, aby pomóc!",
-Frequently Read Articles,Często czytane artykuły,
-Please set a default company address,Ustaw domyślny adres firmy,
-{0} is not a valid state! Check for typos or enter the ISO code for your state.,"{0} nie jest prawidłowym stanem! Sprawdź, czy nie ma literówek lub wprowadź kod ISO swojego stanu.",
-Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,"Wystąpił błąd podczas analizowania planu kont: upewnij się, że żadne dwa konta nie mają tej samej nazwy",
-Plaid invalid request error,Błąd żądania nieprawidłowego kratki,
-Please check your Plaid client ID and secret values,Sprawdź identyfikator klienta Plaid i tajne wartości,
-Bank transaction creation error,Błąd tworzenia transakcji bankowej,
-Unit of Measurement,Jednostka miary,
-Fiscal Year {0} Does Not Exist,Rok podatkowy {0} nie istnieje,
-Row # {0}: Returned Item {1} does not exist in {2} {3},Wiersz nr {0}: zwrócona pozycja {1} nie istnieje w {2} {3},
-Valuation type charges can not be marked as Inclusive,Opłaty związane z rodzajem wyceny nie mogą być oznaczone jako zawierające,
-You do not have permissions to {} items in a {}.,Nie masz uprawnień do {} elementów w {}.,
-Insufficient Permissions,Niewystarczające uprawnienia,
-You are not allowed to update as per the conditions set in {} Workflow.,Nie możesz aktualizować zgodnie z warunkami określonymi w {} Przepływie pracy.,
-Expense Account Missing,Brak konta wydatków,
-{0} is not a valid Value for Attribute {1} of Item {2}.,{0} nie jest prawidłową wartością atrybutu {1} elementu {2}.,
-Invalid Value,Niewłaściwa wartość,
-The value {0} is already assigned to an existing Item {1}.,Wartość {0} jest już przypisana do istniejącego elementu {1}.,
-"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","Aby nadal edytować tę wartość atrybutu, włącz opcję {0} w ustawieniach wariantu elementu.",
-Edit Not Allowed,Edycja niedozwolona,
-Row #{0}: Item {1} is already fully received in Purchase Order {2},Wiersz nr {0}: pozycja {1} jest już w całości otrzymana w zamówieniu {2},
-You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Nie można tworzyć ani anulować żadnych zapisów księgowych w zamkniętym okresie rozliczeniowym {0},
-POS Invoice should have {} field checked.,Faktura POS powinna mieć zaznaczone pole {}.,
-Invalid Item,Nieprawidłowy przedmiot,
-Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,"Wiersz nr {}: nie można dodać ilości dodatnich do faktury zwrotnej. Usuń przedmiot {}, aby dokończyć zwrot.",
-The selected change account {} doesn't belongs to Company {}.,Wybrane konto zmiany {} nie należy do firmy {}.,
-Atleast one invoice has to be selected.,Należy wybrać przynajmniej jedną fakturę.,
-Payment methods are mandatory. Please add at least one payment method.,Metody płatności są obowiązkowe. Dodaj co najmniej jedną metodę płatności.,
-Please select a default mode of payment,Wybierz domyślny sposób płatności,
-You can only select one mode of payment as default,Możesz wybrać tylko jeden sposób płatności jako domyślny,
-Missing Account,Brakujące konto,
-Customers not selected.,Klienci nie wybrani.,
-Statement of Accounts,Wyciąg z konta,
-Ageing Report Based On ,Raport dotyczący starzenia na podstawie,
-Please enter distributed cost center,Wprowadź rozproszone centrum kosztów,
-Total percentage allocation for distributed cost center should be equal to 100,Całkowita alokacja procentowa dla rozproszonego centrum kosztów powinna wynosić 100,
-Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Nie można włączyć rozproszonego miejsca powstawania kosztów dla centrum kosztów już przydzielonego w innym rozproszonym miejscu kosztów,
-Parent Cost Center cannot be added in Distributed Cost Center,Nadrzędnego miejsca powstawania kosztów nie można dodać do rozproszonego miejsca powstawania kosztów,
-A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Nie można dodać Distributed Cost Center do tabeli alokacji Distributed Cost Center.,
-Cost Center with enabled distributed cost center can not be converted to group,Centrum kosztów z włączonym rozproszonym centrum kosztów nie może zostać przekonwertowane na grupę,
-Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Centrum kosztów już alokowane w rozproszonym miejscu powstawania kosztów nie może zostać przekonwertowane na grupę,
-Trial Period Start date cannot be after Subscription Start Date,Data rozpoczęcia okresu próbnego nie może być późniejsza niż data rozpoczęcia subskrypcji,
-Subscription End Date must be after {0} as per the subscription plan,Data zakończenia subskrypcji musi przypadać po {0} zgodnie z planem subskrypcji,
-Subscription End Date is mandatory to follow calendar months,"Data zakończenia subskrypcji jest obowiązkowa, aby przestrzegać miesięcy kalendarzowych",
-Row #{}: POS Invoice {} is not against customer {},Wiersz nr {}: faktura POS {} nie jest skierowana przeciwko klientowi {},
-Row #{}: POS Invoice {} is not submitted yet,Wiersz nr {}: faktura POS {} nie została jeszcze przesłana,
-Row #{}: POS Invoice {} has been {},Wiersz nr {}: faktura POS {} została {},
-No Supplier found for Inter Company Transactions which represents company {0},Nie znaleziono dostawcy dla transakcji międzyfirmowych reprezentującego firmę {0},
-No Customer found for Inter Company Transactions which represents company {0},Nie znaleziono klienta dla transakcji międzyfirmowych reprezentującego firmę {0},
-Invalid Period,Nieprawidłowy okres,
-Selected POS Opening Entry should be open.,Wybrane wejście otwierające POS powinno być otwarte.,
-Invalid Opening Entry,Nieprawidłowy wpis otwierający,
-Please set a Company,Ustaw firmę,
-"Sorry, this coupon code's validity has not started","Przepraszamy, ważność tego kodu kuponu jeszcze się nie rozpoczęła",
-"Sorry, this coupon code's validity has expired","Przepraszamy, ważność tego kuponu wygasła",
-"Sorry, this coupon code is no longer valid","Przepraszamy, ten kod kuponu nie jest już ważny",
-For the 'Apply Rule On Other' condition the field {0} is mandatory,W przypadku warunku „Zastosuj regułę do innej” pole {0} jest obowiązkowe,
-{1} Not in Stock,{1} Niedostępny,
-Only {0} in Stock for item {1},Tylko {0} w magazynie dla produktu {1},
-Please enter a coupon code,Wprowadź kod kuponu,
-Please enter a valid coupon code,Wpisz prawidłowy kod kuponu,
-Invalid Child Procedure,Nieprawidłowa procedura podrzędna,
-Import Italian Supplier Invoice.,Import włoskiej faktury dostawcy.,
-"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.",Stawka wyceny dla przedmiotu {0} jest wymagana do zapisów księgowych dla {1} {2}.,
- Here are the options to proceed:,"Oto opcje, aby kontynuować:",
-"If the item is transacting as a Zero Valuation Rate item in this entry, please enable 'Allow Zero Valuation Rate' in the {0} Item table.","Jeśli przedmiot jest przedmiotem transakcji jako pozycja z zerową wartością wyceny w tym wpisie, włącz opcję „Zezwalaj na zerową stawkę wyceny” w {0} tabeli pozycji.",
-"If not, you can Cancel / Submit this entry ","Jeśli nie, możesz anulować / przesłać ten wpis",
- performing either one below:,wykonując jedną z poniższych czynności:,
-Create an incoming stock transaction for the Item.,Utwórz przychodzącą transakcję magazynową dla towaru.,
-Mention Valuation Rate in the Item master.,W głównym elemencie przedmiotu należy wspomnieć o współczynniku wyceny.,
-Valuation Rate Missing,Brak kursu wyceny,
-Serial Nos Required,Wymagane numery seryjne,
-Quantity Mismatch,Niedopasowanie ilości,
-"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.","Uzupełnij pozycje i zaktualizuj listę wyboru, aby kontynuować. Aby przerwać, anuluj listę wyboru.",
-Out of Stock,Obecnie brak na stanie,
-{0} units of Item {1} is not available.,{0} jednostki produktu {1} nie są dostępne.,
-Item for row {0} does not match Material Request,Pozycja w wierszu {0} nie pasuje do żądania materiału,
-Warehouse for row {0} does not match Material Request,Magazyn dla wiersza {0} nie jest zgodny z żądaniem materiałowym,
-Accounting Entry for Service,Wpis księgowy za usługę,
-All items have already been Invoiced/Returned,Wszystkie pozycje zostały już zafakturowane / zwrócone,
-All these items have already been Invoiced/Returned,Wszystkie te pozycje zostały już zafakturowane / zwrócone,
-Stock Reconciliations,Uzgodnienia zapasów,
-Merge not allowed,Scalanie niedozwolone,
-The following deleted attributes exist in Variants but not in the Template. You can either delete the Variants or keep the attribute(s) in template.,"Następujące usunięte atrybuty istnieją w wariantach, ale nie istnieją w szablonie. Możesz usunąć warianty lub zachować atrybut (y) w szablonie.",
-Variant Items,Elementy wariantowe,
-Variant Attribute Error,Błąd atrybutu wariantu,
-The serial no {0} does not belong to item {1},Numer seryjny {0} nie należy do produktu {1},
-There is no batch found against the {0}: {1},Nie znaleziono partii dla {0}: {1},
-Completed Operation,Operacja zakończona,
-Work Order Analysis,Analiza zlecenia pracy,
-Quality Inspection Analysis,Analiza kontroli jakości,
-Pending Work Order,Oczekujące zlecenie pracy,
-Last Month Downtime Analysis,Analiza przestojów w zeszłym miesiącu,
-Work Order Qty Analysis,Analiza ilości zleceń,
-Job Card Analysis,Analiza karty pracy,
-Monthly Total Work Orders,Miesięczne zamówienia łącznie,
-Monthly Completed Work Orders,Wykonane co miesiąc zamówienia,
-Ongoing Job Cards,Karty trwającej pracy,
-Monthly Quality Inspections,Comiesięczne kontrole jakości,
-(Forecast),(Prognoza),
-Total Demand (Past Data),Całkowity popyt (poprzednie dane),
-Total Forecast (Past Data),Prognoza całkowita (dane z przeszłości),
-Total Forecast (Future Data),Prognoza całkowita (dane przyszłe),
-Based On Document,Na podstawie dokumentu,
-Based On Data ( in years ),Na podstawie danych (w latach),
-Smoothing Constant,Stała wygładzania,
-Please fill the Sales Orders table,Prosimy o wypełnienie tabeli Zamówienia sprzedaży,
-Sales Orders Required,Wymagane zamówienia sprzedaży,
-Please fill the Material Requests table,Proszę wypełnić tabelę zamówień materiałowych,
-Material Requests Required,Wymagane żądania materiałów,
-Items to Manufacture are required to pull the Raw Materials associated with it.,Przedmioty do produkcji są zobowiązane do ściągnięcia związanych z nimi surowców.,
-Items Required,Wymagane elementy,
-Operation {0} does not belong to the work order {1},Operacja {0} nie należy do zlecenia pracy {1},
-Print UOM after Quantity,Drukuj UOM po Quantity,
-Set default {0} account for perpetual inventory for non stock items,Ustaw domyślne konto {0} dla ciągłych zapasów dla pozycji spoza magazynu,
-Loan Security {0} added multiple times,Bezpieczeństwo pożyczki {0} zostało dodane wiele razy,
-Loan Securities with different LTV ratio cannot be pledged against one loan,Dłużne Papiery Wartościowe o różnym wskaźniku LTV nie mogą być przedmiotem zastawu na jedną pożyczkę,
-Qty or Amount is mandatory for loan security!,Ilość lub kwota jest obowiązkowa dla zabezpieczenia kredytu!,
-Only submittted unpledge requests can be approved,Zatwierdzać można tylko przesłane żądania niezwiązane z próbą,
-Interest Amount or Principal Amount is mandatory,Kwota odsetek lub kwota główna jest obowiązkowa,
-Disbursed Amount cannot be greater than {0},Wypłacona kwota nie może być większa niż {0},
-Row {0}: Loan Security {1} added multiple times,Wiersz {0}: Bezpieczeństwo pożyczki {1} został dodany wiele razy,
-Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Wiersz nr {0}: Element podrzędny nie powinien być pakietem produktów. Usuń element {1} i zapisz,
-Credit limit reached for customer {0},Osiągnięto limit kredytowy dla klienta {0},
-Could not auto create Customer due to the following missing mandatory field(s):,Nie można automatycznie utworzyć klienta z powodu następujących brakujących pól obowiązkowych:,
-Please create Customer from Lead {0}.,Utwórz klienta z potencjalnego klienta {0}.,
-Mandatory Missing,Obowiązkowy brak,
-Please set Payroll based on in Payroll settings,Ustaw listę płac na podstawie w ustawieniach listy płac,
-Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Dodatkowe wynagrodzenie: {0} już istnieje dla składnika wynagrodzenia: {1} za okres {2} i {3},
-From Date can not be greater than To Date.,Data początkowa nie może być większa niż data początkowa.,
-Payroll date can not be less than employee's joining date.,Data wypłaty nie może być wcześniejsza niż data przystąpienia pracownika.,
-From date can not be less than employee's joining date.,Data początkowa nie może być wcześniejsza niż data przystąpienia pracownika.,
-To date can not be greater than employee's relieving date.,Do tej pory nie może być późniejsza niż data zwolnienia pracownika.,
-Payroll date can not be greater than employee's relieving date.,Data wypłaty nie może być późniejsza niż data zwolnienia pracownika.,
-Row #{0}: Please enter the result value for {1},Wiersz nr {0}: wprowadź wartość wyniku dla {1},
-Mandatory Results,Obowiązkowe wyniki,
-Sales Invoice or Patient Encounter is required to create Lab Tests,Do tworzenia testów laboratoryjnych wymagana jest faktura sprzedaży lub spotkanie z pacjentami,
-Insufficient Data,Niedostateczna ilość danych,
-Lab Test(s) {0} created successfully,Test (y) laboratoryjne {0} zostały utworzone pomyślnie,
-Test :,Test:,
-Sample Collection {0} has been created,Utworzono zbiór próbek {0},
-Normal Range: ,Normalny zakres:,
-Row #{0}: Check Out datetime cannot be less than Check In datetime,Wiersz nr {0}: Data i godzina wyewidencjonowania nie może być mniejsza niż data i godzina wyewidencjonowania,
-"Missing required details, did not create Inpatient Record","Brak wymaganych szczegółów, nie utworzono rekordu pacjenta",
-Unbilled Invoices,Niezafakturowane faktury,
-Standard Selling Rate should be greater than zero.,Standardowa cena sprzedaży powinna być większa niż zero.,
-Conversion Factor is mandatory,Współczynnik konwersji jest obowiązkowy,
-Row #{0}: Conversion Factor is mandatory,Wiersz nr {0}: współczynnik konwersji jest obowiązkowy,
-Sample Quantity cannot be negative or 0,Ilość próbki nie może być ujemna ani 0,
-Invalid Quantity,Nieprawidłowa ilość,
-"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Ustaw wartości domyślne dla grupy klientów, terytorium i cennika sprzedaży w Ustawieniach sprzedaży",
-{0} on {1},{0} na {1},
-{0} with {1},{0} z {1},
-Appointment Confirmation Message Not Sent,Wiadomość z potwierdzeniem spotkania nie została wysłana,
-"SMS not sent, please check SMS Settings","SMS nie został wysłany, sprawdź ustawienia SMS",
-Healthcare Service Unit Type cannot have both {0} and {1},Typ jednostki usług opieki zdrowotnej nie może mieć jednocześnie {0} i {1},
-Healthcare Service Unit Type must allow atleast one among {0} and {1},Typ jednostki usług opieki zdrowotnej musi dopuszczać co najmniej jedną spośród {0} i {1},
-Set Response Time and Resolution Time for Priority {0} in row {1}.,Ustaw czas odpowiedzi i czas rozwiązania dla priorytetu {0} w wierszu {1}.,
-Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Czas odpowiedzi dla {0} priorytetu w wierszu {1} nie może być dłuższy niż czas rozwiązania.,
-{0} is not enabled in {1},{0} nie jest włączony w {1},
-Group by Material Request,Grupuj według żądania materiału,
-Email Sent to Supplier {0},Wiadomość e-mail wysłana do dostawcy {0},
-"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","Dostęp do zapytania ofertowego z portalu jest wyłączony. Aby zezwolić na dostęp, włącz go w ustawieniach portalu.",
-Supplier Quotation {0} Created,Oferta dostawcy {0} została utworzona,
-Valid till Date cannot be before Transaction Date,Data ważności do nie może być wcześniejsza niż data transakcji,
-Unlink Advance Payment on Cancellation of Order,Odłącz przedpłatę przy anulowaniu zamówienia,
-"Simple Python Expression, Example: territory != 'All Territories'","Proste wyrażenie w Pythonie, przykład: terytorium! = &#39;Wszystkie terytoria&#39;",
-Sales Contributions and Incentives,Składki na sprzedaż i zachęty,
-Sourced by Supplier,Źródło: Dostawca,
-Total weightage assigned should be 100%.<br>It is {0},Łączna przypisana waga powinna wynosić 100%.<br> To jest {0},
-Account {0} exists in parent company {1}.,Konto {0} istnieje w firmie macierzystej {1}.,
-"To overrule this, enable '{0}' in company {1}","Aby to zmienić, włącz „{0}” w firmie {1}",
-Invalid condition expression,Nieprawidłowe wyrażenie warunku,
-Please Select a Company First,Najpierw wybierz firmę,
-Please Select Both Company and Party Type First,Najpierw wybierz firmę i typ strony,
-Provide the invoice portion in percent,Podaj część faktury w procentach,
-Give number of days according to prior selection,Podaj liczbę dni według wcześniejszego wyboru,
-Email Details,Szczegóły wiadomości e-mail,
-"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Wybierz powitanie dla odbiorcy. Np. Pan, Pani itp.",
-Preview Email,Podgląd wiadomości e-mail,
-Please select a Supplier,Wybierz dostawcę,
-Supplier Lead Time (days),Czas oczekiwania dostawcy (dni),
-"Home, Work, etc.","Dom, praca itp.",
-Exit Interview Held On,Zakończ rozmowę kwalifikacyjną wstrzymaną,
-Condition and formula,Stan i formuła,
-Sets 'Target Warehouse' in each row of the Items table.,Ustawia „Magazyn docelowy” w każdym wierszu tabeli Towary.,
-Sets 'Source Warehouse' in each row of the Items table.,Ustawia „Magazyn źródłowy” w każdym wierszu tabeli Towary.,
-POS Register,Rejestr POS,
-"Can not filter based on POS Profile, if grouped by POS Profile","Nie można filtrować na podstawie profilu POS, jeśli są pogrupowane według profilu POS",
-"Can not filter based on Customer, if grouped by Customer","Nie można filtrować na podstawie klienta, jeśli jest pogrupowany według klienta",
-"Can not filter based on Cashier, if grouped by Cashier","Nie można filtrować na podstawie Kasjera, jeśli jest pogrupowane według Kasjera",
-Payment Method,Metoda płatności,
-"Can not filter based on Payment Method, if grouped by Payment Method","Nie można filtrować na podstawie metody płatności, jeśli są pogrupowane według metody płatności",
-Supplier Quotation Comparison,Porównanie ofert dostawców,
-Price per Unit (Stock UOM),Cena za jednostkę (JM z magazynu),
-Group by Supplier,Grupuj według dostawcy,
-Group by Item,Grupuj według pozycji,
-Remember to set {field_label}. It is required by {regulation}.,"Pamiętaj, aby ustawić {field_label}. Jest to wymagane przez {przepis}.",
-Enrollment Date cannot be before the Start Date of the Academic Year {0},Data rejestracji nie może być wcześniejsza niż data rozpoczęcia roku akademickiego {0},
-Enrollment Date cannot be after the End Date of the Academic Term {0},Data rejestracji nie może być późniejsza niż data zakończenia okresu akademickiego {0},
-Enrollment Date cannot be before the Start Date of the Academic Term {0},Data rejestracji nie może być wcześniejsza niż data rozpoczęcia semestru akademickiego {0},
-Future Posting Not Allowed,Niedozwolone publikowanie w przyszłości,
-"To enable Capital Work in Progress Accounting, ","Aby włączyć księgowość produkcji w toku,",
-you must select Capital Work in Progress Account in accounts table,w tabeli kont należy wybrać Rachunek kapitałowy w toku,
-You can also set default CWIP account in Company {},Możesz także ustawić domyślne konto CWIP w firmie {},
-The Request for Quotation can be accessed by clicking on the following button,"Dostęp do zapytania ofertowego można uzyskać, klikając poniższy przycisk",
-Regards,pozdrowienia,
-Please click on the following button to set your new password,"Kliknij poniższy przycisk, aby ustawić nowe hasło",
-Update Password,Aktualizować hasło,
-Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Wiersz nr {}: współczynnik sprzedaży dla przedmiotu {} jest niższy niż jego {}. Sprzedawanie {} powinno wynosić co najmniej {},
-You can alternatively disable selling price validation in {} to bypass this validation.,"Alternatywnie możesz wyłączyć weryfikację ceny sprzedaży w {}, aby ominąć tę weryfikację.",
-Invalid Selling Price,Nieprawidłowa cena sprzedaży,
-Address needs to be linked to a Company. Please add a row for Company in the Links table.,Adres musi być powiązany z firmą. Dodaj wiersz Firma w tabeli Łącza.,
-Company Not Linked,Firma niepowiązana,
-Import Chart of Accounts from CSV / Excel files,Importuj plan kont z plików CSV / Excel,
-Completed Qty cannot be greater than 'Qty to Manufacture',Ukończona ilość nie może być większa niż „Ilość do wyprodukowania”,
-"Row {0}: For Supplier {1}, Email Address is Required to send an email",Wiersz {0}: W przypadku dostawcy {1} do wysłania wiadomości e-mail wymagany jest adres e-mail,
-"If enabled, the system will post accounting entries for inventory automatically","Jeśli jest włączona, system automatycznie zaksięguje zapisy księgowe dotyczące zapasów",
-Accounts Frozen Till Date,Konta zamrożone do daty,
-Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,Do tej daty zapisy księgowe są zamrożone. Nikt nie może tworzyć ani modyfikować wpisów z wyjątkiem użytkowników z rolą określoną poniżej,
-Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Rola dozwolona do ustawiania zamrożonych kont i edycji zamrożonych wpisów,
-Address used to determine Tax Category in transactions,Adres używany do określenia kategorii podatku w transakcjach,
-"The percentage you are allowed to bill more against the amount ordered. For example, if the order value is $100 for an item and tolerance is set as 10%, then you are allowed to bill up to $110 ","Procent, w jakim możesz zwiększyć rachunek od zamówionej kwoty. Na przykład, jeśli wartość zamówienia wynosi 100 USD za towar, a tolerancja jest ustawiona na 10%, możesz wystawić rachunek do 110 USD",
-This role is allowed to submit transactions that exceed credit limits,Ta rola umożliwia zgłaszanie transakcji przekraczających limity kredytowe,
-"If ""Months"" is selected, a fixed amount will be booked as deferred revenue or expense for each month irrespective of the number of days in a month. It will be prorated if deferred revenue or expense is not booked for an entire month","Jeśli zostanie wybrana opcja „Miesiące”, stała kwota zostanie zaksięgowana jako odroczone przychody lub wydatki dla każdego miesiąca, niezależnie od liczby dni w miesiącu. Zostanie naliczona proporcjonalnie, jeśli odroczone przychody lub wydatki nie zostaną zaksięgowane na cały miesiąc",
-"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Jeśli ta opcja nie jest zaznaczona, zostaną utworzone bezpośrednie wpisy GL w celu zaksięgowania odroczonych przychodów lub kosztów",
-Show Inclusive Tax in Print,Pokaż podatek wliczony w cenę w druku,
-Only select this if you have set up the Cash Flow Mapper documents,"Wybierz tę opcję tylko wtedy, gdy skonfigurowałeś dokumenty Cash Flow Mapper",
-Payment Channel,Kanał płatności,
-Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Czy do wystawienia faktury i paragonu zakupu wymagane jest zamówienie zakupu?,
-Is Purchase Receipt Required for Purchase Invoice Creation?,Czy do utworzenia faktury zakupu jest wymagany dowód zakupu?,
-Maintain Same Rate Throughout the Purchase Cycle,Utrzymuj tę samą stawkę w całym cyklu zakupu,
-Allow Item To Be Added Multiple Times in a Transaction,Zezwalaj na wielokrotne dodawanie przedmiotu w transakcji,
-Suppliers,Dostawcy,
-Send Emails to Suppliers,Wyślij e-maile do dostawców,
-Select a Supplier,Wybierz dostawcę,
-Cannot mark attendance for future dates.,Nie można oznaczyć obecności na przyszłe daty.,
-Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Czy chcesz zaktualizować frekwencję?<br> Obecnie: {0}<br> Nieobecny: {1},
-Mpesa Settings,Ustawienia Mpesa,
-Initiator Name,Nazwa inicjatora,
-Till Number,Do numeru,
-Sandbox,Piaskownica,
- Online PassKey,Online PassKey,
-Security Credential,Poświadczenie bezpieczeństwa,
-Get Account Balance,Sprawdź saldo konta,
-Please set the initiator name and the security credential,Ustaw nazwę inicjatora i poświadczenia bezpieczeństwa,
-Inpatient Medication Entry,Wpis leków szpitalnych,
-HLC-IME-.YYYY.-,HLC-IME-.YYYY.-,
-Item Code (Drug),Kod pozycji (lek),
-Medication Orders,Zamówienia na lekarstwa,
-Get Pending Medication Orders,Uzyskaj oczekujące zamówienia na leki,
-Inpatient Medication Orders,Zamówienia na leki szpitalne,
-Medication Warehouse,Magazyn leków,
-Warehouse from where medication stock should be consumed,"Magazyn, z którego należy skonsumować zapasy leków",
-Fetching Pending Medication Orders,Pobieranie oczekujących zamówień na leki,
-Inpatient Medication Entry Detail,Szczegóły dotyczące przyjmowania leków szpitalnych,
-Medication Details,Szczegóły leków,
-Drug Code,Kod leku,
-Drug Name,Nazwa leku,
-Against Inpatient Medication Order,Nakaz przeciwdziałania lekom szpitalnym,
-Against Inpatient Medication Order Entry,Wpis zamówienia przeciwko lekarstwom szpitalnym,
-Inpatient Medication Order,Zamówienie na leki szpitalne,
-HLC-IMO-.YYYY.-,HLC-IMO-.YYYY.-,
-Total Orders,Całkowita liczba zamówień,
-Completed Orders,Zrealizowane zamówienia,
-Add Medication Orders,Dodaj zamówienia na leki,
-Adding Order Entries,Dodawanie wpisów zamówienia,
-{0} medication orders completed,Zrealizowano {0} zamówień na leki,
-{0} medication order completed,Zrealizowano {0} zamówienie na lek,
-Inpatient Medication Order Entry,Wpis zamówienia leków szpitalnych,
-Is Order Completed,Zamówienie zostało zrealizowane,
-Employee Records to Be Created By,Dokumentacja pracowników do utworzenia przez,
-Employee records are created using the selected field,Rekordy pracowników są tworzone przy użyciu wybranego pola,
-Don't send employee birthday reminders,Nie wysyłaj pracownikom przypomnień o urodzinach,
-Restrict Backdated Leave Applications,Ogranicz aplikacje urlopowe z datą wsteczną,
-Sequence ID,Identyfikator sekwencji,
-Sequence Id,Id. Sekwencji,
-Allow multiple material consumptions against a Work Order,Zezwalaj na wielokrotne zużycie materiałów w ramach zlecenia pracy,
-Plan time logs outside Workstation working hours,Planuj dzienniki czasu poza godzinami pracy stacji roboczej,
-Plan operations X days in advance,Planuj operacje z X-dniowym wyprzedzeniem,
-Time Between Operations (Mins),Czas między operacjami (min),
-Default: 10 mins,Domyślnie: 10 min,
-Overproduction for Sales and Work Order,Nadprodukcja dla sprzedaży i zlecenia pracy,
-"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","Aktualizuj koszt BOM automatycznie za pomocą harmonogramu, na podstawie ostatniego kursu wyceny / kursu cennika / ostatniego kursu zakupu surowców",
-Purchase Order already created for all Sales Order items,Zamówienie zakupu zostało już utworzone dla wszystkich pozycji zamówienia sprzedaży,
-Select Items,Wybierz elementy,
-Against Default Supplier,Wobec domyślnego dostawcy,
-Auto close Opportunity after the no. of days mentioned above,Automatyczne zamknięcie Okazja po nr. dni wymienionych powyżej,
-Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Czy do tworzenia faktur sprzedaży i dokumentów dostawy wymagane jest zamówienie sprzedaży?,
-Is Delivery Note Required for Sales Invoice Creation?,Czy do utworzenia faktury sprzedaży jest wymagany dowód dostawy?,
-How often should Project and Company be updated based on Sales Transactions?,Jak często należy aktualizować projekt i firmę na podstawie transakcji sprzedaży?,
-Allow User to Edit Price List Rate in Transactions,Pozwól użytkownikowi edytować stawkę cennika w transakcjach,
-Allow Item to Be Added Multiple Times in a Transaction,Zezwalaj na wielokrotne dodawanie przedmiotu w transakcji,
-Allow Multiple Sales Orders Against a Customer's Purchase Order,Zezwalaj na wiele zamówień sprzedaży w ramach zamówienia klienta,
-Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Sprawdź cenę sprzedaży przedmiotu w stosunku do kursu zakupu lub kursu wyceny,
-Hide Customer's Tax ID from Sales Transactions,Ukryj identyfikator podatkowy klienta w transakcjach sprzedaży,
-"The percentage you are allowed to receive or deliver more against the quantity ordered. For example, if you have ordered 100 units, and your Allowance is 10%, then you are allowed to receive 110 units.","Procent, jaki możesz otrzymać lub dostarczyć więcej w stosunku do zamówionej ilości. Na przykład, jeśli zamówiłeś 100 jednostek, a Twój dodatek wynosi 10%, możesz otrzymać 110 jednostek.",
-Action If Quality Inspection Is Not Submitted,"Działanie, jeśli kontrola jakości nie zostanie przesłana",
-Auto Insert Price List Rate If Missing,"Automatycznie wstaw stawkę cennika, jeśli brakuje",
-Automatically Set Serial Nos Based on FIFO,Automatycznie ustaw numery seryjne w oparciu o FIFO,
-Set Qty in Transactions Based on Serial No Input,Ustaw ilość w transakcjach na podstawie numeru seryjnego,
-Raise Material Request When Stock Reaches Re-order Level,"Podnieś żądanie materiałowe, gdy zapasy osiągną poziom ponownego zamówienia",
-Notify by Email on Creation of Automatic Material Request,Powiadamiaj e-mailem o utworzeniu automatycznego wniosku o materiał,
-Allow Material Transfer from Delivery Note to Sales Invoice,Zezwól na przeniesienie materiału z potwierdzenia dostawy do faktury sprzedaży,
-Allow Material Transfer from Purchase Receipt to Purchase Invoice,Zezwól na przeniesienie materiału z paragonu zakupu do faktury zakupu,
-Freeze Stocks Older Than (Days),Zatrzymaj zapasy starsze niż (dni),
-Role Allowed to Edit Frozen Stock,Rola uprawniona do edycji zamrożonych zapasów,
-The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,Nieprzydzielona kwota wpisu płatności {0} jest większa niż nieprzydzielona kwota transakcji bankowej,
-Payment Received,Otrzymano zapłatę,
-Attendance cannot be marked outside of Academic Year {0},Nie można oznaczyć obecności poza rokiem akademickim {0},
-Student is already enrolled via Course Enrollment {0},Student jest już zapisany za pośrednictwem rejestracji na kurs {0},
-Attendance cannot be marked for future dates.,Nie można zaznaczyć obecności na przyszłe daty.,
-Please add programs to enable admission application.,"Dodaj programy, aby włączyć aplikację o przyjęcie.",
-The following employees are currently still reporting to {0}:,Następujący pracownicy nadal podlegają obecnie {0}:,
-Please make sure the employees above report to another Active employee.,"Upewnij się, że powyżsi pracownicy zgłaszają się do innego aktywnego pracownika.",
-Cannot Relieve Employee,Nie można zwolnić pracownika,
-Please enter {0},Wprowadź {0},
-Please select another payment method. Mpesa does not support transactions in currency '{0}',Wybierz inną metodę płatności. MPesa nie obsługuje transakcji w walucie „{0}”,
-Transaction Error,Błąd transakcji,
-Mpesa Express Transaction Error,Błąd transakcji Mpesa Express,
-"Issue detected with Mpesa configuration, check the error logs for more details","Wykryto problem z konfiguracją Mpesa, sprawdź dzienniki błędów, aby uzyskać więcej informacji",
-Mpesa Express Error,Błąd Mpesa Express,
-Account Balance Processing Error,Błąd przetwarzania salda konta,
-Please check your configuration and try again,Sprawdź konfigurację i spróbuj ponownie,
-Mpesa Account Balance Processing Error,Błąd przetwarzania salda konta Mpesa,
-Balance Details,Szczegóły salda,
-Current Balance,Aktualne saldo,
-Available Balance,Dostępne saldo,
-Reserved Balance,Zarezerwowane saldo,
-Uncleared Balance,Nierówna równowaga,
-Payment related to {0} is not completed,Płatność związana z {0} nie została zakończona,
-Row #{}: Item Code: {} is not available under warehouse {}.,Wiersz nr {}: kod towaru: {} nie jest dostępny w magazynie {}.,
-Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Wiersz nr {}: Niewystarczająca ilość towaru dla kodu towaru: {} w magazynie {}. Dostępna Ilość {}.,
-Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,"Wiersz nr {}: Wybierz numer seryjny i partię dla towaru: {} lub usuń je, aby zakończyć transakcję.",
-Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,"Wiersz nr {}: nie wybrano numeru seryjnego dla pozycji: {}. Wybierz jeden lub usuń go, aby zakończyć transakcję.",
-Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,"Wiersz nr {}: nie wybrano partii dla elementu: {}. Wybierz pakiet lub usuń go, aby zakończyć transakcję.",
-Payment amount cannot be less than or equal to 0,Kwota płatności nie może być mniejsza lub równa 0,
-Please enter the phone number first,Najpierw wprowadź numer telefonu,
-Row #{}: {} {} does not exist.,Wiersz nr {}: {} {} nie istnieje.,
-Row #{0}: {1} is required to create the Opening {2} Invoices,Wiersz nr {0}: {1} jest wymagany do utworzenia faktur otwarcia {2},
-You had {} errors while creating opening invoices. Check {} for more details,"Podczas otwierania faktur wystąpiło {} błędów. Sprawdź {}, aby uzyskać więcej informacji",
-Error Occured,Wystąpił błąd,
-Opening Invoice Creation In Progress,Otwieranie faktury w toku,
-Creating {} out of {} {},Tworzenie {} z {} {},
-(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,"(Nr seryjny: {0}) nie może zostać wykorzystany, ponieważ jest ponownie wysyłany w celu wypełnienia zamówienia sprzedaży {1}.",
-Item {0} {1},Przedmiot {0} {1},
-Last Stock Transaction for item {0} under warehouse {1} was on {2}.,Ostatnia transakcja magazynowa dotycząca towaru {0} w magazynie {1} miała miejsce w dniu {2}.,
-Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Transakcje magazynowe dla pozycji {0} w magazynie {1} nie mogą być księgowane przed tą godziną.,
-Posting future stock transactions are not allowed due to Immutable Ledger,Księgowanie przyszłych transakcji magazynowych nie jest dozwolone ze względu na niezmienną księgę,
-A BOM with name {0} already exists for item {1}.,Zestawienie komponentów o nazwie {0} już istnieje dla towaru {1}.,
-{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Czy zmieniłeś nazwę elementu? Skontaktuj się z administratorem / pomocą techniczną,
-At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},W wierszu {0}: identyfikator sekwencji {1} nie może być mniejszy niż identyfikator sekwencji poprzedniego wiersza {2},
-The {0} ({1}) must be equal to {2} ({3}),{0} ({1}) musi być równe {2} ({3}),
-"{0}, complete the operation {1} before the operation {2}.","{0}, zakończ operację {1} przed operacją {2}.",
-Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,"Nie można zapewnić dostawy według numeru seryjnego, ponieważ pozycja {0} jest dodawana zi bez opcji Zapewnij dostawę według numeru seryjnego.",
-Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Przedmiot {0} nie ma numeru seryjnego. Tylko przesyłki seryjne mogą być dostarczane na podstawie numeru seryjnego,
-No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Nie znaleziono aktywnego zestawienia komponentów dla pozycji {0}. Nie można zagwarantować dostawy według numeru seryjnego,
-No pending medication orders found for selected criteria,Nie znaleziono oczekujących zamówień na leki dla wybranych kryteriów,
-From Date cannot be after the current date.,Data początkowa nie może być późniejsza niż data bieżąca.,
-To Date cannot be after the current date.,Data końcowa nie może być późniejsza niż data bieżąca.,
-From Time cannot be after the current time.,Od godziny nie może być późniejsza niż aktualna godzina.,
-To Time cannot be after the current time.,To Time nie może być późniejsze niż aktualna godzina.,
-Stock Entry {0} created and ,Utworzono wpis giełdowy {0} i,
-Inpatient Medication Orders updated successfully,Zamówienia na leki szpitalne zostały pomyślnie zaktualizowane,
-Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Wiersz {0}: Cannot create the Inpatient Medication Entry for an incpatient medication Order {1},
-Row {0}: This Medication Order is already marked as completed,Wiersz {0}: to zamówienie na lek jest już oznaczone jako zrealizowane,
-Quantity not available for {0} in warehouse {1},Ilość niedostępna dla {0} w magazynie {1},
-Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"Włącz opcję Zezwalaj na ujemne zapasy w ustawieniach zapasów lub utwórz wpis zapasów, aby kontynuować.",
-No Inpatient Record found against patient {0},Nie znaleziono dokumentacji szpitalnej dotyczącej pacjenta {0},
-An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Istnieje już nakaz leczenia szpitalnego {0} przeciwko spotkaniu z pacjentami {1}.,
-Allow In Returns,Zezwalaj na zwroty,
-Hide Unavailable Items,Ukryj niedostępne elementy,
-Apply Discount on Discounted Rate,Zastosuj zniżkę na obniżoną stawkę,
-Therapy Plan Template,Szablon planu terapii,
-Fetching Template Details,Pobieranie szczegółów szablonu,
-Linked Item Details,Szczegóły połączonego elementu,
-Therapy Types,Rodzaje terapii,
-Therapy Plan Template Detail,Szczegóły szablonu planu terapii,
-Non Conformance,Niezgodność,
-Process Owner,Właściciel procesu,
-Corrective Action,Działania naprawcze,
-Preventive Action,Akcja prewencyjna,
-Problem,Problem,
-Responsible,Odpowiedzialny,
-Completion By,Zakończenie do,
-Process Owner Full Name,Imię i nazwisko właściciela procesu,
-Right Index,Prawy indeks,
-Left Index,Lewy indeks,
-Sub Procedure,Procedura podrzędna,
-Passed,Zdał,
-Print Receipt,Wydrukuj pokwitowanie,
-Edit Receipt,Edytuj rachunek,
-Focus on search input,Skoncentruj się na wyszukiwaniu,
-Focus on Item Group filter,Skoncentruj się na filtrze grupy przedmiotów,
-Checkout Order / Submit Order / New Order,Zamówienie do kasy / Prześlij zamówienie / Nowe zamówienie,
-Add Order Discount,Dodaj rabat na zamówienie,
-Item Code: {0} is not available under warehouse {1}.,Kod towaru: {0} nie jest dostępny w magazynie {1}.,
-Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Numery seryjne są niedostępne dla towaru {0} w magazynie {1}. Spróbuj zmienić magazyn.,
-Fetched only {0} available serial numbers.,Pobrano tylko {0} dostępnych numerów seryjnych.,
-Switch Between Payment Modes,Przełącz między trybami płatności,
-Enter {0} amount.,Wprowadź kwotę {0}.,
-You don't have enough points to redeem.,"Nie masz wystarczającej liczby punktów, aby je wymienić.",
-You can redeem upto {0}.,Możesz wykorzystać maksymalnie {0}.,
-Enter amount to be redeemed.,Wprowadź kwotę do wykupu.,
-You cannot redeem more than {0}.,Nie możesz wykorzystać więcej niż {0}.,
-Open Form View,Otwórz widok formularza,
-POS invoice {0} created succesfully,Faktura POS {0} została utworzona pomyślnie,
-Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Za mało towaru dla kodu towaru: {0} w magazynie {1}. Dostępna ilość {2}.,
-Serial No: {0} has already been transacted into another POS Invoice.,Nr seryjny: {0} został już sprzedany na inną fakturę POS.,
-Balance Serial No,Nr seryjny wagi,
-Warehouse: {0} does not belong to {1},Magazyn: {0} nie należy do {1},
-Please select batches for batched item {0},Wybierz partie dla produktu wsadowego {0},
-Please select quantity on row {0},Wybierz ilość w wierszu {0},
-Please enter serial numbers for serialized item {0},Wprowadź numery seryjne dla towaru z numerem seryjnym {0},
-Batch {0} already selected.,Wiązka {0} już wybrana.,
-Please select a warehouse to get available quantities,"Wybierz magazyn, aby uzyskać dostępne ilości",
-"For transfer from source, selected quantity cannot be greater than available quantity",W przypadku transferu ze źródła wybrana ilość nie może być większa niż ilość dostępna,
-Cannot find Item with this Barcode,Nie można znaleźć przedmiotu z tym kodem kreskowym,
-{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} jest obowiązkowe. Być może rekord wymiany walut nie jest tworzony dla {1} do {2},
-{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,"{} przesłał zasoby z nim powiązane. Musisz anulować zasoby, aby utworzyć zwrot zakupu.",
-Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Nie można anulować tego dokumentu, ponieważ jest on powiązany z przesłanym zasobem {0}. Anuluj, aby kontynuować.",
-Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Wiersz nr {}: Numer seryjny {} został już przetworzony na inną fakturę POS. Proszę wybrać prawidłowy numer seryjny.,
-Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Wiersz nr {}: numery seryjne {} zostały już przetworzone na inną fakturę POS. Proszę wybrać prawidłowy numer seryjny.,
-Item Unavailable,Pozycja niedostępna,
-Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Wiersz nr {}: nr seryjny {} nie może zostać zwrócony, ponieważ nie był przedmiotem transakcji na oryginalnej fakturze {}",
-Please set default Cash or Bank account in Mode of Payment {},Ustaw domyślne konto gotówkowe lub bankowe w trybie płatności {},
-Please set default Cash or Bank account in Mode of Payments {},Ustaw domyślne konto gotówkowe lub bankowe w Trybie płatności {},
-Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Upewnij się, że konto {} jest kontem bilansowym. Możesz zmienić konto nadrzędne na konto bilansowe lub wybrać inne konto.",
-Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Upewnij się, że konto {} jest kontem płatnym. Zmień typ konta na Płatne lub wybierz inne konto.",
-Row {}: Expense Head changed to {} ,Wiersz {}: nagłówek wydatków zmieniony na {},
-because account {} is not linked to warehouse {} ,ponieważ konto {} nie jest połączone z magazynem {},
-or it is not the default inventory account,lub nie jest to domyślne konto magazynowe,
-Expense Head Changed,Zmiana głowy wydatków,
-because expense is booked against this account in Purchase Receipt {},ponieważ wydatek jest księgowany na tym koncie na dowodzie zakupu {},
-as no Purchase Receipt is created against Item {}. ,ponieważ dla przedmiotu {} nie jest tworzony dowód zakupu.,
-This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Ma to na celu obsługę księgowania przypadków, w których paragon zakupu jest tworzony po fakturze zakupu",
-Purchase Order Required for item {},Wymagane zamówienie zakupu dla produktu {},
-To submit the invoice without purchase order please set {} ,"Aby przesłać fakturę bez zamówienia, należy ustawić {}",
-as {} in {},jak w {},
-Mandatory Purchase Order,Obowiązkowe zamówienie zakupu,
-Purchase Receipt Required for item {},Potwierdzenie zakupu jest wymagane dla przedmiotu {},
-To submit the invoice without purchase receipt please set {} ,"Aby przesłać fakturę bez dowodu zakupu, ustaw {}",
-Mandatory Purchase Receipt,Obowiązkowy dowód zakupu,
-POS Profile {} does not belongs to company {},Profil POS {} nie należy do firmy {},
-User {} is disabled. Please select valid user/cashier,Użytkownik {} jest wyłączony. Wybierz prawidłowego użytkownika / kasjera,
-Row #{}: Original Invoice {} of return invoice {} is {}. ,Wiersz nr {}: Oryginalna faktura {} faktury zwrotnej {} to {}.,
-Original invoice should be consolidated before or along with the return invoice.,Oryginał faktury należy skonsolidować przed lub wraz z fakturą zwrotną.,
-You can add original invoice {} manually to proceed.,"Aby kontynuować, możesz ręcznie dodać oryginalną fakturę {}.",
-Please ensure {} account is a Balance Sheet account. ,"Upewnij się, że konto {} jest kontem bilansowym.",
-You can change the parent account to a Balance Sheet account or select a different account.,Możesz zmienić konto nadrzędne na konto bilansowe lub wybrać inne konto.,
-Please ensure {} account is a Receivable account. ,"Upewnij się, że konto {} jest kontem należnym.",
-Change the account type to Receivable or select a different account.,Zmień typ konta na Odbywalne lub wybierz inne konto.,
-{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"Nie można anulować {}, ponieważ zebrane punkty lojalnościowe zostały wykorzystane. Najpierw anuluj {} Nie {}",
-already exists,już istnieje,
-POS Closing Entry {} against {} between selected period,Wejście zamknięcia POS {} względem {} między wybranym okresem,
-POS Invoice is {},Faktura POS to {},
-POS Profile doesn't matches {},Profil POS nie pasuje {},
-POS Invoice is not {},Faktura POS nie jest {},
-POS Invoice isn't created by user {},Faktura POS nie jest tworzona przez użytkownika {},
-Row #{}: {},Wiersz nr {}: {},
-Invalid POS Invoices,Nieprawidłowe faktury POS,
-Please add the account to root level Company - {},Dodaj konto do poziomu Firma - {},
-"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",Podczas tworzenia konta dla firmy podrzędnej {0} nie znaleziono konta nadrzędnego {1}. Utwórz konto rodzica w odpowiednim certyfikacie autentyczności,
-Account Not Found,Konto nie znalezione,
-"While creating account for Child Company {0}, parent account {1} found as a ledger account.",Podczas tworzenia konta dla Firmy podrzędnej {0} konto nadrzędne {1} zostało uznane za konto księgowe.,
-Please convert the parent account in corresponding child company to a group account.,Zmień konto nadrzędne w odpowiedniej firmie podrzędnej na konto grupowe.,
-Invalid Parent Account,Nieprawidłowe konto nadrzędne,
-"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Zmiana nazwy jest dozwolona tylko za pośrednictwem firmy macierzystej {0}, aby uniknąć niezgodności.",
-"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",W przypadku {0} {1} ilości towaru {2} schemat {3} zostanie zastosowany do towaru.,
-"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Jeśli {0} {1} cenisz przedmiot {2}, schemat {3} zostanie zastosowany do elementu.",
-"As the field {0} is enabled, the field {1} is mandatory.","Ponieważ pole {0} jest włączone, pole {1} jest obowiązkowe.",
-"As the field {0} is enabled, the value of the field {1} should be more than 1.","Ponieważ pole {0} jest włączone, wartość pola {1} powinna być większa niż 1.",
-Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Nie można dostarczyć numeru seryjnego {0} elementu {1}, ponieważ jest on zarezerwowany do realizacji zamówienia sprzedaży {2}",
-"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Zamówienie sprzedaży {0} ma rezerwację na produkt {1}, możesz dostarczyć zarezerwowane tylko {1} w ramach {0}.",
-{0} Serial No {1} cannot be delivered,Nie można dostarczyć {0} numeru seryjnego {1},
-Row {0}: Subcontracted Item is mandatory for the raw material {1},Wiersz {0}: Pozycja podwykonawcza jest obowiązkowa dla surowca {1},
-"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Ponieważ ilość surowców jest wystarczająca, żądanie materiałów nie jest wymagane dla magazynu {0}.",
-" If you still want to proceed, please enable {0}.","Jeśli nadal chcesz kontynuować, włącz {0}.",
-The item referenced by {0} - {1} is already invoiced,"Pozycja, do której odwołuje się {0} - {1}, została już zafakturowana",
-Therapy Session overlaps with {0},Sesja terapeutyczna pokrywa się z {0},
-Therapy Sessions Overlapping,Nakładanie się sesji terapeutycznych,
-Therapy Plans,Plany terapii,
-"Item Code, warehouse, quantity are required on row {0}","Kod pozycji, magazyn, ilość są wymagane w wierszu {0}",
-Get Items from Material Requests against this Supplier,Pobierz pozycje z żądań materiałowych od tego dostawcy,
-Enable European Access,Włącz dostęp w Europie,
-Creating Purchase Order ...,Tworzenie zamówienia zakupu ...,
-"Select a Supplier from the Default Suppliers of the items below. On selection, a Purchase Order will be made against items belonging to the selected Supplier only.","Wybierz dostawcę spośród domyślnych dostawców z poniższych pozycji. Po dokonaniu wyboru, Zamówienie zostanie złożone wyłącznie dla pozycji należących do wybranego Dostawcy.",
-Row #{}: You must select {} serial numbers for item {}.,Wiersz nr {}: należy wybrać {} numery seryjne dla towaru {}.,
+"""Customer Provided Item"" cannot be Purchase Item also","""Element dostarczony przez klienta"" nie może być również elementem nabycia",
+"""Customer Provided Item"" cannot have Valuation Rate","""Element dostarczony przez klienta"" nie może mieć wskaźnika wyceny",
+"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","""Jest Środkiem Trwałym"" nie może być odznaczone, jeśli istnieją pozycje z takim ustawieniem",
+'Based On' and 'Group By' can not be same,"Pola ""Bazuje na"" i ""Grupuj wg."" nie mogą być takie same",
+'Days Since Last Order' must be greater than or equal to zero,Pole 'Dni od ostatniego zamówienia' musi być większe bądź równe zero,
+'Entries' cannot be empty,Pole 'Wpisy' nie może być puste,
+'From Date' is required,Pole 'Od daty' jest wymagane,
+'From Date' must be after 'To Date',Pole 'Od daty' musi następować później niż 'Do daty',
+'Has Serial No' can not be 'Yes' for non-stock item,Numer seryjny nie jest dostępny dla pozycji niemagazynowych,
+'Opening',&quot;Otwarcie&quot;,
+'To Case No.' cannot be less than 'From Case No.','To Case No.' nie powinno być mniejsze niż 'From Case No.',
+'To Date' is required,'Do daty' jest wymaganym polem,
+'Total',&#39;Całkowity&#39;,
+'Update Stock' can not be checked because items are not delivered via {0},"'Aktualizuj Stan' nie może być zaznaczone, ponieważ elementy nie są dostarczane przez {0}",
+'Update Stock' cannot be checked for fixed asset sale,Opcja 'Aktualizuj Stan' nie może być zaznaczona dla sprzedaży środka trwałego,
+) for {0},) dla {0},
+1 exact match.,1 dokładny mecz.,
+90-Above,90-Ponad,
+A Customer Group exists with same name please change the Customer name or rename the Customer Group,Grupa Odbiorców posiada taką nazwę - wprowadź inną nazwę Odbiorcy lub zmień nazwę Grupy,
+A Default Service Level Agreement already exists.,Domyślna umowa dotycząca poziomu usług już istnieje.,
+A Lead requires either a person's name or an organization's name,Ołów wymaga nazwy osoby lub nazwy organizacji,
+A customer with the same name already exists,Klient o tej samej nazwie już istnieje,
+A question must have more than one options,Pytanie musi mieć więcej niż jedną opcję,
+A qustion must have at least one correct options,Qustion musi mieć co najmniej jedną poprawną opcję,
+A {0} exists between {1} and {2} (,{0} istnieje pomiędzy {1} a {2} (,
+A4,A4,
+API Endpoint,Punkt końcowy API,
+API Key,Klucz API,
+Abbr can not be blank or space,Skrót nie może być pusty lub być spacją,
+Abbreviation already used for another company,Skrót już używany przez inną firmę,
+Abbreviation cannot have more than 5 characters,Skrót nie może posiadać więcej niż 5 znaków,
+Abbreviation is mandatory,Skrót jest obowiązkowy,
+About the Company,O firmie,
+About your company,O Twojej firmie,
+Above,Powyżej,
+Absent,Nieobecny,
+Academic Term,semestr,
+Academic Term: ,Okres akademicki:,
+Academic Year,Rok akademicki,
+Academic Year: ,Rok akademicki:,
+Accepted + Rejected Qty must be equal to Received quantity for Item {0},Ilość Przyjętych + Odrzuconych musi odpowiadać ilości Odebranych (Element {0}),
+Access Token,Dostęp za pomocą Tokenu,
+Accessable Value,Dostępna wartość,
+Account,Konto,
+Account Number,Numer konta,
+Account Number {0} already used in account {1},Numer konta {0} jest już używany na koncie {1},
+Account Pay Only,Tylko płatne konto,
+Account Type,typ konta,
+Account Type for {0} must be {1},Typ konta dla {0} musi być {1},
+"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Konto jest na minusie, nie możesz ustawić wymagań jako debet.",
+"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Konto jest na minusie, nie możesz ustawić wymagań jako kredyt.",
+Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Numer konta dla konta {0} jest niedostępny. <br> Skonfiguruj poprawnie swój plan kont.,
+Account with child nodes cannot be converted to ledger,Konto grupujące inne konta nie może być konwertowane,
+Account with child nodes cannot be set as ledger,Konto z węzłów podrzędnych nie może być ustawiony jako księgi,
+Account with existing transaction can not be converted to group.,Konto z istniejącymi zapisami nie może być konwertowane na Grupę (konto dzielone).,
+Account with existing transaction can not be deleted,Konto z istniejącymi zapisami nie może być usunięte,
+Account with existing transaction cannot be converted to ledger,Konto z istniejącymi zapisami nie może być konwertowane,
+Account {0} does not belong to company: {1},Konto {0} nie należy do firmy: {1},
+Account {0} does not belongs to company {1},Konto {0} nie należy do firmy {1},
+Account {0} does not exist,Konto {0} nie istnieje,
+Account {0} does not exists,Konto {0} nie istnieje,
+Account {0} does not match with Company {1} in Mode of Account: {2},Konto {0} nie jest zgodne z firmą {1} w trybie konta: {2},
+Account {0} has been entered multiple times,Konto {0} zostało wprowadzone wielokrotnie,
+Account {0} is added in the child company {1},Konto {0} zostało dodane w firmie podrzędnej {1},
+Account {0} is frozen,Konto {0} jest zamrożone,
+Account {0} is invalid. Account Currency must be {1},Konto {0} jest nieprawidłowe. Waluta konta musi być {1},
+Account {0}: Parent account {1} can not be a ledger,Konto {0}: Nadrzędne konto {1} nie może być zwykłym,
+Account {0}: Parent account {1} does not belong to company: {2},Konto {0}: konto nadrzędne {1} nie należy do firmy: {2},
+Account {0}: Parent account {1} does not exist,Konto {0}: Konto nadrzędne {1} nie istnieje,
+Account {0}: You can not assign itself as parent account,Konto {0}: Nie można przypisać siebie jako konta nadrzędnego,
+Account: {0} can only be updated via Stock Transactions,Konto: {0} może być aktualizowana tylko przez operacje magazynowe,
+Account: {0} with currency: {1} can not be selected,Konto: {0} z waluty: nie można wybrać {1},
+Accountant,Księgowy,
+Accounting,Księgowość,
+Accounting Entry for Asset,Zapis Księgowy dla aktywów,
+Accounting Entry for Stock,Zapis księgowy dla zapasów,
+Accounting Entry for {0}: {1} can only be made in currency: {2},Wprowadzenia danych księgowych dla {0}: {1} może być dokonywane wyłącznie w walucie: {2},
+Accounting Ledger,Księgi rachunkowe,
+Accounting journal entries.,Dziennik zapisów księgowych.,
+Accounts,Księgowość,
+Accounts Manager,Specjalista ds. Sprzedaży,
+Accounts Payable,Zobowiązania,
+Accounts Payable Summary,Zobowiązania Podsumowanie,
+Accounts Receivable,Należności,
+Accounts Receivable Summary,Należności Podsumowanie,
+Accounts User,Konta Użytkownika,
+Accounts table cannot be blank.,Tabela kont nie może być pusta,
+Accrual Journal Entry for salaries from {0} to {1},Zapis wstępny w dzienniku dla zarobków od {0} do {1},
+Accumulated Depreciation,Umorzenia (skumulowana amortyzacja),
+Accumulated Depreciation Amount,Kwota Skumulowanej amortyzacji,
+Accumulated Depreciation as on,Skumulowana amortyzacja jak na,
+Accumulated Monthly,skumulowane miesięcznie,
+Accumulated Values,Skumulowane wartości,
+Accumulated Values in Group Company,Skumulowane wartości w Spółce Grupy,
+Achieved ({}),Osiągnięto ({}),
+Action,Działanie,
+Action Initialised,Działanie zainicjowane,
+Actions,działania,
+Active,Aktywny,
+Activity Cost exists for Employee {0} against Activity Type - {1},Istnieje aktywny Koszt Pracodawcy {0} przed Type Aktywny - {1},
+Activity Cost per Employee,Koszt aktywność na pracownika,
+Activity Type,Rodzaj aktywności,
+Actual Cost,Aktualna cena,
+Actual Delivery Date,Rzeczywista data dostawy,
+Actual Qty,Rzeczywista ilość,
+Actual Qty is mandatory,Rzeczywista ilość jest obowiązkowa,
+Actual Qty {0} / Waiting Qty {1},Rzeczywista ilość {0} / liczba oczekujących {1},
+Actual Qty: Quantity available in the warehouse.,Rzeczywista ilość: ilość dostępna w magazynie.,
+Actual qty in stock,Rzeczywista ilość w magazynie,
+Actual type tax cannot be included in Item rate in row {0},Rzeczywista Podatek typu nie mogą być wliczone w cenę towaru w wierszu {0},
+Add,Dodaj,
+Add / Edit Prices,Dodaj / edytuj ceny,
+Add Comment,Dodaj komentarz,
+Add Customers,Dodaj klientów,
+Add Employees,Dodaj pracowników,
+Add Item,Dodaj pozycję,
+Add Items,Dodaj pozycje,
+Add Leads,Dodaj namiary,
+Add Multiple Tasks,Dodaj wiele zadań,
+Add Row,Dodaj wiersz,
+Add Sales Partners,Dodaj partnerów handlowych,
+Add Serial No,Dodaj nr seryjny,
+Add Students,Dodaj uczniów,
+Add Suppliers,Dodaj dostawców,
+Add Time Slots,Dodaj gniazda czasowe,
+Add Timesheets,Dodaj ewidencja czasu pracy,
+Add Timeslots,Dodaj czasopisma,
+Add Users to Marketplace,Dodaj użytkowników do rynku,
+Add a new address,Dodaj nowy adres,
+Add cards or custom sections on homepage,Dodaj karty lub niestandardowe sekcje na stronie głównej,
+Add more items or open full form,Dodać więcej rzeczy lub otworzyć pełną formę,
+Add notes,Dodaj notatki,
+Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Dodać resztę organizacji jako użytkowników. Można również dodać zaprosić klientów do portalu dodając je z Kontaktów,
+Add to Details,Dodaj do szczegółów,
+Add/Remove Recipients,Dodaj / usuń odbiorców,
+Added,Dodano,
+Added to details,Dodano do szczegółów,
+Added {0} users,Dodano {0} użytkowników,
+Additional Salary Component Exists.,Istnieje dodatkowy składnik wynagrodzenia.,
+Address,Adres,
+Address Line 2,Drugi wiersz adresu,
+Address Name,Adres,
+Address Title,Tytuł adresu,
+Address Type,Typ adresu,
+Administrative Expenses,Wydatki na podstawową działalność,
+Administrative Officer,Urzędnik administracyjny,
+Administrator,Administrator,
+Admission,Wstęp,
+Admission and Enrollment,Wstęp i rejestracja,
+Admissions for {0},Rekrutacja dla {0},
+Admit,Przyznać,
+Admitted,Przyznał,
+Advance Amount,Kwota Zaliczki,
+Advance Payments,Zaliczki,
+Advance account currency should be same as company currency {0},"Waluta konta Advance powinna być taka sama, jak waluta firmy {0}",
+Advance amount cannot be greater than {0} {1},Ilość wyprzedzeniem nie może być większa niż {0} {1},
+Advertising,Reklamowanie,
+Aerospace,Lotnictwo,
+Against,Wyklucza,
+Against Account,Konto korespondujące,
+Against Journal Entry {0} does not have any unmatched {1} entry,Przeciwko Urzędowym Wejście {0} nie ma niezrównaną pozycję {1},
+Against Journal Entry {0} is already adjusted against some other voucher,Zapis {0} jest już powiązany z innym dowodem księgowym,
+Against Supplier Invoice {0} dated {1},Przeciwko Dostawcę faktury {0} {1} dnia,
+Against Voucher,Dowód księgowy,
+Against Voucher Type,Rodzaj dowodu,
+Age,Wiek,
+Age (Days),Wiek (dni),
+Ageing Based On,Starzenie na podstawie,
+Ageing Range 1,Starzenie Zakres 1,
+Ageing Range 2,Starzenie Zakres 2,
+Ageing Range 3,Starzenie Zakres 3,
+Agriculture,Rolnictwo,
+Agriculture (beta),Rolnictwo (beta),
+Airline,Linia lotnicza,
+All Accounts,Wszystkie konta,
+All Addresses.,Wszystkie adresy,
+All Assessment Groups,Wszystkie grupy oceny,
+All BOMs,Wszystkie LM,
+All Contacts.,Wszystkie kontakty.,
+All Customer Groups,Wszystkie grupy klientów,
+All Day,Cały Dzień,
+All Departments,Wszystkie departamenty,
+All Healthcare Service Units,Wszystkie jednostki służby zdrowia,
+All Item Groups,Wszystkie grupy produktów,
+All Jobs,Wszystkie Oferty pracy,
+All Products,Wszystkie produkty,
+All Products or Services.,Wszystkie produkty i usługi.,
+All Student Admissions,Wszystkie Przyjęć studenckie,
+All Supplier Groups,Wszystkie grupy dostawców,
+All Supplier scorecards.,Wszystkie karty oceny dostawcy.,
+All Territories,Wszystkie obszary,
+All Warehouses,Wszystkie magazyny,
+All communications including and above this shall be moved into the new Issue,"Wszystkie komunikaty, w tym i powyżej tego, zostaną przeniesione do nowego wydania",
+All items have already been transferred for this Work Order.,Wszystkie przedmioty zostały już przekazane dla tego zlecenia pracy.,
+All other ITC,Wszystkie inne ITC,
+All the mandatory Task for employee creation hasn't been done yet.,Wszystkie obowiązkowe zadanie tworzenia pracowników nie zostało jeszcze wykonane.,
+Allocate Payment Amount,Przeznaczyć Kwota płatności,
+Allocated Amount,Przyznana kwota,
+Allocated Leaves,Przydzielone Nieobecności,
+Allocating leaves...,Przydzielanie Nieobecności...,
+Already record exists for the item {0},Już istnieje rekord dla elementu {0},
+"Already set default in pos profile {0} for user {1}, kindly disabled default","Już ustawiono domyślne w profilu pozycji {0} dla użytkownika {1}, domyślnie wyłączone",
+Alternate Item,Alternatywna pozycja,
+Alternative item must not be same as item code,"Element alternatywny nie może być taki sam, jak kod produktu",
+Amended From,Zmodyfikowany od,
+Amount,Wartość,
+Amount After Depreciation,Kwota po amortyzacji,
+Amount of Integrated Tax,Kwota Zintegrowanego Podatku,
+Amount of TDS Deducted,Kwota potrąconej TDS,
+Amount should not be less than zero.,Kwota nie powinna być mniejsza niż zero.,
+Amount to Bill,Kwota rachunku,
+Amount {0} {1} against {2} {3},Kwota {0} {1} przeciwko {2} {3},
+Amount {0} {1} deducted against {2},Kwota {0} {1} odliczone przed {2},
+Amount {0} {1} transferred from {2} to {3},"Kwota {0} {1} przeniesione z {2} {3}, aby",
+Amount {0} {1} {2} {3},Kwota {0} {1} {2} {3},
+Amt,Amt,
+"An Item Group exists with same name, please change the item name or rename the item group",Istnieje element Grupy o takiej nazwie. Zmień nazwę elementu lub tamtej Grupy.,
+An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Semestr z tym &quot;Roku Akademickiego&quot; {0} i &#39;Nazwa Termin&#39; {1} już istnieje. Proszę zmodyfikować te dane i spróbuj jeszcze raz.,
+An error occurred during the update process,Wystąpił błąd podczas procesu aktualizacji,
+"An item exists with same name ({0}), please change the item group name or rename the item",Istnieje element  o takiej nazwie. Zmień nazwę Grupy lub tego elementu.,
+Analyst,Analityk,
+Analytics,Analityk,
+Annual Billing: {0},Roczne rozliczeniowy: {0},
+Annual Salary,Roczne wynagrodzenie,
+Anonymous,Anonimowy,
+Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},Inny rekord budżetu &quot;{0}&quot; już istnieje w stosunku do {1} &quot;{2}&quot; i konta &quot;{3}&quot; w roku finansowym {4},
+Another Period Closing Entry {0} has been made after {1},Kolejny okres Zamknięcie Wejście {0} została wykonana po {1},
+Another Sales Person {0} exists with the same Employee id,Inna osoba Sprzedaż {0} istnieje w tym samym identyfikator pracownika,
+Antibiotic,Antybiotyk,
+Apparel & Accessories,Odzież i akcesoria,
+Applicable For,Stosowne dla,
+"Applicable if the company is SpA, SApA or SRL","Stosuje się, jeśli spółką jest SpA, SApA lub SRL",
+Applicable if the company is a limited liability company,"Stosuje się, jeśli firma jest spółką z ograniczoną odpowiedzialnością",
+Applicable if the company is an Individual or a Proprietorship,"Stosuje się, jeśli firma jest jednostką lub właścicielem",
+Applicant,Petent,
+Applicant Type,Typ Wnioskodawcy,
+Application of Funds (Assets),Aktywa,
+Application period cannot be across two allocation records,Okres aplikacji nie może mieć dwóch rekordów przydziału,
+Application period cannot be outside leave allocation period,Wskazana data nieobecności nie może wykraczać poza zaalokowany okres dla nieobecności,
+Applied,Stosowany,
+Apply Now,Aplikuj teraz,
+Appointment Confirmation,Potwierdzenie spotkania,
+Appointment Duration (mins),Czas trwania spotkania (min),
+Appointment Type,Typ spotkania,
+Appointment {0} and Sales Invoice {1} cancelled,Mianowanie {0} i faktura sprzedaży {1} zostały anulowane,
+Appointments and Encounters,Spotkania i spotkania,
+Appointments and Patient Encounters,Spotkania i spotkania z pacjentami,
+Appraisal {0} created for Employee {1} in the given date range,Ocena {0} utworzona dla Pracownika {1} w datach od-do,
+Apprentice,Uczeń,
+Approval Status,Status Zatwierdzenia,
+Approval Status must be 'Approved' or 'Rejected',Status Zatwierdzenia musi być 'Zatwierdzono' albo 'Odrzucono',
+Approve,Zatwierdzać,
+Approving Role cannot be same as role the rule is Applicable To,Rola Zatwierdzająca nie może być taka sama jak rola którą zatwierdza,
+Approving User cannot be same as user the rule is Applicable To,"Zatwierdzający Użytkownik nie może być taki sam, jak użytkownik którego zatwierdza",
+"Apps using current key won't be able to access, are you sure?","Aplikacje używające obecnego klucza nie będą mogły uzyskać dostępu, czy na pewno?",
+Are you sure you want to cancel this appointment?,Czy na pewno chcesz anulować to spotkanie?,
+Arrear,Zaległość,
+As Examiner,Jako egzaminator,
+As On Date,W sprawie daty,
+As Supervisor,Jako Supervisor,
+As per rules 42 & 43 of CGST Rules,Zgodnie z zasadami 42 i 43 Regulaminu CGST,
+As per section 17(5),Jak w sekcji 17 (5),
+As per your assigned Salary Structure you cannot apply for benefits,Zgodnie z przypisaną Ci strukturą wynagrodzeń nie możesz ubiegać się o świadczenia,
+Assessment,Oszacowanie,
+Assessment Criteria,Kryteria oceny,
+Assessment Group,Grupa Assessment,
+Assessment Group: ,Grupa oceny:,
+Assessment Plan,Plan oceny,
+Assessment Plan Name,Nazwa planu oceny,
+Assessment Report,Sprawozdanie z oceny,
+Assessment Reports,Raporty z oceny,
+Assessment Result,Wynik oceny,
+Assessment Result record {0} already exists.,Wynik Wynik {0} już istnieje.,
+Asset,Składnik aktywów,
+Asset Category,Aktywa Kategoria,
+Asset Category is mandatory for Fixed Asset item,Kategoria atutem jest obowiązkowe dla Fixed pozycja aktywów,
+Asset Maintenance,Konserwacja aktywów,
+Asset Movement,Zaleta Ruch,
+Asset Movement record {0} created,Rekord Ruch atutem {0} tworzone,
+Asset Name,Zaleta Nazwa,
+Asset Received But Not Billed,"Zasoby odebrane, ale nieopłacone",
+Asset Value Adjustment,Korekta wartości aktywów,
+"Asset cannot be cancelled, as it is already {0}","Aktywów nie mogą być anulowane, ponieważ jest już {0}",
+Asset scrapped via Journal Entry {0},Zaleta złomowany poprzez Journal Entry {0},
+"Asset {0} cannot be scrapped, as it is already {1}","Składnik {0} nie może zostać wycofane, jak to jest już {1}",
+Asset {0} does not belong to company {1},Zaleta {0} nie należą do firmy {1},
+Asset {0} must be submitted,Zaleta {0} należy składać,
+Assets,Majątek,
+Assign,Przydziel,
+Assign Salary Structure,Przypisanie struktury wynagrodzeń,
+Assign To,Przypisano do,
+Assign to Employees,Przypisz do pracowników,
+Assigning Structures...,Przyporządkowywanie Struktur,
+Associate,Współpracownik,
+At least one mode of payment is required for POS invoice.,Co najmniej jeden tryb płatności POS jest wymagane dla faktury.,
+Atleast one item should be entered with negative quantity in return document,Conajmniej jedna pozycja powinna być wpisana w ilości negatywnej w dokumencie powrotnej,
+Atleast one of the Selling or Buying must be selected,Conajmniej jeden sprzedaż lub zakup musi być wybrany,
+Atleast one warehouse is mandatory,Co najmniej jeden magazyn jest wymagany,
+Attach Logo,Załącz Logo,
+Attachment,Załącznik,
+Attachments,Załączniki,
+Attendance,Obecność,
+Attendance From Date and Attendance To Date is mandatory,Obecnośc od i do Daty są obowiązkowe,
+Attendance can not be marked for future dates,Obecność nie może być oznaczana na przyszłość,
+Attendance date can not be less than employee's joining date,data frekwencja nie może być mniejsza niż data łączącej pracownika,
+Attendance for employee {0} is already marked,Frekwencja pracownika {0} jest już zaznaczona,
+Attendance for employee {0} is already marked for this day,Frekwencja na pracownika {0} jest już zaznaczone na ten dzień,
+Attendance has been marked successfully.,Obecność została oznaczona pomyślnie.,
+Attendance not submitted for {0} as it is a Holiday.,"Frekwencja nie została przesłana do {0}, ponieważ jest to święto.",
+Attendance not submitted for {0} as {1} on leave.,Obecność nie została przesłana do {0} jako {1} podczas nieobecności.,
+Attribute table is mandatory,Stół atrybut jest obowiązkowy,
+Attribute {0} selected multiple times in Attributes Table,Atrybut {0} wybrane atrybuty kilka razy w tabeli,
+Author,Autor,
+Authorized Signatory,Upoważniony sygnatariusz,
+Auto Material Requests Generated,Wnioski Auto Materiał Generated,
+Auto Repeat,Auto Repeat,
+Auto repeat document updated,Automatycznie powtórzony dokument został zaktualizowany,
+Available,Dostępny,
+Available Leaves,Dostępne Nieobecności,
+Available Qty,Dostępne szt,
+Available Selling,Dostępne sprzedawanie,
+Available for use date is required,Dostępna jest data przydatności do użycia,
+Available slots,Dostępne gniazda,
+Available {0},Dostępne {0},
+Available-for-use Date should be after purchase date,Data przydatności do użycia powinna być późniejsza niż data zakupu,
+Average Age,Średni wiek,
+Average Rate,Średnia Stawka,
+Avg Daily Outgoing,Średnia dzienna Wychodzące,
+Avg. Buying Price List Rate,Śr. Kupowanie kursu cenowego,
+Avg. Selling Price List Rate,Śr. Wskaźnik cen sprzedaży,
+Avg. Selling Rate,Średnia. Cena sprzedaży,
+BOM,BOM,
+BOM Browser,Przeglądarka BOM,
+BOM No,Nr zestawienia materiałowego,
+BOM Rate,BOM Kursy,
+BOM Stock Report,BOM Zdjęcie Zgłoś,
+BOM and Manufacturing Quantity are required,BOM i ilości są wymagane Manufacturing,
+BOM does not contain any stock item,BOM nie zawiera żadnego elementu akcji,
+BOM {0} does not belong to Item {1},BOM {0} nie należy do pozycji {1},
+BOM {0} must be active,BOM {0} musi być aktywny,
+BOM {0} must be submitted,BOM {0} musi być złożony,
+Balance,Bilans,
+Balance (Dr - Cr),Balans (Dr - Cr),
+Balance ({0}),Saldo ({0}),
+Balance Qty,Ilość bilansu,
+Balance Sheet,Arkusz Bilansu,
+Balance Value,Wartość bilansu,
+Balance for Account {0} must always be {1},Bilans dla Konta {0} zawsze powinien wynosić {1},
+Bank,Bank,
+Bank Account,Konto bankowe,
+Bank Accounts,Konta bankowe,
+Bank Draft,Przekaz bankowy,
+Bank Entries,Operacje bankowe,
+Bank Name,Nazwa banku,
+Bank Overdraft Account,Konto z kredytem w rachunku bankowym,
+Bank Reconciliation,Uzgodnienia z wyciągiem bankowym,
+Bank Reconciliation Statement,Stan uzgodnień z wyciągami z banku,
+Bank Statement,Wyciąg bankowy,
+Bank Statement Settings,Ustawienia wyciągu bankowego,
+Bank Statement balance as per General Ledger,Bilans wyciągów bankowych wedle Księgi Głównej,
+Bank account cannot be named as {0},Rachunku bankowego nie może być nazwany {0},
+Bank/Cash transactions against party or for internal transfer,Transakcje Bank / Gotówka przeciwko osobie lub do przenoszenia wewnętrznego,
+Banking,Bankowość,
+Banking and Payments,Operacje bankowe i płatności,
+Barcode {0} already used in Item {1},Kod kreskowy {0} jest już używany dla przedmiotu {1},
+Barcode {0} is not a valid {1} code,Kod kreskowy {0} nie jest prawidłowym kodem {1},
+Base,Baza,
+Base URL,Podstawowy adres URL,
+Based On,Bazujący na,
+Based On Payment Terms,Bazując na Zasadach Płatności,
+Basic,Podstawowy,
+Batch,Partia,
+Batch Entries,Wpisy wsadowe,
+Batch ID is mandatory,Identyfikator zbiorczy jest obowiązkowy,
+Batch Inventory,Inwentaryzacja partii,
+Batch Name,Batch Nazwa,
+Batch No,Nr Partii,
+Batch number is mandatory for Item {0},Numer partii jest obowiązkowy dla produktu {0},
+Batch {0} of Item {1} has expired.,Batch {0} pozycji {1} wygasł.,
+Batch {0} of Item {1} is disabled.,Partia {0} elementu {1} jest wyłączona.,
+Batch: ,Partia:,
+Batches,Partie,
+Become a Seller,Zostań sprzedawcą,
+Beginner,Początkujący,
+Bill,Rachunek,
+Bill Date,Data Rachunku,
+Bill No,Numer Rachunku,
+Bill of Materials,Zestawienie materiałów,
+Bill of Materials (BOM),Zestawienie materiałowe (BOM),
+Billable Hours,Rozliczalne godziny,
+Billed,Rozliczony,
+Billed Amount,Ilość Rozliczenia,
+Billing,Dane do faktury,
+Billing Address,Adres Faktury,
+Billing Address is same as Shipping Address,"Adres rozliczeniowy jest taki sam, jak adres wysyłki",
+Billing Amount,Kwota Rozliczenia,
+Billing Status,Status Faktury,
+Billing currency must be equal to either default company's currency or party account currency,Waluta rozliczeniowa musi być równa domyślnej walucie firmy lub walucie konta strony,
+Bills raised by Suppliers.,Rachunki od dostawców.,
+Bills raised to Customers.,Rachunki dla klientów.,
+Biotechnology,Biotechnologia,
+Birthday Reminder,Przypomnienie o urodzinach,
+Black,czarny,
+Blanket Orders from Costumers.,Zamówienia zbiorcze od klientów.,
+Block Invoice,Zablokuj fakturę,
+Boms,Bomy,
+Bonus Payment Date cannot be a past date,Data płatności premii nie może być datą przeszłą,
+Both Trial Period Start Date and Trial Period End Date must be set,"Należy ustawić zarówno datę rozpoczęcia okresu próbnego, jak i datę zakończenia okresu próbnego",
+Both Warehouse must belong to same Company,Obydwa Magazyny muszą należeć do tej samej firmy,
+Branch,Odddział,
+Broadcasting,Transmitowanie,
+Brokerage,Pośrednictwo,
+Browse BOM,Przeglądaj BOM,
+Budget Against,budżet Against,
+Budget List,Lista budżetu,
+Budget Variance Report,Raport z weryfikacji budżetu,
+Budget cannot be assigned against Group Account {0},Budżet nie może być przypisany do rachunku grupy {0},
+"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Budżet nie może być przypisany przed {0}, ponieważ nie jest to konto przychodów lub kosztów",
+Buildings,Budynki,
+Bundle items at time of sale.,Pakiet przedmiotów w momencie sprzedaży,
+Business Development Manager,Business Development Manager,
+Buy,Kup,
+Buying,Zakupy,
+Buying Amount,Kwota zakupu,
+Buying Price List,Kupowanie cennika,
+Buying Rate,Cena zakupu,
+"Buying must be checked, if Applicable For is selected as {0}","Zakup musi być sprawdzona, jeśli dotyczy wybrano jako {0}",
+By {0},Do {0},
+Bypass credit check at Sales Order ,Pomiń kontrolę kredytową w zleceniu sprzedaży,
+C-Form records,C-forma rekordy,
+C-form is not applicable for Invoice: {0},C-forma nie ma zastosowania do faktury: {0},
+CEO,CEO,
+CESS Amount,Kwota CESS,
+CGST Amount,CGST Kwota,
+CRM,CRM,
+CWIP Account,Konto CWIP,
+Calculated Bank Statement balance,Obliczony bilans wyciągu bankowego,
+Calls,Połączenia,
+Campaign,Kampania,
+Can be approved by {0},Może być zatwierdzone przez {0},
+"Can not filter based on Account, if grouped by Account","Nie można przefiltrować na podstawie Konta, jeśli pogrupowano z użuciem konta",
+"Can not filter based on Voucher No, if grouped by Voucher","Nie można przefiltrować wg Podstawy, jeśli pogrupowano z użyciem Podstawy",
+"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Nie można oznaczyć rekordu rozładowania szpitala, istnieją niezafakturowane faktury {0}",
+Can only make payment against unbilled {0},Mogą jedynie wpłaty przed Unbilled {0},
+Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',"Może odnosić się do wierdza tylko wtedy, gdy typ opłata jest ""Poprzedniej Wartości Wiersza Suma"" lub ""poprzedniego wiersza Razem""",
+"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Nie można zmienić metody wyceny, ponieważ istnieją transakcje dotyczące niektórych pozycji, które nie mają własnej metody wyceny",
+Can't create standard criteria. Please rename the criteria,Nie można utworzyć standardowych kryteriów. Zmień nazwę kryteriów,
+Cancel,Anuluj,
+Cancel Material Visit {0} before cancelling this Warranty Claim,Anuluj Materiał Odwiedź {0} zanim anuluje to roszczenia z tytułu gwarancji,
+Cancel Material Visits {0} before cancelling this Maintenance Visit,Anuluj Fizyczne Wizyty {0} zanim anulujesz Wizytę Pośrednią,
+Cancel Subscription,Anuluj subskrypcje,
+Cancel the journal entry {0} first,Najpierw anuluj zapis księgowy {0},
+Canceled,Anulowany,
+"Cannot Submit, Employees left to mark attendance","Nie można przesłać, pracownicy zostali pozostawieni, aby zaznaczyć frekwencję",
+Cannot be a fixed asset item as Stock Ledger is created.,"Nie może być pozycją środka trwałego, ponieważ tworzona jest księga zapasowa.",
+Cannot cancel because submitted Stock Entry {0} exists,"Nie można anulować, ponieważ wskazane Wprowadzenie na magazyn {0} istnieje",
+Cannot cancel transaction for Completed Work Order.,Nie można anulować transakcji dotyczącej ukończonego zlecenia pracy.,
+Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},"Nie można anulować {0} {1}, ponieważ numer seryjny {2} nie należy do magazynu {3}",
+Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Nie można zmienić atrybutów po transakcji giełdowej. Zrób nowy przedmiot i prześlij towar do nowego przedmiotu,
+Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,"Nie można zmienić Rok obrotowy Data rozpoczęcia i Data zakończenia roku obrotowego, gdy rok obrotowy jest zapisane.",
+Cannot change Service Stop Date for item in row {0},Nie można zmienić daty zatrzymania usługi dla pozycji w wierszu {0},
+Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,"Nie można zmienić właściwości wariantu po transakcji giełdowej. Będziesz musiał zrobić nową rzecz, aby to zrobić.",
+"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Nie można zmienić domyślnej waluty firmy, ponieważ istnieją przypisane do niej transakcje. Anuluj transakcje, aby zmienić domyślną walutę",
+Cannot change status as student {0} is linked with student application {1},Nie można zmienić status studenta {0} jest powiązany z aplikacją studentów {1},
+Cannot convert Cost Center to ledger as it has child nodes,"Nie można przekonwertować centrum kosztów do księgi głównej, jak to ma węzły potomne",
+Cannot covert to Group because Account Type is selected.,"Nie można konwertowanie do grupy, ponieważ jest wybrany rodzaj konta.",
+Cannot create Retention Bonus for left Employees,Nie można utworzyć bonusu utrzymania dla leworęcznych pracowników,
+Cannot create a Delivery Trip from Draft documents.,Nie można utworzyć podróży dostawy z dokumentów roboczych.,
+Cannot deactivate or cancel BOM as it is linked with other BOMs,Nie można wyłączyć lub anulować LM jak to jest połączone z innymi LM,
+"Cannot declare as lost, because Quotation has been made.",Nie można zadeklarować jako zagubiony z powodu utworzenia kwotacji,
+Cannot deduct when category is for 'Valuation' or 'Valuation and Total',"Nie można wywnioskować, kiedy kategoria dotyczy ""Ocena"" a kiedy ""Oceny i Total""",
+Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',"Nie można odliczyć, gdy kategoria jest dla &#39;Wycena&#39; lub &#39;Vaulation i Total&#39;",
+"Cannot delete Serial No {0}, as it is used in stock transactions","Nie można usunąć nr seryjnego {0}, ponieważ jest wykorzystywany w transakcjach magazynowych",
+Cannot enroll more than {0} students for this student group.,Nie można zapisać więcej niż {0} studentów dla tej grupy studentów.,
+Cannot find active Leave Period,Nie można znaleźć aktywnego Okresu Nieobecności,
+Cannot produce more Item {0} than Sales Order quantity {1},Nie można wyprodukować więcej przedmiotów {0} niż wartość {1} na Zamówieniu,
+Cannot promote Employee with status Left,Nie można promować pracownika z pozostawionym statusem,
+Cannot refer row number greater than or equal to current row number for this Charge type,Nie można wskazać numeru wiersza większego lub równego numerowi dla tego typu Opłaty,
+Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,"Nie można wybrać typu opłaty jako ""Sumy Poprzedniej Komórki"" lub ""Całkowitej kwoty poprzedniej Komórki"" w pierwszym rzędzie",
+Cannot set as Lost as Sales Order is made.,Nie można ustawić jako Utracone Zamówienia Sprzedaży,
+Cannot set authorization on basis of Discount for {0},Nie można ustawić autoryzacji na podstawie Zniżki dla {0},
+Cannot set multiple Item Defaults for a company.,Nie można ustawić wielu wartości domyślnych dla danej firmy.,
+Cannot set quantity less than delivered quantity,Nie można ustawić ilości mniejszej niż dostarczona ilość,
+Cannot set quantity less than received quantity,Nie można ustawić ilości mniejszej niż ilość odebrana,
+Cannot set the field <b>{0}</b> for copying in variants,Nie można ustawić pola <b>{0}</b> do kopiowania w wariantach,
+Cannot transfer Employee with status Left,Nie można przenieść pracownika ze statusem w lewo,
+Cannot {0} {1} {2} without any negative outstanding invoice,Nie można {0} {1} {2} bez negatywnego wybitne faktury,
+Capital Equipments,Wyposażenie Kapitałowe,
+Capital Stock,Kapitał zakładowy,
+Capital Work in Progress,Praca kapitałowa w toku,
+Cart,Koszyk,
+Cart is Empty,Koszyk jest pusty,
+Case No(s) already in use. Try from Case No {0},Numer(y) sprawy w użytku. Proszę spróbować Numer Sprawy {0},
+Cash,Gotówka,
+Cash Flow Statement,Raport kasowy,
+Cash Flow from Financing,Cash Flow z finansowania,
+Cash Flow from Investing,Przepływy środków pieniężnych z Inwestowanie,
+Cash Flow from Operations,Przepływy środków pieniężnych z działalności operacyjnej,
+Cash In Hand,Gotówka w kasie,
+Cash or Bank Account is mandatory for making payment entry,Konto Gotówka lub Bank jest wymagane dla tworzenia zapisów Płatności,
+Cashier Closing,Zamknięcie kasjera,
+Casual Leave,Urlop okolicznościowy,
+Category,Kategoria,
+Category Name,Nazwa kategorii,
+Caution,Uwaga,
+Central Tax,Podatek centralny,
+Certification,Orzecznictwo,
+Cess,Cess,
+Change Amount,Zmień Kwota,
+Change Item Code,Zmień kod przedmiotu,
+Change Release Date,Zmień datę wydania,
+Change Template Code,Zmień kod szablonu,
+Changing Customer Group for the selected Customer is not allowed.,Zmiana grupy klientów dla wybranego klienta jest niedozwolona.,
+Chapter,Rozdział,
+Chapter information.,Informacje o rozdziale.,
+Charge of type 'Actual' in row {0} cannot be included in Item Rate,Opłata typu 'Aktualny' w wierszu {0} nie może być uwzględniona w cenie pozycji,
+Chargeble,Chargeble,
+Charges are updated in Purchase Receipt against each item,Opłaty są aktualizowane w ZAKUPU każdej pozycji,
+"Charges will be distributed proportionately based on item qty or amount, as per your selection","Koszty zostaną rozdzielone proporcjonalnie na podstawie Ilość pozycji lub kwoty, jak na swój wybór",
+Chart of Cost Centers,Struktura kosztów (MPK),
+Check all,Zaznacz wszystkie,
+Checkout,Sprawdzić,
+Chemical,Chemiczny,
+Cheque,Czek,
+Cheque/Reference No,Czek / numer,
+Cheques Required,Wymagane kontrole,
+Cheques and Deposits incorrectly cleared,Czeki i Depozyty nieprawidłowo rozliczone,
+Child Task exists for this Task. You can not delete this Task.,Dla tego zadania istnieje zadanie podrzędne. Nie możesz usunąć tego zadania.,
+Child nodes can be only created under 'Group' type nodes,węzły potomne mogą być tworzone tylko w węzłach typu &quot;grupa&quot;,
+Child warehouse exists for this warehouse. You can not delete this warehouse.,Magazyn Dziecko nie istnieje dla tego magazynu. Nie można usunąć tego magazynu.,
+Circular Reference Error,Circular Error Referencje,
+City,Miasto,
+City/Town,Miasto/Miejscowość,
+Claimed Amount,Kwota roszczenia,
+Clay,Glina,
+Clear filters,Wyczyść filtry,
+Clear values,Wyczyść wartości,
+Clearance Date,Data Czystki,
+Clearance Date not mentioned,Rozliczenie Data nie została podana,
+Clearance Date updated,Rozliczenie Data aktualizacji,
+Client,Klient,
+Client ID,Identyfikator klienta,
+Client Secret,Klient Secret,
+Clinical Procedure,Procedura kliniczna,
+Clinical Procedure Template,Szablon procedury klinicznej,
+Close Balance Sheet and book Profit or Loss.,Sporządzenie Bilansu oraz Rachunku zysków i strat.,
+Close Loan,Zamknij pożyczkę,
+Close the POS,Zamknij punkt sprzedaży,
+Closed,Zamknięte,
+Closed order cannot be cancelled. Unclose to cancel.,Kolejność Zamknięty nie mogą być anulowane. Unclose aby anulować.,
+Closing (Cr),Zamknięcie (Cr),
+Closing (Dr),Zamknięcie (Dr),
+Closing (Opening + Total),Zamknięcie (otwarcie + suma),
+Closing Account {0} must be of type Liability / Equity,Zamknięcie konta {0} musi być typu odpowiedzialności / Equity,
+Closing Balance,Bilans zamknięcia,
+Code,Kod,
+Collapse All,Zwinąć wszystkie,
+Color,Kolor,
+Colour,Kolor,
+Combined invoice portion must equal 100%,Łączna kwota faktury musi wynosić 100%,
+Commercial,Komercyjny,
+Commission,Prowizja,
+Commission Rate %,Stawka prowizji%,
+Commission on Sales,Prowizja od sprzedaży,
+Commission rate cannot be greater than 100,Wartość prowizji nie może być większa niż 100,
+Community Forum,Społeczność Forum,
+Company (not Customer or Supplier) master.,Informacje o własnej firmie.,
+Company Abbreviation,Nazwa skrótowa firmy,
+Company Abbreviation cannot have more than 5 characters,Skrót firmy nie może zawierać więcej niż 5 znaków,
+Company Name,Nazwa firmy,
+Company Name cannot be Company,Nazwa firmy nie może być firmą,
+Company currencies of both the companies should match for Inter Company Transactions.,Waluty firmy obu spółek powinny być zgodne z Transakcjami między spółkami.,
+Company is manadatory for company account,Firma jest manadatory dla konta firmowego,
+Company name not same,Nazwa firmy nie jest taka sama,
+Company {0} does not exist,Firma {0} nie istnieje,
+Compensatory Off,Urlop wyrównawczy,
+Compensatory leave request days not in valid holidays,Dni urlopu wyrównawczego nie zawierają się w zakresie prawidłowych dniach świątecznych,
+Complaint,Skarga,
+Completion Date,Data ukończenia,
+Computer,Komputer,
+Condition,Stan,
+Configure,Konfiguruj,
+Configure {0},Konfiguruj {0},
+Confirmed orders from Customers.,Potwierdzone zamówienia od klientów,
+Connect Amazon with ERPNext,Połącz Amazon z ERPNext,
+Connect Shopify with ERPNext,Połącz Shopify z ERPNext,
+Connect to Quickbooks,Połącz się z Quickbooks,
+Connected to QuickBooks,Połączony z QuickBooks,
+Connecting to QuickBooks,Łączenie z QuickBookami,
+Consultation,Konsultacja,
+Consultations,Konsultacje,
+Consulting,Konsulting,
+Consumable,Konsumpcyjny,
+Consumed,Skonsumowano,
+Consumed Amount,Skonsumowana wartość,
+Consumed Qty,Skonsumowana ilość,
+Consumer Products,Produkty konsumenckie,
+Contact,Kontakt,
+Contact Details,Szczegóły kontaktu,
+Contact Number,Numer kontaktowy,
+Contact Us,Skontaktuj się z nami,
+Content,Zawartość,
+Content Masters,Mistrzowie treści,
+Content Type,Typ zawartości,
+Continue Configuration,Kontynuuj konfigurację,
+Contract,Kontrakt,
+Contract End Date must be greater than Date of Joining,Końcowa data kontraktu musi być większa od Daty Członkowstwa,
+Contribution %,Udział %,
+Contribution Amount,Kwota udziału,
+Conversion factor for default Unit of Measure must be 1 in row {0},Współczynnikiem konwersji dla domyślnej Jednostki Pomiaru musi być 1 w rzędzie {0},
+Conversion rate cannot be 0 or 1,Wartością konwersji nie może być 0 ani 1,
+Convert to Group,Przekształć w Grupę,
+Convert to Non-Group,Przekształć w nie-Grupę,
+Cosmetics,Kosmetyki,
+Cost Center,Centrum kosztów,
+Cost Center Number,Numer centrum kosztów,
+Cost Center and Budgeting,Centrum kosztów i budżetowanie,
+Cost Center is required in row {0} in Taxes table for type {1},Centrum kosztów jest wymagane w wierszu {0} w tabeli podatków dla typu {1},
+Cost Center with existing transactions can not be converted to group,Centrum Kosztów z istniejącą transakcją nie może być przekształcone w grupę,
+Cost Center with existing transactions can not be converted to ledger,Centrum Kosztów z istniejącą transakcją nie może być przekształcone w rejestr,
+Cost Centers,Centra Kosztów,
+Cost Updated,Koszt Zaktualizowano,
+Cost as on,Kosztować od,
+Cost of Delivered Items,Koszt dostarczonych przedmiotów,
+Cost of Goods Sold,Wartość sprzedanych pozycji w cenie nabycia,
+Cost of Issued Items,Koszt Emitowanych Przedmiotów,
+Cost of New Purchase,Koszt zakupu nowego,
+Cost of Purchased Items,Koszt zakupionych towarów,
+Cost of Scrapped Asset,Koszt złomowany aktywach,
+Cost of Sold Asset,Koszt sprzedanych aktywów,
+Cost of various activities,Koszt różnych działań,
+"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again","Nie można utworzyć noty kredytowej automatycznie, odznacz opcję &quot;Nota kredytowa&quot; i prześlij ponownie",
+Could not generate Secret,Nie można wygenerować Tajnego,
+Could not retrieve information for {0}.,Nie można pobrać informacji dla {0}.,
+Could not solve criteria score function for {0}. Make sure the formula is valid.,"Nie można rozwiązać funkcji punktacji kryterium dla {0}. Upewnij się, że formuła jest prawidłowa.",
+Could not solve weighted score function. Make sure the formula is valid.,"Nie udało się rozwiązać funkcji ważonych punktów. Upewnij się, że formuła jest prawidłowa.",
+Could not submit some Salary Slips,Nie można przesłać niektórych zwrotów wynagrodzeń,
+"Could not update stock, invoice contains drop shipping item.","Nie można zaktualizować stanu - faktura zawiera pozycję, której proces wysyłki scedowano na dostawcę.",
+Country wise default Address Templates,Szablony Adresów na dany kraj,
+Course,Kurs,
+Course Code: ,Kod kursu:,
+Course Enrollment {0} does not exists,Rejestracja kursu {0} nie istnieje,
+Course Schedule,Plan zajęć,
+Course: ,Kierunek:,
+Cr,Kr,
+Create,Utwórz,
+Create BOM,Utwórz zestawienie komponentów,
+Create Delivery Trip,Utwórz podróż dostawy,
+Create Disbursement Entry,Utwórz wpis wypłaty,
+Create Employee,Utwórz pracownika,
+Create Employee Records,Tworzenie pracownicze Records,
+"Create Employee records to manage leaves, expense claims and payroll","Tworzenie rekordów pracownika do zarządzania nieobecnościami, roszczenia o wydatkach i płac",
+Create Fee Schedule,Utwórz harmonogram opłat,
+Create Fees,Utwórz opłaty,
+Create Inter Company Journal Entry,Utwórz wpis do dziennika firmy,
+Create Invoice,Wystaw fakturę,
+Create Invoices,Utwórz faktury,
+Create Job Card,Utwórz kartę pracy,
+Create Journal Entry,Utwórz wpis do dziennika,
+Create Lead,Utwórz ołów,
+Create Leads,Tworzenie Leads,
+Create Maintenance Visit,Utwórz wizytę serwisową,
+Create Material Request,Utwórz żądanie materiałowe,
+Create Multiple,Utwórz wiele,
+Create Opening Sales and Purchase Invoices,Utwórz otwarcie sprzedaży i faktury zakupu,
+Create Payment Entries,Utwórz wpisy płatności,
+Create Payment Entry,Utwórz wpis płatności,
+Create Print Format,Tworzenie format wydruku,
+Create Purchase Order,Utwórz zamówienie zakupu,
+Create Purchase Orders,Stwórz zamówienie zakupu,
+Create Quotation,Utwórz ofertę,
+Create Salary Slip,Utwórz pasek wynagrodzenia,
+Create Salary Slips,Utwórz wynagrodzenie wynagrodzenia,
+Create Sales Invoice,Utwórz fakturę sprzedaży,
+Create Sales Order,Utwórz zamówienie sprzedaży,
+Create Sales Orders to help you plan your work and deliver on-time,"Twórz zlecenia sprzedaży, aby pomóc Ci zaplanować pracę i dostarczyć terminowość",
+Create Sample Retention Stock Entry,Utwórz wpis dotyczący przechowywania próbki,
+Create Student,Utwórz ucznia,
+Create Student Batch,Utwórz Partię Ucznia,
+Create Student Groups,Tworzenie grup studenckich,
+Create Supplier Quotation,Utwórz ofertę dla dostawców,
+Create Tax Template,Utwórz szablon podatku,
+Create Timesheet,Utwórz grafik,
+Create User,Stwórz użytkownika,
+Create Users,Tworzenie użytkowników,
+Create Variant,Utwórz wariant,
+Create Variants,Tworzenie Warianty,
+"Create and manage daily, weekly and monthly email digests.","Tworzenie i zarządzanie dziennymi, tygodniowymi i miesięcznymi zestawieniami e-mail.",
+Create rules to restrict transactions based on values.,Tworzenie reguł ograniczających transakcje na podstawie wartości,
+Create customer quotes,Tworzenie cytaty z klientami,
+Created {0} scorecards for {1} between: ,Utworzono {0} karty wyników dla {1} między:,
+Creating Company and Importing Chart of Accounts,Tworzenie firmy i importowanie planu kont,
+Creating Fees,Tworzenie opłat,
+Creating Payment Entries......,Tworzenie wpisów płatności ......,
+Creating Salary Slips...,Tworzenie zarobków ...,
+Creating student groups,Tworzenie grup studentów,
+Creating {0} Invoice,Tworzenie faktury {0},
+Credit,Kredyt,
+Credit ({0}),Kredyt ({0}),
+Credit Account,Konto kredytowe,
+Credit Balance,Saldo kredytowe,
+Credit Card,Karta kredytowa,
+Credit Days cannot be a negative number,Dni kredytu nie mogą być liczbą ujemną,
+Credit Limit,Limit kredytowy,
+Credit Note,Nota uznaniowa (kredytowa),
+Credit Note Amount,Kwota noty uznaniowej,
+Credit Note Issued,Credit blanco wystawiony,
+Credit Note {0} has been created automatically,Nota kredytowa {0} została utworzona automatycznie,
+Credit limit has been crossed for customer {0} ({1}/{2}),Limit kredytowy został przekroczony dla klienta {0} ({1} / {2}),
+Creditors,Wierzyciele,
+Criteria weights must add up to 100%,Kryteria wag muszą dodać do 100%,
+Crop Cycle,Crop Cycle,
+Crops & Lands,Uprawy i ziemie,
+Currency Exchange must be applicable for Buying or for Selling.,Wymiana walut musi dotyczyć Kupowania lub Sprzedaży.,
+Currency can not be changed after making entries using some other currency,Waluta nie może być zmieniony po dokonaniu wpisów używając innej walucie,
+Currency exchange rate master.,Główna wartość Wymiany walut,
+Currency for {0} must be {1},Waluta dla {0} musi być {1},
+Currency is required for Price List {0},Waluta jest wymagana dla Cenniku {0},
+Currency of the Closing Account must be {0},Waluta Rachunku Zamknięcie musi być {0},
+Currency of the price list {0} must be {1} or {2},Waluta listy cen {0} musi wynosić {1} lub {2},
+Currency should be same as Price List Currency: {0},"Waluta powinna być taka sama, jak waluta cennika: {0}",
+Current,Bieżący,
+Current Assets,Aktywa finansowe,
+Current BOM and New BOM can not be same,Aktualna BOM i Nowa BOM nie może być taki sam,
+Current Job Openings,Aktualne ofert pracy,
+Current Liabilities,Bieżące Zobowiązania,
+Current Qty,Obecna ilość,
+Current invoice {0} is missing,Brak aktualnej faktury {0},
+Custom HTML,Niestandardowy HTML,
+Custom?,Niestandardowy?,
+Customer,Klient,
+Customer Addresses And Contacts,Klienci Adresy i kontakty,
+Customer Contact,Kontakt z klientem,
+Customer Database.,Baza danych klientów.,
+Customer Group,Grupa klientów,
+Customer LPO,Klient LPO,
+Customer LPO No.,Numer klienta LPO,
+Customer Name,Nazwa klienta,
+Customer POS Id,Identyfikator klienta klienta,
+Customer Service,Obsługa klienta,
+Customer and Supplier,Klient i dostawca,
+Customer is required,Klient jest wymagany,
+Customer isn't enrolled in any Loyalty Program,Klient nie jest zarejestrowany w żadnym Programie Lojalnościowym,
+Customer required for 'Customerwise Discount',Klient wymagany dla 'Klientwise Discount',
+Customer {0} does not belong to project {1},Klient {0} nie należy do projektu {1},
+Customer {0} is created.,Utworzono klienta {0}.,
+Customers in Queue,Klienci w kolejce,
+Customize Homepage Sections,Dostosuj sekcje strony głównej,
+Customizing Forms,Dostosowywanie formularzy,
+Daily Project Summary for {0},Codzienne podsumowanie projektu dla {0},
+Daily Reminders,Codzienne przypomnienia,
+Daily Work Summary,Dziennie Podsumowanie zawodowe,
+Daily Work Summary Group,Codzienna grupa podsumowująca pracę,
+Data Import and Export,Import i eksport danych,
+Data Import and Settings,Import i ustawienia danych,
+Database of potential customers.,Baza danych potencjalnych klientów.,
+Date Format,Format daty,
+Date Of Retirement must be greater than Date of Joining,Data przejścia na emeryturę musi być większa niż Data wstąpienia,
+Date is repeated,Data jest powtórzona,
+Date of Birth,Data urodzenia,
+Date of Birth cannot be greater than today.,Data urodzenia nie może być większa niż data dzisiejsza.,
+Date of Commencement should be greater than Date of Incorporation,Data rozpoczęcia powinna być większa niż data założenia,
+Date of Joining,Data Wstąpienia,
+Date of Joining must be greater than Date of Birth,Data Wstąpienie musi być większa niż Data Urodzenia,
+Date of Transaction,Data transakcji,
+Datetime,Data-czas,
+Day,Dzień,
+Debit,Debet,
+Debit ({0}),Debet ({0}),
+Debit A/C Number,Numer A / C debetu,
+Debit Account,Konto debetowe,
+Debit Note,Nota debetowa,
+Debit Note Amount,Kwota noty debetowej,
+Debit Note Issued,Nocie debetowej,
+Debit To is required,Debetowane Konto jest wymagane,
+Debit and Credit not equal for {0} #{1}. Difference is {2}.,Debetowe i kredytowe nie równe dla {0} # {1}. Różnica jest {2}.,
+Debtors,Dłużnicy,
+Debtors ({0}),Dłużnicy ({0}),
+Declare Lost,Zadeklaruj Zagubiony,
+Deduction,Odliczenie,
+Default Activity Cost exists for Activity Type - {0},Istnieje Domyślnie aktywny Koszt rodzajów działalności - {0},
+Default BOM ({0}) must be active for this item or its template,Domyślnie Wykaz Materiałów ({0}) musi być aktywny dla tej pozycji lub jej szablonu,
+Default BOM for {0} not found,Domyślnie BOM dla {0} Nie znaleziono,
+Default BOM not found for Item {0} and Project {1},Domyślnie nie znaleziono elementu BOM dla elementu {0} i projektu {1},
+Default Letter Head,Domyślny nagłówek pisma,
+Default Tax Template,Domyślny szablon podatkowy,
+Default Unit of Measure for Item {0} cannot be changed directly because you have already made some transaction(s) with another UOM. You will need to create a new Item to use a different Default UOM.,"Domyślnie Jednostka miary dla pozycji {0} nie może być zmieniana bezpośrednio, ponieważ masz już jakąś transakcję (y) z innym UOM. Musisz utworzyć nowy obiekt, aby użyć innego domyślnego UOM.",
+Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',"Domyślne jednostki miary dla wariantu &quot;{0}&quot; musi być taki sam, jak w szablonie &#39;{1}&#39;",
+Default settings for buying transactions.,Domyślne ustawienia dla transakcji kupna,
+Default settings for selling transactions.,Domyślne ustawienia dla transakcji sprzedaży,
+Default tax templates for sales and purchase are created.,Definiowane są domyślne szablony podatkowe dla sprzedaży i zakupu.,
+Defaults,Wartości domyślne,
+Defense,Obrona,
+Define Project type.,Zdefiniuj typ projektu.,
+Define budget for a financial year.,Definiowanie budżetu za dany rok budżetowy.,
+Define various loan types,Definiować różne rodzaje kredytów,
+Del,Del,
+Delay in payment (Days),Opóźnienie w płatności (dni),
+Delete all the Transactions for this Company,"Usuń wszystkie transakcje, dla tej firmy",
+Deletion is not permitted for country {0},Usunięcie jest niedozwolone w przypadku kraju {0},
+Delivered,Dostarczono,
+Delivered Amount,Dostarczone Ilość,
+Delivered Qty,Dostarczona Liczba jednostek,
+Delivered: {0},Dostarczone: {0},
+Delivery,Dostarczanie,
+Delivery Date,Data dostawy,
+Delivery Note,Dowód dostawy,
+Delivery Note {0} is not submitted,Dowód dostawy {0} nie został wysłany,
+Delivery Note {0} must not be submitted,Dowód dostawy {0} nie może być wysłany,
+Delivery Notes {0} must be cancelled before cancelling this Sales Order,Dowody Dostawy {0} muszą być anulowane przed anulowanie Zamówienia Sprzedaży,
+Delivery Notes {0} updated,Zaktualizowano uwagi dotyczące dostawy {0},
+Delivery Status,Status dostawy,
+Delivery Trip,Podróż dostawy,
+Delivery warehouse required for stock item {0},Dostawa wymagane dla magazynu pozycji magazynie {0},
+Department,Departament,
+Department Stores,Sklepy detaliczne,
+Depreciation,Amortyzacja,
+Depreciation Amount,Kwota amortyzacji,
+Depreciation Amount during the period,Kwota amortyzacji w okresie,
+Depreciation Date,amortyzacja Data,
+Depreciation Eliminated due to disposal of assets,Amortyzacja Wyeliminowany z tytułu zbycia aktywów,
+Depreciation Entry,Amortyzacja,
+Depreciation Method,Metoda amortyzacji,
+Depreciation Row {0}: Depreciation Start Date is entered as past date,Wiersz amortyzacji {0}: Data rozpoczęcia amortyzacji jest wprowadzana jako data przeszła,
+Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Wiersz amortyzacji {0}: oczekiwana wartość po okresie użyteczności musi być większa lub równa {1},
+Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Wiersz amortyzacji {0}: Data następnej amortyzacji nie może być wcześniejsza niż data przydatności do użycia,
+Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Wiersz amortyzacji {0}: Data następnej amortyzacji nie może być wcześniejsza niż Data zakupu,
+Designer,Projektant,
+Detailed Reason,Szczegółowy powód,
+Details,Szczegóły,
+Details of Outward Supplies and inward supplies liable to reverse charge,Szczegóły dotyczące dostaw zewnętrznych i dostaw wewnętrznych podlegających zwrotnemu obciążeniu,
+Details of the operations carried out.,Szczegóły dotyczące przeprowadzonych operacji.,
+Diagnosis,Diagnoza,
+Did not find any item called {0},Nie znaleziono żadnych pozycji o nazwie {0},
+Diff Qty,Diff Qty,
+Difference Account,Konto Różnic,
+"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Konto różnica musi być kontem typu aktywami / pasywami, ponieważ Zdjęcie Pojednanie jest Wejście otwarcia",
+Difference Amount,Kwota różnicy,
+Difference Amount must be zero,Różnica Kwota musi wynosić zero,
+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.,"Różne UOM dla pozycji prowadzi do nieprawidłowych (Całkowity) Waga netto wartość. Upewnij się, że Waga netto każdej pozycji jest w tej samej UOM.",
+Direct Expenses,Wydatki bezpośrednie,
+Direct Income,Przychody bezpośrednie,
+Disable,Wyłącz,
+Disabled template must not be default template,Szablon niepełnosprawnych nie może być domyślny szablon,
+Disburse Loan,Wypłata pożyczki,
+Disbursed,Wypłacony,
+Disc,Dysk,
+Discharge,Rozładować się,
+Discount,Zniżka (rabat),
+Discount Percentage can be applied either against a Price List or for all Price List.,Rabat procentowy może być stosowany zarówno przed cenniku dla wszystkich Cenniku.,
+Discount must be less than 100,Zniżka musi wynosić mniej niż 100,
+Diseases & Fertilizers,Choroby i nawozy,
+Dispatch,Wyślij,
+Dispatch Notification,Powiadomienie o wysyłce,
+Dispatch State,Państwo wysyłki,
+Distance,Dystans,
+Distribution,Dystrybucja,
+Distributor,Dystrybutor,
+Dividends Paid,Dywidendy wypłacone,
+Do you really want to restore this scrapped asset?,Czy na pewno chcesz przywrócić złomowane atut?,
+Do you really want to scrap this asset?,Czy naprawdę chcemy zlikwidować ten atut?,
+Do you want to notify all the customers by email?,Czy chcesz powiadomić wszystkich klientów pocztą e-mail?,
+Doc Date,Doc Data,
+Doc Name,Doc Name,
+Doc Type,Doc Type,
+Docs Search,Wyszukiwanie dokumentów,
+Document Name,Nazwa dokumentu,
+Document Status,Stan dokumentu,
+Document Type,Typ Dokumentu,
+Domain,Domena,
+Domains,Domeny,
+Done,Gotowe,
+Donor,Dawca,
+Donor Type information.,Informacje o typie dawcy.,
+Donor information.,Informacje o dawcy.,
+Download JSON,Pobierz JSON,
+Draft,Wersja robocza,
+Drop Ship,Drop Ship,
+Drug,Narkotyk,
+Due / Reference Date cannot be after {0},Data referencyjne / Termin nie może być po {0},
+Due Date cannot be before Posting / Supplier Invoice Date,"Data ""do"" nie może być przed datą faktury Opublikowania / Dostawcy",
+Due Date is mandatory,Due Date jest obowiązkowe,
+Duplicate Entry. Please check Authorization Rule {0},Wpis zduplikowany. Proszę sprawdzić zasadę autoryzacji {0},
+Duplicate Serial No entered for Item {0},Zduplikowany Nr Seryjny wprowadzony dla przedmiotu {0},
+Duplicate customer group found in the cutomer group table,Duplikat grupa klientów znajduje się w tabeli grupy cutomer,
+Duplicate entry,Wpis zduplikowany,
+Duplicate item group found in the item group table,Duplikat grupę pozycji w tabeli grupy produktów,
+Duplicate roll number for student {0},Duplikat numeru rolki dla ucznia {0},
+Duplicate row {0} with same {1},Wiersz zduplikowany {0} z tym samym {1},
+Duplicate {0} found in the table,Duplikat {0} znaleziony w tabeli,
+Duration in Days,Czas trwania w dniach,
+Duties and Taxes,Podatki i cła,
+E-Invoicing Information Missing,Brak informacji o e-fakturowaniu,
+ERPNext Demo,ERPNext Demo,
+ERPNext Settings,Ustawienia ERPNext,
+Earliest,Najwcześniejszy,
+Earnest Money,Pieniądze zaliczkowe,
+Earning,Dochód,
+Edit,Edytować,
+Edit Publishing Details,Edytuj szczegóły publikowania,
+"Edit in full page for more options like assets, serial nos, batches etc.","Edytuj na całej stronie, aby uzyskać więcej opcji, takich jak zasoby, numery seryjne, partie itp.",
+Education,Edukacja,
+Either location or employee must be required,Każda lokalizacja lub pracownik muszą być wymagane,
+Either target qty or target amount is mandatory,Wymagana jest ilość lub kwota docelowa,
+Either target qty or target amount is mandatory.,Wymagana jest ilość lub kwota docelowa,
+Electrical,Elektryczne,
+Electronic Equipments,Urządzenia elektroniczne,
+Electronics,Elektronika,
+Eligible ITC,Kwalifikujące się ITC,
+Email Account,Konto e-mail,
+Email Address,Adres e-mail,
+"Email Address must be unique, already exists for {0}","E-mail musi być unikalny, istnieje już dla {0}",
+Email Digest: ,przetwarzanie maila,
+Email Reminders will be sent to all parties with email contacts,Przypomnienia e-mailem będą wysyłane do wszystkich stron z kontaktami e-mail,
+Email Sent,Wiadomość wysłana,
+Email Template,Szablon e-maila,
+Email not found in default contact,Nie znaleziono wiadomości e-mail w domyślnym kontakcie,
+Email sent to {0},Wiadomość wysłana do {0},
+Employee,Pracownik,
+Employee A/C Number,Numer A / C pracownika,
+Employee Advances,Zaliczki dla pracowników,
+Employee Benefits,Świadczenia pracownicze,
+Employee Grade,Klasa pracownika,
+Employee ID,numer identyfikacyjny pracownika,
+Employee Lifecycle,Cykl życia pracownika,
+Employee Name,Nazwisko pracownika,
+Employee Promotion cannot be submitted before Promotion Date ,Promocji Pracowników nie można przesłać przed datą promocji,
+Employee Referral,Referencje pracownika,
+Employee Transfer cannot be submitted before Transfer Date ,Przeniesienie pracownika nie może zostać przesłane przed datą transferu,
+Employee cannot report to himself.,Pracownik nie może odpowiadać do samego siebie.,
+Employee relieved on {0} must be set as 'Left',pracownik zwalnia się na {0} musi być ustawiony jako 'opuścił',
+Employee {0} already submited an apllication {1} for the payroll period {2},Pracownik {0} przesłał już aplikację {1} na okres rozliczeniowy {2},
+Employee {0} has already applied for {1} between {2} and {3} : ,Pracownik {0} złożył już wniosek o przyznanie {1} między {2} a {3}:,
+Employee {0} has no maximum benefit amount,Pracownik {0} nie ma maksymalnej kwoty świadczenia,
+Employee {0} is not active or does not exist,Pracownik {0} jest nieaktywny lub nie istnieje,
+Employee {0} is on Leave on {1},Pracownik {0} jest Nieobecny w trybie {1},
+Employee {0} of grade {1} have no default leave policy,Pracownik {0} stopnia {1} nie ma domyślnych zasad dotyczących urlopu,
+Employee {0} on Half day on {1},Pracownik {0} na pół dnia na {1},
+Enable,Włączyć,
+Enable / disable currencies.,Włącz/wyłącz waluty.,
+Enabled,Aktywny,
+"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Włączenie &quot;użycie do koszyka&quot;, ponieważ koszyk jest włączony i nie powinno być co najmniej jedna zasada podatkowa w koszyku",
+End Date,Data zakonczenia,
+End Date can not be less than Start Date,Data zakończenia nie może być krótsza niż data rozpoczęcia,
+End Date cannot be before Start Date.,Data zakończenia nie może być wcześniejsza niż data rozpoczęcia.,
+End Year,Koniec roku,
+End Year cannot be before Start Year,Koniec roku nie może być przed rozpoczęciem Roku,
+End on,Podłużnie,
+End time cannot be before start time,Czas zakończenia nie może być wcześniejszy niż czas rozpoczęcia,
+Ends On date cannot be before Next Contact Date.,Kończy się Data nie może być wcześniejsza niż data następnego kontaktu.,
+Energy,Energia,
+Engineer,Inżynier,
+Enough Parts to Build,Wystarczające elementy do budowy,
+Enroll,Zapisać,
+Enrolling student,Zapis uczeń,
+Enrolling students,Zapisywanie studentów,
+Enter depreciation details,Wprowadź szczegóły dotyczące amortyzacji,
+Enter the Bank Guarantee Number before submittting.,Wprowadź numer gwarancyjny banku przed złożeniem wniosku.,
+Enter the name of the Beneficiary before submittting.,Wprowadź nazwę Beneficjenta przed złożeniem wniosku.,
+Enter the name of the bank or lending institution before submittting.,Wprowadź nazwę banku lub instytucji kredytowej przed złożeniem wniosku.,
+Enter value betweeen {0} and {1},Wpisz wartość między {0} a {1},
+Entertainment & Leisure,Rozrywka i relaks,
+Entertainment Expenses,Wydatki na reprezentację,
+Equity,Kapitał własny,
+Error Log,Dziennik błędów,
+Error evaluating the criteria formula,Błąd podczas oceny formuły kryterium,
+Error in formula or condition: {0},Błąd wzoru lub stanu {0},
+Error: Not a valid id?,Błąd: Nie ważne id?,
+Estimated Cost,Szacowany koszt,
+Evaluation,Ocena,
+"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Nawet jeśli istnieje wiele przepisów dotyczących cen o najwyższym priorytecie, a następnie następujące priorytety wewnętrznej są stosowane:",
+Event,Wydarzenie,
+Event Location,Lokalizacja wydarzenia,
+Event Name,Nazwa wydarzenia,
+Exchange Gain/Loss,Wymiana Zysk / Strata,
+Exchange Rate Revaluation master.,Mistrz wyceny kursu wymiany.,
+Exchange Rate must be same as {0} {1} ({2}),"Kurs wymiany muszą być takie same, jak {0} {1} ({2})",
+Excise Invoice,Akcyza Faktura,
+Execution,Wykonanie,
+Executive Search,Szukanie wykonawcze,
+Expand All,Rozwiń wszystkie,
+Expected Delivery Date,Spodziewana data odbioru przesyłki,
+Expected Delivery Date should be after Sales Order Date,Oczekiwana data dostarczenia powinna nastąpić po Dacie Zamówienia Sprzedaży,
+Expected End Date,Spodziewana data końcowa,
+Expected Hrs,Oczekiwany godz,
+Expected Start Date,Spodziewana data startowa,
+Expense,Koszt,
+Expense / Difference account ({0}) must be a 'Profit or Loss' account,"Konto koszty / Różnica ({0}) musi być kontem ""rachunek zysków i strat""",
+Expense Account,Konto Wydatków,
+Expense Claim,Zwrot kosztów,
+Expense Claim for Vehicle Log {0},Koszty Żądanie Vehicle Zaloguj {0},
+Expense Claim {0} already exists for the Vehicle Log,Koszty roszczenie {0} już istnieje dla Zaloguj Pojazdów,
+Expense Claims,Zapotrzebowania na wydatki,
+Expense account is mandatory for item {0},Konto wydatków jest obowiązkowe dla przedmiotu {0},
+Expenses,Wydatki,
+Expenses Included In Asset Valuation,Koszty uwzględnione w wycenie aktywów,
+Expenses Included In Valuation,Zaksięgowane wydatki w wycenie,
+Expired Batches,Wygasłe partie,
+Expires On,Upływa w dniu,
+Expiring On,Wygasający,
+Expiry (In Days),Wygaśnięcie (w dniach),
+Explore,Przeglądaj,
+Export E-Invoices,Eksportuj e-faktury,
+Extra Large,Bardzo duży,
+Extra Small,Extra Small,
+Fail,Zawieść,
+Failed,Nieudane,
+Failed to create website,Nie udało się utworzyć witryny,
+Failed to install presets,Nie udało się zainstalować ustawień wstępnych,
+Failed to login,Nie udało się zalogować,
+Failed to setup company,Nie udało się skonfigurować firmy,
+Failed to setup defaults,Nie udało się skonfigurować ustawień domyślnych,
+Failed to setup post company fixtures,Nie udało się skonfigurować urządzeń firm post,
+Fax,Faks,
+Fee,Opłata,
+Fee Created,Opłata utworzona,
+Fee Creation Failed,Utworzenie opłaty nie powiodło się,
+Fee Creation Pending,Tworzenie opłat w toku,
+Fee Records Created - {0},Utworzono Records Fee - {0},
+Feedback,Informacja zwrotna,
+Fees,Opłaty,
+Female,Kobieta,
+Fetch Data,Pobierz dane,
+Fetch Subscription Updates,Pobierz aktualizacje subskrypcji,
+Fetch exploded BOM (including sub-assemblies),Pobierz rozbitą BOM (w tym podzespoły),
+Fetching records......,Pobieranie rekordów ......,
+Field Name,Nazwa pola,
+Fieldname,Nazwa pola,
+Fields,Pola,
+Fill the form and save it,Wypełnij formularz i zapisz,
+Filter Employees By (Optional),Filtruj pracowników według (opcjonalnie),
+"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Filtruj pola Wiersz # {0}: Nazwa pola <b>{1}</b> musi być typu „Link” lub „Tabela MultiSelect”,
+Filter Total Zero Qty,Filtruj całkowitą liczbę zerową,
+Finance Book,Książka finansowa,
+Financial / accounting year.,Rok finansowy / księgowy.,
+Financial Services,Usługi finansowe,
+Financial Statements,Sprawozdania finansowe,
+Financial Year,Rok budżetowy,
+Finish,koniec,
+Finished Good,Skończony dobrze,
+Finished Good Item Code,Gotowy kod dobrego towaru,
+Finished Goods,Ukończone dobra,
+Finished Item {0} must be entered for Manufacture type entry,Zakończone Pozycja {0} musi być wprowadzony do wejścia typu Produkcja,
+Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,Ilość gotowego produktu <b>{0}</b> i ilość <b>{1}</b> nie mogą się różnić,
+First Name,Imię,
+"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","System fiskalny jest obowiązkowy, uprzejmie ustal system podatkowy w firmie {0}",
+Fiscal Year,Rok podatkowy,
+Fiscal Year End Date should be one year after Fiscal Year Start Date,Data zakończenia roku obrachunkowego powinna wynosić jeden rok od daty rozpoczęcia roku obrachunkowego,
+Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Rok obrotowy Data rozpoczęcia i Data zakończenia roku obrotowego są już ustawione w roku podatkowym {0},
+Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,Data rozpoczęcia roku podatkowego powinna być o rok wcześniejsza niż data zakończenia roku obrotowego,
+Fiscal Year {0} does not exist,Rok fiskalny {0} nie istnieje,
+Fiscal Year {0} is required,Rok fiskalny {0} jest wymagane,
+Fiscal Year {0} not found,Rok fiskalny {0} Nie znaleziono,
+Fixed Asset,Trwała własność,
+Fixed Asset Item must be a non-stock item.,Trwałego Rzecz musi być element non-stock.,
+Fixed Assets,Środki trwałe,
+Following Material Requests have been raised automatically based on Item's re-order level,Niniejszy materiał Wnioski zostały podniesione automatycznie na podstawie poziomu ponownego zamówienia elementu,
+Following accounts might be selected in GST Settings:,W ustawieniach GST można wybrać następujące konta:,
+Following course schedules were created,Utworzono harmonogramy kursów,
+Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,Poniższy element {0} nie jest oznaczony jako element {1}. Możesz je włączyć jako element {1} z jego wzorca pozycji,
+Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,Następujące elementy {0} nie są oznaczone jako {1}. Możesz je włączyć jako element {1} z jego wzorca pozycji,
+Food,Żywność,
+"Food, Beverage & Tobacco","Żywność, Trunki i Tytoń",
+For,Dla,
+"For 'Product Bundle' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Product Bundle' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table.","Dla pozycji &quot;Produkt Bundle&quot;, magazyn, nr seryjny i numer partii będą rozpatrywane z &quot;packing list&quot; tabeli. Jeśli magazynowe oraz Batch Nie są takie same dla wszystkich elementów Opakowanie do pozycji każdego &quot;produkt Bundle&quot;, wartości te mogą zostać wpisane do tabeli głównej pozycji, wartości zostaną skopiowane do &quot;packing list&quot; tabeli.",
+For Employee,Dla pracownika,
+For Quantity (Manufactured Qty) is mandatory,Do Ilość (Wyprodukowano kopie) są obowiązkowe,
+For Supplier,Dla dostawcy,
+For Warehouse,Dla magazynu,
+For Warehouse is required before Submit,Dla magazynu jest wymagane przed wysłaniem,
+"For an item {0}, quantity must be negative number",W przypadku elementu {0} ilość musi być liczbą ujemną,
+"For an item {0}, quantity must be positive number",W przypadku elementu {0} liczba musi być liczbą dodatnią,
+"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry",W przypadku karty pracy {0} można dokonać tylko wpisu typu „Transfer materiałów do produkcji”,
+"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Do rzędu {0} w {1}. Aby dołączyć {2} w cenę towaru, wiersze {3} musi być włączone",
+For row {0}: Enter Planned Qty,Dla wiersza {0}: wpisz planowaną liczbę,
+"For {0}, only credit accounts can be linked against another debit entry","Dla {0}, tylko Kredytowane konta mogą być połączone z innym zapisem po stronie debetowej",
+"For {0}, only debit accounts can be linked against another credit entry","Dla {0}, tylko rachunki płatnicze mogą być połączone z innym wejściem kredytową",
+Forum Activity,Aktywność na forum,
+Free item code is not selected,Kod wolnego przedmiotu nie jest wybrany,
+Freight and Forwarding Charges,Koszty dostaw i przesyłek,
+Frequency,Częstotliwość,
+Friday,Piątek,
+From,Od,
+From Address 1,Od adresu 1,
+From Address 2,Od adresu 2,
+From Currency and To Currency cannot be same,Od Waluty i Do Waluty nie mogą być te same,
+From Date and To Date lie in different Fiscal Year,Od daty i daty są różne w danym roku obrotowym,
+From Date cannot be greater than To Date,Data od - nie może być późniejsza niż Data do,
+From Date must be before To Date,Data od musi być przed datą do,
+From Date should be within the Fiscal Year. Assuming From Date = {0},"""Data od"" powinna być w tym roku podatkowym. Przyjmując Datę od = {0}",
+From Date {0} cannot be after employee's relieving Date {1},Od daty {0} nie może być po zwolnieniu pracownika Data {1},
+From Date {0} cannot be before employee's joining Date {1},Od daty {0} nie może upłynąć data dołączenia pracownika {1},
+From Datetime,Od DateTime,
+From Delivery Note,Od dowodu dostawy,
+From Fiscal Year,Od roku obrotowego,
+From GSTIN,Z GSTIN,
+From Party Name,Od nazwy imprezy,
+From Pin Code,Z kodu PIN,
+From Place,Z miejsca,
+From Range has to be less than To Range,Od Zakres musi być mniejsza niż do zakresu,
+From State,Z państwa,
+From Time,Od czasu,
+From Time Should Be Less Than To Time,Od czasu powinno być mniej niż w czasie,
+From Time cannot be greater than To Time.,Od czasu nie może być większa niż do czasu.,
+"From a supplier under composition scheme, Exempt and Nil rated","Od dostawcy w ramach systemu składu, Zwolniony i Nil oceniono",
+From and To dates required,Daty Od i Do są wymagane,
+From date can not be less than employee's joining date,Od daty nie może być mniejsza niż data dołączenia pracownika,
+From value must be less than to value in row {0},"Wartość ""od"" musi być mniejsza niż wartość w rzędzie {0}",
+From {0} | {1} {2},Od {0} | {1} {2},
+Fuel Price,Cena paliwa,
+Fuel Qty,Ilość paliwa,
+Fulfillment,Spełnienie,
+Full,Pełny,
+Full Name,Imię i nazwisko,
+Full-time,Na cały etet,
+Fully Depreciated,pełni zamortyzowanych,
+Furnitures and Fixtures,Meble i wyposażenie,
+"Further accounts can be made under Groups, but entries can be made against non-Groups","Dalsze relacje mogą być wykonane w ramach grup, ale wpisy mogą być wykonane przed spoza grup",
+Further cost centers can be made under Groups but entries can be made against non-Groups,"Kolejne centra kosztów mogą być wykonane w ramach grup, ale wpisy mogą być wykonane przed spoza grup",
+Further nodes can be only created under 'Group' type nodes,"Kolejne powiązania mogą być tworzone tylko w powiązaniach typu ""grupa""",
+Future dates not allowed,Przyszłe daty są niedozwolone,
+GSTIN,GSTIN,
+GSTR3B-Form,Formularz GSTR3B,
+Gain/Loss on Asset Disposal,Zysk / Strata na Aktywów pozbywaniu,
+Gantt Chart,Wykres Gantta,
+Gantt chart of all tasks.,Wykres Gantta dla wszystkich zadań.,
+Gender,Płeć,
+General,Ogólne,
+General Ledger,Księga Główna,
+Generate Material Requests (MRP) and Work Orders.,Generuj zapotrzebowanie materiałowe (MRP) i zlecenia pracy.,
+Generate Secret,Generuj sekret,
+Get Details From Declaration,Uzyskaj szczegółowe informacje z deklaracji,
+Get Employees,Zdobądź pracowników,
+Get Invocies,Zdobądź Invocies,
+Get Invoices,Uzyskaj faktury,
+Get Invoices based on Filters,Uzyskaj faktury na podstawie filtrów,
+Get Items from BOM,Weź produkty z zestawienia materiałowego,
+Get Items from Healthcare Services,Pobierz przedmioty z usług opieki zdrowotnej,
+Get Items from Prescriptions,Zdobądź przedmioty z recept,
+Get Items from Product Bundle,Elementy z Bundle produktu,
+Get Suppliers,Dodaj dostawców,
+Get Suppliers By,Dodaj dostawców wg,
+Get Updates,Informuj o aktualizacjach,
+Get customers from,Zdobądź klientów,
+Get from Patient Encounter,Uzyskaj od Spotkania Pacjenta,
+Getting Started,Start,
+GitHub Sync ID,GitHub Sync ID,
+Global settings for all manufacturing processes.,Globalne ustawienia dla wszystkich procesów produkcyjnych.,
+Go to the Desktop and start using ERPNext,Przejdź do pulpitu i rozpocząć korzystanie ERPNext,
+GoCardless SEPA Mandate,Mandat SEPA bez karty,
+GoCardless payment gateway settings,Ustawienia bramy płatności bez płatności,
+Goal and Procedure,Cel i procedura,
+Goals cannot be empty,Cele nie mogą być puste,
+Goods In Transit,Towary w tranzycie,
+Goods Transferred,Przesyłane towary,
+Goods and Services Tax (GST India),Podatek od towarów i usług (GST India),
+Goods are already received against the outward entry {0},Towary są już otrzymane w stosunku do wpisu zewnętrznego {0},
+Government,Rząd,
+Grand Total,Suma Całkowita,
+Grant,Dotacja,
+Grant Application,Wniosek o dofinansowanie,
+Grant Leaves,Przydziel możliwe Nieobecności,
+Grant information.,Udziel informacji.,
+Grocery,Artykuły spożywcze,
+Gross Pay,Płaca brutto,
+Gross Profit,Zysk brutto,
+Gross Profit %,Zysk brutto%,
+Gross Profit / Loss,Zysk / Strata,
+Gross Purchase Amount,Zakup Kwota brutto,
+Gross Purchase Amount is mandatory,Zakup Kwota brutto jest obowiązkowe,
+Group by Account,Grupuj według konta,
+Group by Party,Grupa według partii,
+Group by Voucher,Grupuj według Podstawy księgowania,
+Group by Voucher (Consolidated),Group by Voucher (Consolidated),
+Group node warehouse is not allowed to select for transactions,"Magazyn węzeł Grupa nie jest dozwolone, aby wybrać dla transakcji",
+Group to Non-Group,Grupa do Non-Group,
+Group your students in batches,Grupa uczniowie w partiach,
+Groups,Grupy,
+Guardian1 Email ID,Identyfikator e-maila Guardian1,
+Guardian1 Mobile No,Guardian1 Komórka Nie,
+Guardian1 Name,Nazwa Guardian1,
+Guardian2 Email ID,Identyfikator e-mail Guardian2,
+Guardian2 Mobile No,Guardian2 Komórka Nie,
+Guardian2 Name,Nazwa Guardian2,
+Guest,Gość,
+HR Manager,Kierownik ds. Personalnych,
+HSN,HSN,
+HSN/SAC,HSN / SAC,
+Half Day,Pół Dnia,
+Half Day Date is mandatory,Data półdniowa jest obowiązkowa,
+Half Day Date should be between From Date and To Date,Pół Dzień Data powinna być pomiędzy Od Data i do tej pory,
+Half Day Date should be in between Work From Date and Work End Date,Data pół dnia powinna znajdować się pomiędzy datą pracy a datą zakończenia pracy,
+Half Yearly,Pół Roku,
+Half day date should be in between from date and to date,Data pół dnia powinna być pomiędzy datą i datą,
+Half-Yearly,Półroczny,
+Hardware,Sprzęt komputerowy,
+Head of Marketing and Sales,Kierownik marketingu i sprzedaży,
+Health Care,Opieka zdrowotna,
+Healthcare,Opieka zdrowotna,
+Healthcare (beta),Opieka zdrowotna (beta),
+Healthcare Practitioner,Praktyk opieki zdrowotnej,
+Healthcare Practitioner not available on {0},Pracownik służby zdrowia niedostępny na {0},
+Healthcare Practitioner {0} not available on {1},Pracownik służby zdrowia {0} nie jest dostępny w {1},
+Healthcare Service Unit,Jednostka opieki zdrowotnej,
+Healthcare Service Unit Tree,Drzewo usług opieki zdrowotnej,
+Healthcare Service Unit Type,Rodzaj usługi opieki zdrowotnej,
+Healthcare Services,Opieka zdrowotna,
+Healthcare Settings,Ustawienia opieki zdrowotnej,
+Hello,cześć,
+Help Results for,Pomoc Wyniki dla,
+High,Wysoki,
+High Sensitivity,Wysoka czułość,
+Hold,Trzymaj,
+Hold Invoice,Hold Invoice,
+Holiday,Święto,
+Holiday List,Lista Świąt,
+Hotel Rooms of type {0} are unavailable on {1},Pokoje hotelowe typu {0} są niedostępne w dniu {1},
+Hotels,Hotele,
+Hourly,Cogodzinny,
+Hours,godziny,
+House rent paid days overlapping with {0},Dni płatne za wynajem domu pokrywają się z {0},
+House rented dates required for exemption calculation,Daty wynajmu domu wymagane do obliczenia odstępstwa,
+House rented dates should be atleast 15 days apart,Terminy wynajmu domu powinny wynosić co najmniej 15 dni,
+How Pricing Rule is applied?,Jak reguła jest stosowana Wycena?,
+Hub Category,Kategoria koncentratora,
+Hub Sync ID,Identyfikator Hub Sync,
+Human Resource,Zasoby ludzkie,
+Human Resources,Kadry,
+IFSC Code,Kod IFSC,
+IGST Amount,Wielkość IGST,
+IP Address,Adres IP,
+ITC Available (whether in full op part),Dostępne ITC (czy w pełnej wersji),
+ITC Reversed,Odwrócono ITC,
+Identifying Decision Makers,Identyfikacja decydentów,
+"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Jeśli zaznaczona jest opcja automatycznego wyboru, klienci zostaną automatycznie połączeni z danym Programem lojalnościowym (przy zapisie)",
+"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Jeśli wiele Zasady ustalania cen nadal dominować, użytkownicy proszeni są o ustawienie Priorytet ręcznie rozwiązać konflikt.",
+"If selected Pricing Rule is made for 'Rate', it will overwrite Price List. Pricing Rule rate is the final rate, so no further discount should be applied. Hence, in transactions like Sales Order, Purchase Order etc, it will be fetched in 'Rate' field, rather than 'Price List Rate' field.","Jeśli wybrana zostanie reguła cenowa dla &quot;Stawka&quot;, nadpisze ona Cennik. Stawka za ustalanie stawek jest ostateczną stawką, więc nie należy stosować dodatkowej zniżki. W związku z tym w transakcjach takich jak zamówienie sprzedaży, zamówienie itp. Zostanie ono pobrane w polu &quot;stawka&quot;, a nie w polu &quot;cennik ofert&quot;.",
+"If two or more Pricing Rules are found based on the above conditions, Priority is applied. Priority is a number between 0 to 20 while default value is zero (blank). Higher number means it will take precedence if there are multiple Pricing Rules with same conditions.","Jeśli dwóch lub więcej Zasady ustalania cen na podstawie powyższych warunków, jest stosowana Priorytet. Priorytetem jest liczba z zakresu od 0 do 20, podczas gdy wartość domyślna wynosi zero (puste). Wyższa liczba oznacza, że będzie mieć pierwszeństwo, jeśli istnieje wiele przepisów dotyczących cen z samych warunkach.",
+"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.",W przypadku nielimitowanego wygaśnięcia punktów lojalnościowych czas trwania ważności jest pusty lub 0.,
+"If you have any questions, please get back to us.","Jeśli masz jakieś pytania, proszę wrócić do nas.",
+Ignore Existing Ordered Qty,Ignoruj istniejącą zamówioną ilość,
+Image,Obrazek,
+Image View,Widok obrazka,
+Import Data,Importuj dane,
+Import Day Book Data,Importuj dane książki dziennej,
+Import Log,Log operacji importu,
+Import Master Data,Importuj dane podstawowe,
+Import in Bulk,Masowego importu,
+Import of goods,Import towarów,
+Import of services,Import usług,
+Importing Items and UOMs,Importowanie elementów i UOM,
+Importing Parties and Addresses,Importowanie stron i adresów,
+In Maintenance,W naprawie,
+In Production,W produkcji,
+In Qty,W ilości,
+In Stock Qty,Ilość w magazynie,
+In Stock: ,W magazynie:,
+In Value,w polu Wartość,
+"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","W przypadku programu wielowarstwowego Klienci zostaną automatycznie przypisani do danego poziomu, zgodnie z wydatkami",
+Inactive,Nieaktywny,
+Include Default Book Entries,Dołącz domyślne wpisy książki,
+Include Exploded Items,Dołącz rozstrzelone przedmioty,
+Include POS Transactions,Uwzględnij transakcje POS,
+Include UOM,Dołącz UOM,
+Included in Gross Profit,Zawarte w zysku brutto,
+Income,Przychody,
+Income Account,Konto przychodów,
+Income Tax,Podatek dochodowy,
+Incoming,Przychodzące,
+Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Nieprawidłowa liczba zapisów w Księdze głównej. Być może wybrano niewłaściwe konto w transakcji.,
+Increment cannot be 0,Przyrost nie może być 0,
+Increment for Attribute {0} cannot be 0,Przyrost dla atrybutu {0} nie może być 0,
+Indirect Expenses,Wydatki pośrednie,
+Indirect Income,Przychody pośrednie,
+Individual,Indywidualny,
+Ineligible ITC,Niekwalifikowany ITC,
+Initiated,Zapoczątkowany,
+Inpatient Record,Zapis ambulatoryjny,
+Insert,Wstaw,
+Installation Note,Notka instalacyjna,
+Installation Note {0} has already been submitted,Notka instalacyjna {0} została już dodana,
+Installation date cannot be before delivery date for Item {0},Data instalacji nie może być wcześniejsza niż data dostawy dla pozycji {0},
+Installing presets,Instalowanie ustawień wstępnych,
+Institute Abbreviation,Instytut Skrót,
+Institute Name,Nazwa Instytutu,
+Instructor,Instruktor,
+Insufficient Stock,Niewystarczający zapas,
+Insurance Start date should be less than Insurance End date,Data rozpoczęcia ubezpieczenia powinna być mniejsza niż data zakończenia ubezpieczenia,
+Integrated Tax,Zintegrowany podatek,
+Inter-State Supplies,Dostawy międzypaństwowe,
+Interest Amount,Kwota procentowa,
+Interests,Zainteresowania,
+Intern,Stażysta,
+Internet Publishing,Wydawnictwa internetowe,
+Intra-State Supplies,Materiały wewnątrzpaństwowe,
+Introduction,Wprowadzenie,
+Invalid Attribute,Nieprawidłowy atrybut,
+Invalid Blanket Order for the selected Customer and Item,Nieprawidłowe zamówienie zbiorcze dla wybranego klienta i przedmiotu,
+Invalid Company for Inter Company Transaction.,Nieważna firma dla transakcji między przedsiębiorstwami.,
+Invalid GSTIN! A GSTIN must have 15 characters.,Nieprawidłowy GSTIN! GSTIN musi mieć 15 znaków.,
+Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,Nieprawidłowy GSTIN! Pierwsze 2 cyfry GSTIN powinny pasować do numeru stanu {0}.,
+Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,Nieprawidłowy GSTIN! Wprowadzone dane nie pasują do formatu GSTIN.,
+Invalid Posting Time,Nieprawidłowy czas publikacji,
+Invalid attribute {0} {1},Nieprawidłowy atrybut {0} {1},
+Invalid quantity specified for item {0}. Quantity should be greater than 0.,Nieprawidłowa ilość określona dla elementu {0}. Ilość powinna być większa niż 0.,
+Invalid reference {0} {1},Nieprawidłowy odniesienia {0} {1},
+Invalid {0},Nieprawidłowy {0},
+Invalid {0} for Inter Company Transaction.,Nieprawidłowy {0} dla transakcji między przedsiębiorstwami.,
+Invalid {0}: {1},Nieprawidłowy {0}: {1},
+Inventory,Inwentarz,
+Investment Banking,Bankowość inwestycyjna,
+Investments,Inwestycje,
+Invoice,Faktura,
+Invoice Created,Utworzono fakturę,
+Invoice Discounting,Dyskontowanie faktury,
+Invoice Patient Registration,Rejestracja pacjenta faktury,
+Invoice Posting Date,Faktura Data zamieszczenia,
+Invoice Type,Typ faktury,
+Invoice already created for all billing hours,Faktura została już utworzona dla wszystkich godzin rozliczeniowych,
+Invoice can't be made for zero billing hour,Faktura nie może zostać wystawiona na zero godzin rozliczeniowych,
+Invoice {0} no longer exists,Faktura {0} już nie istnieje,
+Invoiced,Zafakturowane,
+Invoiced Amount,Kwota zafakturowana,
+Invoices,Faktury,
+Invoices for Costumers.,Faktury dla klientów.,
+Inward supplies from ISD,Dostawy wewnętrzne z ISD,
+Inward supplies liable to reverse charge (other than 1 & 2 above),Dostawy wewnętrzne podlegające zwrotowi (inne niż 1 i 2 powyżej),
+Is Active,Jest aktywny,
+Is Default,Jest domyślny,
+Is Existing Asset,Czy istniejącego środka trwałego,
+Is Frozen,Zamrożony,
+Is Group,Czy Grupa,
+Issue,Zdarzenie,
+Issue Material,Wydanie Materiał,
+Issued,Wydany,
+Issues,Zagadnienia,
+It is needed to fetch Item Details.,"Jest to niezbędne, aby pobrać szczegółowe dotyczące pozycji.",
+Item,Asortyment,
+Item 1,Pozycja 1,
+Item 2,Pozycja 2,
+Item 3,Pozycja 3,
+Item 4,Pozycja 4,
+Item 5,Pozycja 5,
+Item Cart,poz Koszyk,
+Item Code,Kod identyfikacyjny,
+Item Code cannot be changed for Serial No.,Kod przedmiotu nie może być zmieniony na podstawie numeru seryjnego,
+Item Code required at Row No {0},Wymagany jest kod elementu w wierszu nr {0},
+Item Description,Opis produktu,
+Item Group,Kategoria,
+Item Group Tree,Drzewo kategorii,
+Item Group not mentioned in item master for item {0},Pozycja Grupa nie wymienione w pozycji do pozycji mistrza {0},
+Item Name,Nazwa przedmiotu,
+Item Price added for {0} in Price List {1},Pozycja Cena dodany do {0} w Cenniku {1},
+"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Cena produktu pojawia się wiele razy w oparciu o Cennik, Dostawcę / Klienta, Walutę, Pozycję, UOM, Ilość i Daty.",
+Item Price updated for {0} in Price List {1},Pozycja Cena aktualizowana {0} w Cenniku {1},
+Item Row {0}: {1} {2} does not exist in above '{1}' table,Wiersz pozycji {0}: {1} {2} nie istnieje w powyższej tabeli &quot;{1}&quot;,
+Item Template,Szablon przedmiotu,
+Item Variant Settings,Ustawienia wariantu pozycji,
+Item Variant {0} already exists with same attributes,Pozycja Wersja {0} istnieje już z samymi atrybutami,
+Item Variants,Warianty artykuł,
+Item Variants updated,Zaktualizowano wariant produktu,
+Item has variants.,Pozycja ma warianty.,
+Item must be added using 'Get Items from Purchase Receipts' button,"Rzecz musi być dodane za ""elementy z zakupu wpływy"" przycisk",
+Item valuation rate is recalculated considering landed cost voucher amount,Jednostkowy wskaźnik wyceny przeliczone z uwzględnieniem kosztów ilość kupon wylądował,
+Item variant {0} exists with same attributes,Pozycja wariant {0} istnieje z samymi atrybutami,
+Item {0} does not exist,Element {0} nie istnieje,
+Item {0} does not exist in the system or has expired,Element {0} nie istnieje w systemie lub wygasł,
+Item {0} has already been returned,Element {0} został zwrócony,
+Item {0} has been disabled,Element {0} została wyłączona,
+Item {0} has reached its end of life on {1},Element {0} osiągnął kres przydatności {1},
+Item {0} ignored since it is not a stock item,"Element {0} jest ignorowany od momentu, kiedy nie ma go w magazynie",
+"Item {0} is a template, please select one of its variants","Element {0} jest szablon, należy wybrać jedną z jego odmian",
+Item {0} is cancelled,Element {0} jest anulowany,
+Item {0} is disabled,Element {0} jest wyłączony,
+Item {0} is not a stock Item,Element {0} nie jest w magazynie,
+Item {0} is not active or end of life has been reached,"Element {0} nie jest aktywny, lub osiągnął datę przydatności",
+Item {0} is not setup for Serial Nos. Check Item master,Element {0} nie jest ustawiony na nr seryjny. Sprawdź mastera tego elementu,
+Item {0} is not setup for Serial Nos. Column must be blank,Element {0} nie jest ustawiony na nr seryjny. Kolumny powinny być puste,
+Item {0} must be a Fixed Asset Item,Element {0} musi być trwałego przedmiotu,
+Item {0} must be a non-stock item,Element {0} musi być elementem non-stock,
+Item {0} must be a stock Item,Item {0} musi być dostępna w magazynie,
+Item {0} not found,Element {0} nie został znaleziony,
+Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Element {0} nie znajdują się w &quot;materiały dostarczane&quot; tabeli w Zamówieniu {1},
+Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Element {0}: Zamówione szt {1} nie może być mniejsza niż minimalna Ilość zamówień {2} (określonego w pkt).,
+Item: {0} does not exist in the system,Pozycja: {0} nie istnieje w systemie,
+Items,Produkty,
+Items Filter,Elementy Filtruj,
+Items and Pricing,Produkty i cennik,
+Items for Raw Material Request,Elementy do żądania surowca,
+Job Card,Karta pracy,
+Job Description,Opis stanowiska Pracy,
+Job Offer,Oferta pracy,
+Job card {0} created,Utworzono kartę zadania {0},
+Jobs,Oferty pracy,
+Join,łączyć,
+Journal Entries {0} are un-linked,Zapisy księgowe {0} nie są powiązane,
+Journal Entry,Zapis księgowy,
+Journal Entry {0} does not have account {1} or already matched against other voucher,Księgowanie {0} nie masz konta {1} lub już porównywane inne bon,
+Kanban Board,Kanban Board,
+Key Reports,Kluczowe raporty,
+LMS Activity,Aktywność LMS,
+Lab Test,Test laboratoryjny,
+Lab Test Report,Raport z testów laboratoryjnych,
+Lab Test Sample,Próbka do badań laboratoryjnych,
+Lab Test Template,Szablon testu laboratoryjnego,
+Lab Test UOM,Lab Test UOM,
+Lab Tests and Vital Signs,Testy laboratoryjne i Vital Signs,
+Lab result datetime cannot be before testing datetime,Data zestawienia wyników laboratorium nie może być wcześniejsza niż test datetime,
+Lab testing datetime cannot be before collection datetime,Data testowania laboratorium nie może być datą zbierania danych,
+Label,etykieta,
+Laboratory,Laboratorium,
+Language Name,Nazwa Język,
+Large,Duży,
+Last Communication,Ostatnia komunikacja,
+Last Communication Date,Ostatni dzień komunikacji,
+Last Name,Nazwisko,
+Last Order Amount,Kwota ostatniego zamówienia,
+Last Order Date,Data ostatniego zamówienia,
+Last Purchase Price,Ostatnia cena zakupu,
+Last Purchase Rate,Data Ostatniego Zakupu,
+Latest,Ostatnie,
+Latest price updated in all BOMs,Aktualna cena została zaktualizowana we wszystkich biuletynach,
+Lead,Potencjalny klient,
+Lead Count,Liczba potencjalnych klientów,
+Lead Owner,Właściciel Tropu,
+Lead Owner cannot be same as the Lead,Ołów Właściciel nie może być taka sama jak Lead,
+Lead Time Days,Czas realizacji (dni),
+Lead to Quotation,Trop do Wyceny,
+"Leads help you get business, add all your contacts and more as your leads","Przewody pomóc biznesu, dodać wszystkie kontakty i więcej jak swoich klientów",
+Learn,Samouczek,
+Leave Approval Notification,Powiadomienie o zmianie zatwierdzającego Nieobecność,
+Leave Blocked,Urlop Zablokowany,
+Leave Encashment,Zostawić Inkaso,
+Leave Management,Zarządzanie Nieobecnościami,
+Leave Status Notification,Powiadomienie o Statusie zgłoszonej Nieobecności,
+Leave Type,Typ urlopu,
+Leave Type is madatory,Typ Nieobecności jest polem wymaganym,
+Leave Type {0} cannot be allocated since it is leave without pay,"Typ Nieobecności {0} nie może zostać zaalokowany, ponieważ jest Urlopem Bezpłatnym",
+Leave Type {0} cannot be carry-forwarded,Typ Nieobecności {0} nie może zostać przeniesiony w przyszłość,
+Leave Type {0} is not encashable,Typ opuszczenia {0} nie podlega szyfrowaniu,
+Leave Without Pay,Urlop bezpłatny,
+Leave and Attendance,Nieobecności i Obecności,
+Leave application {0} already exists against the student {1},Pozostaw aplikację {0} już istnieje przeciwko uczniowi {1},
+"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Nieobecność nie może być przyznana przed {0}, a bilans nieobecności został już przeniesiony na przyszły wpis alokacyjny nieobecności {1}",
+"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Zostaw nie mogą być stosowane / anulowana przed {0}, a bilans urlopu zostało już przeniesionych przekazywane w przyszłości rekordu alokacji urlopu {1}",
+Leave of type {0} cannot be longer than {1},Urlop typu {0} nie może być dłuższy niż {1},
+Leaves,Odchodzi,
+Leaves Allocated Successfully for {0},Nieobecności Przedzielono z Powodzeniem dla {0},
+Leaves has been granted sucessfully,Nieobecności zostały przyznane z powodzeniem,
+Leaves must be allocated in multiples of 0.5,"Urlop musi być zdefiniowany jako wielokrotność liczby ""0.5""",
+Leaves per Year,Nieobecności w Roku,
+Ledger,Rejestr,
+Legal,Legalnie,
+Legal Expenses,Wydatki na obsługę prawną,
+Letter Head,Nagłówek,
+Letter Heads for print templates.,Nagłówki dla szablonów druku,
+Level,Poziom,
+Liability,Zobowiązania,
+License,Licencja,
+Lifecycle,Koło życia,
+Limit,Limit,
+Limit Crossed,Limit Crossed,
+Link to Material Request,Link do żądania materiałowego,
+List of all share transactions,Lista wszystkich transakcji akcji,
+List of available Shareholders with folio numbers,Lista dostępnych Akcjonariuszy z numerami folio,
+Loading Payment System,Ładowanie systemu płatności,
+Loan,Pożyczka,
+Loan Amount cannot exceed Maximum Loan Amount of {0},Kwota kredytu nie może przekroczyć maksymalna kwota kredytu o {0},
+Loan Application,Podanie o pożyczkę,
+Loan Management,Zarządzanie kredytem,
+Loan Repayment,Spłata pożyczki,
+Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,"Data rozpoczęcia pożyczki i okres pożyczki są obowiązkowe, aby zapisać dyskontowanie faktury",
+Loans (Liabilities),Kredyty (zobowiązania),
+Loans and Advances (Assets),Pożyczki i zaliczki (aktywa),
+Local,Lokalne,
+Log,Log,
+Logs for maintaining sms delivery status,Logi do utrzymania sms stan przesyłki,
+Lost,Straty,
+Lost Reasons,Przegrane przyczyny,
+Low,Niski,
+Low Sensitivity,Mała czułość,
+Lower Income,Niższy przychód,
+Loyalty Amount,Kwota lojalności,
+Loyalty Point Entry,Punkt lojalnościowy,
+Loyalty Points,Punkty lojalnościowe,
+"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Punkty lojalnościowe będą obliczane na podstawie zużytego (za pomocą faktury sprzedaży), na podstawie wspomnianego współczynnika zbierania.",
+Loyalty Points: {0},Punkty lojalnościowe: {0},
+Loyalty Program,Program lojalnościowy,
+Main,Główny,
+Maintenance,Konserwacja,
+Maintenance Log,Dziennik konserwacji,
+Maintenance Manager,Menager Konserwacji,
+Maintenance Schedule,Plan Konserwacji,
+Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',"Plan Konserwacji nie jest generowany dla wszystkich przedmiotów. Proszę naciśnij ""generuj plan""",
+Maintenance Schedule {0} exists against {1},Harmonogram konserwacji {0} istnieje przeciwko {1},
+Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Plan Konserwacji {0} musi być anulowany przed usunięciem tego zamówienia,
+Maintenance Status has to be Cancelled or Completed to Submit,Stan konserwacji musi zostać anulowany lub uzupełniony do przesłania,
+Maintenance User,Użytkownik Konserwacji,
+Maintenance Visit,Wizyta Konserwacji,
+Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Wizyta Konserwacji {0} musi być anulowana przed usunięciem nakazu sprzedaży,
+Maintenance start date can not be before delivery date for Serial No {0},Początek daty konserwacji nie może być wcześniejszy od daty numeru seryjnego {0},
+Make,Stwórz,
+Make Payment,Dokonać płatności,
+Make project from a template.,Utwórz projekt z szablonu.,
+Making Stock Entries,Dokonywanie stockowe Wpisy,
+Male,Mężczyzna,
+Manage Customer Group Tree.,Zarządzaj drzewem grupy klientów,
+Manage Sales Partners.,Zarządzaj Partnerami Sprzedaży.,
+Manage Sales Person Tree.,Zarządzaj Drzewem Sprzedawców,
+Manage Territory Tree.,Zarządzaj drzewem terytorium,
+Manage your orders,Zarządzanie zamówień,
+Management,Zarząd,
+Manager,Menager,
+Managing Projects,Zarządzanie projektami,
+Managing Subcontracting,Zarządzanie Podwykonawstwo,
+Mandatory,Obowiązkowe,
+Mandatory field - Academic Year,Pole obowiązkowe - Rok akademicki,
+Mandatory field - Get Students From,Pole obowiązkowe - pobierz uczniów,
+Mandatory field - Program,Pole obowiązkowe - program,
+Manufacture,Produkcja,
+Manufacturer,Producent,
+Manufacturer Part Number,Numer katalogowy producenta,
+Manufacturing,Produkcja,
+Manufacturing Quantity is mandatory,Ilość wyprodukowanych jest obowiązkowa,
+Mapping,Mapowanie,
+Mapping Type,Typ odwzorowania,
+Mark Absent,Oznacz Nieobecna,
+Mark Attendance,Oznaczaj Uczestnictwo,
+Mark Half Day,Oznacz pół dnia,
+Mark Present,Mark Present,
+Marketing,Marketing,
+Marketing Expenses,Wydatki marketingowe,
+Marketplace,Rynek,
+Marketplace Error,Błąd na rynku,
+Masters,Magistrowie,
+Match Payments with Invoices,Płatności mecz fakturami,
+Match non-linked Invoices and Payments.,Łączenie faktur z płatnościami,
+Material,Materiał,
+Material Consumption,Zużycie materiału,
+Material Consumption is not set in Manufacturing Settings.,Zużycie materiału nie jest ustawione w ustawieniach produkcyjnych.,
+Material Receipt,Przyjęcie materiałów,
+Material Request,Zamówienie produktu,
+Material Request Date,Materiał Zapytanie Data,
+Material Request No,Zamówienie produktu nr,
+"Material Request not created, as quantity for Raw Materials already available.","Nie utworzono wniosku o materiał, jako ilość dostępnych surowców.",
+Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Zamówienie produktu o maksymalnej ilości {0} może być zrealizowane dla przedmiotu {1} w zamówieniu {2},
+Material Request to Purchase Order,Twoje zamówienie jest w realizacji,
+Material Request {0} is cancelled or stopped,Zamówienie produktu {0} jest anulowane lub wstrzymane,
+Material Request {0} submitted.,Wysłano żądanie materiałowe {0}.,
+Material Transfer,Transfer materiałów,
+Material Transferred,Przeniesiony materiał,
+Material to Supplier,Materiał do dostawcy,
+Max Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},Maksymalna kwota zwolnienia nie może być większa niż maksymalna kwota zwolnienia {0} kategorii zwolnienia podatkowego {1},
+Max benefits should be greater than zero to dispense benefits,Maksymalne korzyści powinny być większe niż zero w celu rozłożenia korzyści,
+Max discount allowed for item: {0} is {1}%,Maksymalna zniżka pozwoliło na pozycji: {0} jest {1}%,
+Max: {0},Max: {0},
+Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,Maksymalne próbki - {0} mogą zostać zachowane dla Batch {1} i Item {2}.,
+Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,Maksymalne próbki - {0} zostały już zachowane dla partii {1} i pozycji {2} w partii {3}.,
+Maximum amount eligible for the component {0} exceeds {1},Maksymalna kwota kwalifikująca się do komponentu {0} przekracza {1},
+Maximum benefit amount of component {0} exceeds {1},Maksymalna kwota świadczenia komponentu {0} przekracza {1},
+Maximum benefit amount of employee {0} exceeds {1},Maksymalna kwota świadczenia pracownika {0} przekracza {1},
+Maximum discount for Item {0} is {1}%,Maksymalna zniżka dla pozycji {0} to {1}%,
+Maximum leave allowed in the leave type {0} is {1},Maksymalny dozwolony urlop w typie urlopu {0} to {1},
+Medical,Medyczny,
+Medical Code,Kodeks medyczny,
+Medical Code Standard,Standardowy kod medyczny,
+Medical Department,Wydział Lekarski,
+Medical Record,Historia choroby,
+Medium,Średni,
+Meeting,Spotkanie,
+Member Activity,Aktywność użytkownika,
+Member ID,ID Użytkownika,
+Member Name,Nazwa członka,
+Member information.,Informacje o członkach.,
+Membership,Członkostwo,
+Membership Details,Dane dotyczące członkostwa,
+Membership ID,Identyfikator członkostwa,
+Membership Type,typ członkostwa,
+Memebership Details,Szczegóły Memebership,
+Memebership Type Details,Szczegóły typu memebership,
+Merge,Łączyć,
+Merge Account,Połącz konto,
+Merge with Existing Account,Scal z istniejącym kontem,
+"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Połączenie jest możliwe tylko wtedy, gdy następujące właściwości są takie same w obu płyt. Czy Grupa Root Typ, Firma",
+Message Examples,Przykłady wiadomości,
+Message Sent,Wiadomość wysłana,
+Method,Metoda,
+Middle Income,Średni dochód,
+Middle Name,Drugie imię,
+Middle Name (Optional),Drugie imię (opcjonalnie),
+Min Amt can not be greater than Max Amt,Min Amt nie może być większy niż Max Amt,
+Min Qty can not be greater than Max Qty,Minimalna ilość nie może być większa niż maksymalna ilość,
+Minimum Lead Age (Days),Minimalny wiek ołowiu (dni),
+Miscellaneous Expenses,Pozostałe drobne wydatki,
+Missing Currency Exchange Rates for {0},Brakujące Wymiana walut stawki dla {0},
+Missing email template for dispatch. Please set one in Delivery Settings.,Brakujący szablon wiadomości e-mail do wysyłki. Ustaw jeden w Ustawieniach dostawy.,
+"Missing value for Password, API Key or Shopify URL","Brakująca wartość hasła, klucza API lub Shopify URL",
+Mode of Payment,Sposób płatności,
+Mode of Payments,Tryb płatności,
+Mode of Transport,Tryb transportu,
+Mode of Transportation,Środek transportu,
+Mode of payment is required to make a payment,"Sposób płatności jest wymagane, aby dokonać płatności",
+Model,Model,
+Moderate Sensitivity,Średnia czułość,
+Monday,Poniedziałek,
+Monthly,Miesięcznie,
+Monthly Distribution,Miesięczny Dystrybucja,
+Monthly Repayment Amount cannot be greater than Loan Amount,Miesięczna kwota spłaty nie może być większa niż Kwota kredytu,
+More,Więcej,
+More Information,Więcej informacji,
+More than one selection for {0} not allowed,Więcej niż jeden wybór dla {0} jest niedozwolony,
+More...,Jeszcze...,
+Motion Picture & Video,Ruchomy Obraz i Video,
+Move,ruch,
+Move Item,Move Item,
+Multi Currency,Wielowalutowy,
+Multiple Item prices.,Wiele cen przedmiotu.,
+Multiple Loyalty Program found for the Customer. Please select manually.,Znaleziono wiele programów lojalnościowych dla klienta. Wybierz ręcznie.,
+"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}",Wiele Zasad Cen istnieje w tych samych kryteriach proszę rozwiązywania konflikty poprzez przypisanie priorytetu. Zasady Cen: {0},
+Multiple Variants,Wiele wariantów,
+Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,Wiele lat podatkowych istnieją na dzień {0}. Proszę ustawić firmy w roku finansowym,
+Music,Muzyka,
+My Account,Moje Konto,
+Name error: {0},Błąd Nazwa: {0},
+Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Nazwa nowego konta. Uwaga: Proszę nie tworzyć konta dla odbiorców i dostawców,
+Name or Email is mandatory,Imię lub E-mail jest obowiązkowe,
+Nature Of Supplies,Natura dostaw,
+Navigating,Nawigacja,
+Needs Analysis,Analiza potrzeb,
+Negative Quantity is not allowed,Ilość nie może być wyrażana na minusie,
+Negative Valuation Rate is not allowed,Błąd Szacowania Wartość nie jest dozwolona,
+Negotiation/Review,Negocjacje / przegląd,
+Net Asset value as on,Wartość aktywów netto na,
+Net Cash from Financing,Przepływy pieniężne netto z finansowania,
+Net Cash from Investing,Przepływy pieniężne netto z inwestycji,
+Net Cash from Operations,Środki pieniężne netto z działalności operacyjnej,
+Net Change in Accounts Payable,Zmiana netto stanu zobowiązań,
+Net Change in Accounts Receivable,Zmiana netto stanu należności,
+Net Change in Cash,Zmiana netto stanu środków pieniężnych,
+Net Change in Equity,Zmiana netto w kapitale własnym,
+Net Change in Fixed Asset,Zmiana netto stanu trwałego,
+Net Change in Inventory,Zmiana netto stanu zapasów,
+Net ITC Available(A) - (B),Net ITC Available (A) - (B),
+Net Pay,Stawka Netto,
+Net Pay cannot be less than 0,Wynagrodzenie netto nie może być mniejsza niż 0,
+Net Profit,Zysk netto,
+Net Salary Amount,Kwota wynagrodzenia netto,
+Net Total,Łączna wartość netto,
+Net pay cannot be negative,Stawka Netto nie może być na minusie,
+New Account Name,Nowa nazwa konta,
+New Address,Nowy adres,
+New BOM,Nowe zestawienie materiałowe,
+New Batch ID (Optional),Nowy identyfikator partii (opcjonalnie),
+New Batch Qty,Nowa partia,
+New Company,Nowa firma,
+New Cost Center Name,Nazwa nowego Centrum Kosztów,
+New Customer Revenue,Nowy Przychody klienta,
+New Customers,Nowi Klienci,
+New Department,Nowy dział,
+New Employee,Nowy pracownik,
+New Location,Nowa lokalizacja,
+New Quality Procedure,Nowa procedura jakości,
+New Sales Invoice,Nowa faktura sprzedaży,
+New Sales Person Name,Nazwa nowej osoby Sprzedaży,
+New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Nowy nr seryjny nie może mieć Magazynu. Magazyn musi być ustawiona przez Zasoby lub  na podstawie Paragonu Zakupu,
+New Warehouse Name,Nowy magazyn Nazwa,
+New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},Nowy limit kredytowy wynosi poniżej aktualnej kwoty należności dla klienta. Limit kredytowy musi być conajmniej {0},
+New task,Nowe zadanie,
+New {0} pricing rules are created,Utworzono nowe {0} reguły cenowe,
+Newsletters,Biuletyny,
+Newspaper Publishers,Wydawcy gazet,
+Next,Dalej,
+Next Contact By cannot be same as the Lead Email Address,Następnie Kontakt By nie może być taki sam jak adres e-mail Wiodącego,
+Next Contact Date cannot be in the past,Następnie Kontakt Data nie może być w przeszłości,
+Next Steps,Następne kroki,
+No Action,Bez akcji,
+No Customers yet!,Brak klientów!,
+No Data,Brak danych,
+No Delivery Note selected for Customer {},Nie wybrano uwagi dostawy dla klienta {},
+No Employee Found,Nie znaleziono pracownika,
+No Item with Barcode {0},Nie istnieje Przedmiot o kodzie kreskowym {0},
+No Item with Serial No {0},Brak przedmiotu o podanym numerze seryjnym {0},
+No Items available for transfer,Brak przedmiotów do przeniesienia,
+No Items selected for transfer,Nie wybrano pozycji do przeniesienia,
+No Items to pack,Brak Przedmiotów do pakowania,
+No Items with Bill of Materials to Manufacture,Brak przedmioty z Bill of Materials do produkcji,
+No Items with Bill of Materials.,Brak przedmiotów z zestawieniem materiałów.,
+No Permission,Brak uprawnień,
+No Remarks,Brak uwag,
+No Result to submit,Brak wyniku,
+No Salary Structure assigned for Employee {0} on given date {1},Brak struktury wynagrodzenia dla pracownika {0} w danym dniu {1},
+No Staffing Plans found for this Designation,Nie znaleziono planów zatrudnienia dla tego oznaczenia,
+No Student Groups created.,Brak grup studenckich utworzony.,
+No Students in,Brak uczniów w Poznaniu,
+No Tax Withholding data found for the current Fiscal Year.,Nie znaleziono danych potrącenia podatku dla bieżącego roku obrotowego.,
+No Work Orders created,Nie utworzono zleceń pracy,
+No accounting entries for the following warehouses,Brak zapisów księgowych dla następujących magazynów,
+No active or default Salary Structure found for employee {0} for the given dates,Brak aktywnego czy ustawiona Wynagrodzenie Struktura znalezionych dla pracownika {0} dla podanych dat,
+No contacts with email IDs found.,Nie znaleziono kontaktów z identyfikatorami e-mail.,
+No data for this period,Brak danych dla tego okresu,
+No description given,Brak opisu,
+No employees for the mentioned criteria,Brak pracowników dla wymienionych kryteriów,
+No gain or loss in the exchange rate,Brak zysków lub strat w kursie wymiany,
+No items listed,Brak elementów na liście,
+No items to be received are overdue,Żadne przedmioty do odbioru nie są spóźnione,
+No material request created,Nie utworzono żadnego żadnego materialnego wniosku,
+No more updates,Brak więcej aktualizacji,
+No of Interactions,Liczba interakcji,
+No of Shares,Liczba akcji,
+No pending Material Requests found to link for the given items.,Nie znaleziono oczekujĘ ... cych żĘ ... danych żĘ ... danych w celu połĘ ... czenia dla podanych elementów.,
+No products found,Nie znaleziono produktów,
+No products found.,Nie znaleziono produktów.,
+No record found,Nie znaleziono wyników,
+No records found in the Invoice table,Nie znaleziono w tabeli faktury rekordy,
+No records found in the Payment table,Nie znaleziono rekordów w tabeli płatności,
+No replies from,Brak odpowiedzi ze strony,
+No salary slip found to submit for the above selected criteria OR salary slip already submitted,Nie znaleziono pokwitowania wypłaty za wyżej wymienione kryteria LUB wniosek o wypłatę wynagrodzenia już przesłano,
+No tasks,Brak zadań,
+No time sheets,Brak karty czasu,
+No values,Brak wartości,
+No {0} found for Inter Company Transactions.,"Nie znaleziono rekordów ""{0}"" dla transakcji między spółkami.",
+Non GST Inward Supplies,Non GST Inward Supplies,
+Non Profit,Brak Zysków,
+Non Profit (beta),Non Profit (beta),
+Non-GST outward supplies,Dostawy zewnętrzne spoza GST,
+Non-Group to Group,Dla grupy do grupy,
+None,Żaden,
+None of the items have any change in quantity or value.,Żaden z elementów ma żadnych zmian w ilości lub wartości.,
+Nos,Numery,
+Not Available,Niedostępny,
+Not Marked,nieoznaczone,
+Not Paid and Not Delivered,Nie Płatny i nie Dostarczany,
+Not Permitted,Niedozwolone,
+Not Started,Nie Rozpoczęte,
+Not active,Nieaktywny,
+Not allow to set alternative item for the item {0},Nie zezwalaj na ustawienie pozycji alternatywnej dla pozycji {0},
+Not allowed to update stock transactions older than {0},Niedozwolona jest modyfikacja transakcji zapasów starszych niż {0},
+Not authorized to edit frozen Account {0},Brak autoryzacji do edycji zamrożonego Konta {0},
+Not authroized since {0} exceeds limits,Brak autoryzacji od {0} przekroczono granice,
+Not permitted for {0},Nie dopuszczony do {0},
+"Not permitted, configure Lab Test Template as required","Niedozwolone, w razie potrzeby skonfiguruj szablon testu laboratorium",
+Not permitted. Please disable the Service Unit Type,Nie dozwolone. Wyłącz opcję Service Unit Type,
+Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Uwaga: Ze względu / Data odniesienia przekracza dozwolony dzień kredytowej klienta przez {0} dni (s),
+Note: Item {0} entered multiple times,Uwaga: Element {0} wpisano kilka razy,
+Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,"Uwaga: Płatność nie zostanie utworzona, gdyż nie określono konta 'Gotówka lub Bank'",
+Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Uwaga: System nie sprawdza nad-dostawy oraz nadmiernej rezerwacji dla pozycji {0} jej wartość lub kwota wynosi 0,
+Note: There is not enough leave balance for Leave Type {0},Uwaga: Nie ma wystarczającej ilości urlopu aby ustalić typ zwolnienia {0},
+Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Informacja: To Centrum Kosztów jest grupą. Nie mogę wykonać operacji rachunkowych na grupach.,
+Note: {0},Uwaga: {0},
+Notes,Notatki,
+Nothing is included in gross,Nic nie jest wliczone w brutto,
+Nothing more to show.,Nic więcej do pokazania.,
+Nothing to change,Nic do zmiany,
+Notice Period,Okres wypowiedzenia,
+Notify Customers via Email,Powiadom klientów przez e-mail,
+Number,Numer,
+Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Ilość amortyzacją Zarezerwowane nie może być większa od ogólnej liczby amortyzacją,
+Number of Interaction,Liczba interakcji,
+Number of Order,Numer zlecenia,
+"Number of new Account, it will be included in the account name as a prefix","Numer nowego Konta, zostanie dodany do nazwy konta jako prefiks",
+"Number of new Cost Center, it will be included in the cost center name as a prefix","Numer nowego miejsca powstawania kosztów, zostanie wprowadzony do nazwy miejsca powstawania kosztów jako prefiks",
+Number of root accounts cannot be less than 4,Liczba kont root nie może być mniejsza niż 4,
+Odometer,Drogomierz,
+Office Equipments,Urządzenie Biura,
+Office Maintenance Expenses,Wydatki na obsługę biura,
+Office Rent,Wydatki na wynajem,
+On Hold,W oczekiwaniu,
+On Net Total,Na podstawie Kwoty Netto,
+One customer can be part of only single Loyalty Program.,Jeden klient może być częścią tylko jednego Programu lojalnościowego.,
+Online Auctions,Aukcje online,
+Only Leave Applications with status 'Approved' and 'Rejected' can be submitted,Pozostawić tylko Aplikacje ze statusem „Approved” i „Odrzucone” mogą być składane,
+"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",W poniższej tabeli zostanie wybrana tylko osoba ubiegająca się o przyjęcie ze statusem &quot;Zatwierdzona&quot;.,
+Only users with {0} role can register on Marketplace,Tylko użytkownicy z rolą {0} mogą rejestrować się w usłudze Marketplace,
+Open BOM {0},Otwarte BOM {0},
+Open Item {0},Pozycja otwarta {0},
+Open Notifications,Otwarte Powiadomienia,
+Open Orders,Otwarte zlecenia,
+Open a new ticket,Otwórz nowy bilet,
+Opening,Otwarcie,
+Opening (Cr),Otwarcie (Cr),
+Opening (Dr),Otwarcie (Dr),
+Opening Accounting Balance,Stan z bilansu otwarcia,
+Opening Accumulated Depreciation,Otwarcie Skumulowana amortyzacja,
+Opening Accumulated Depreciation must be less than equal to {0},Otwarcie Skumulowana amortyzacja powinna być mniejsza niż równa {0},
+Opening Balance,Bilans otwarcia,
+Opening Balance Equity,Bilans otwarcia Kapitału własnego,
+Opening Date and Closing Date should be within same Fiscal Year,Otwarcie Data i termin powinien być w obrębie samego roku podatkowego,
+Opening Date should be before Closing Date,Data otwarcia powinien być przed Dniem Zamknięcia,
+Opening Entry Journal,Otwarcie dziennika wejścia,
+Opening Invoice Creation Tool,Otwieranie narzędzia tworzenia faktury,
+Opening Invoice Item,Otwieranie faktury,
+Opening Invoices,Otwieranie faktur,
+Opening Invoices Summary,Otwieranie podsumowań faktur,
+Opening Qty,Ilość otwarcia,
+Opening Stock,Otwarcie Zdjęcie,
+Opening Stock Balance,Saldo otwierające zapasy,
+Opening Value,Wartość otwarcia,
+Opening {0} Invoice created,Otworzono fakturę {0},
+Operation,Operacja,
+Operation Time must be greater than 0 for Operation {0},Czas działania musi być większy niż 0 do operacji {0},
+"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operacja {0} dłużej niż wszelkie dostępne w godzinach pracy stacji roboczej {1}, rozbić na kilka operacji operacji",
+Operations,Działania,
+Operations cannot be left blank,Operacje nie może być puste,
+Opp Count,Opp Count,
+Opp/Lead %,Opp / ołów%,
+Opportunities,Możliwości,
+Opportunities by lead source,Możliwości według źródła ołowiu,
+Opportunity,Oferta,
+Opportunity Amount,Kwota możliwości,
+Optional Holiday List not set for leave period {0},Opcjonalna lista dni świątecznych nie jest ustawiona dla okresu urlopu {0},
+"Optional. Sets company's default currency, if not specified.","Opcjonalny. Ustawia domyślną walutę firmy, jeśli nie podano.",
+Optional. This setting will be used to filter in various transactions.,Opcjonalne. Te Ustawienie będzie użyte w filtrze dla różnych transacji.,
+Options,Opcje,
+Order Count,Liczba zamówień,
+Order Entry,Wprowadzanie zamówień,
+Order Value,Wartość zamówienia,
+Order rescheduled for sync,Zamów zmianę terminu do synchronizacji,
+Order/Quot %,Zamówienie / kwota%,
+Ordered,Zamówione,
+Ordered Qty,Ilość Zamówiona,
+Orders,Zamówienia,
+Orders released for production.,Zamówienia puszczone do produkcji.,
+Organization,Organizacja,
+Organization Name,Nazwa organizacji,
+Other,Inne,
+Other Reports,Inne raporty,
+"Other outward supplies(Nil rated,Exempted)","Inne dostawy zewnętrzne (bez oceny, zwolnione)",
+Others,Inni,
+Out Qty,Brak Ilości,
+Out Value,Brak Wartości,
+Out of Order,Nieczynny,
+Outgoing,Wychodzący,
+Outstanding,Wybitny,
+Outstanding Amount,Zaległa Ilość,
+Outstanding Amt,Zaległa wartość,
+Outstanding Cheques and Deposits to clear,"Wybitni Czeki i depozytów, aby usunąć",
+Outstanding for {0} cannot be less than zero ({1}),Zaległość za {0} nie może być mniejsza niż ({1}),
+Outward taxable supplies(zero rated),Dostaw podlegających opodatkowaniu zewnętrznemu (zero punktów),
+Overdue,Zaległy,
+Overlap in scoring between {0} and {1},Pokrywaj się w punktacji pomiędzy {0} a {1},
+Overlapping conditions found between:,Nakładające warunki pomiędzy:,
+Owner,Właściciel,
+PAN,Stały numer konta (PAN),
+POS,POS,
+POS Profile,POS profilu,
+POS Profile is required to use Point-of-Sale,Profil POS jest wymagany do korzystania z Point-of-Sale,
+POS Profile required to make POS Entry,Profil POS wymagany do tworzenia wpisu z POS,
+POS Settings,Ustawienia POS,
+Packed quantity must equal quantity for Item {0} in row {1},Wartość spakowana musi równać się ilości dla przedmiotu {0} w rzędzie {1},
+Packing Slip,List przewozowy,
+Packing Slip(s) cancelled,List(y) przewozowe anulowane,
+Paid,Zapłacono,
+Paid Amount,Zapłacona kwota,
+Paid Amount cannot be greater than total negative outstanding amount {0},Wpłaconej kwoty nie może być większa od całkowitej ujemnej kwoty należności {0},
+Paid amount + Write Off Amount can not be greater than Grand Total,Wartość zapłaty + Wartość odliczenia nie może być większa niż Cała Kwota,
+Paid and Not Delivered,Płatny i niedostarczone,
+Parameter,Parametr,
+Parent Item {0} must not be a Stock Item,Dominująca pozycja {0} nie może być pozycja Zdjęcie,
+Parents Teacher Meeting Attendance,Spotkanie wychowawców rodziców,
+Part-time,Niepełnoetatowy,
+Partially Depreciated,częściowo Zamortyzowany,
+Partially Received,Częściowo odebrane,
+Party,Grupa,
+Party Name,Nazwa Party,
+Party Type,Typ grupy,
+Party Type and Party is mandatory for {0} account,Typ strony i strona są obowiązkowe dla konta {0},
+Party Type is mandatory,Rodzaj Partia jest obowiązkowe,
+Party is mandatory,Partia jest obowiązkowe,
+Password,Hasło,
+Password policy for Salary Slips is not set,Polityka haseł dla poświadczeń wynagrodzenia nie jest ustawiona,
+Past Due Date,Minione terminy,
+Patient,Cierpliwy,
+Patient Appointment,Powtarzanie Pacjenta,
+Patient Encounter,Spotkanie z pacjentem,
+Patient not found,Nie znaleziono pacjenta,
+Pay Remaining,Zapłać pozostałe,
+Pay {0} {1},Zapłać {0} {1},
+Payable,Płatność,
+Payable Account,Konto płatności,
+Payable Amount,Kwota do zapłaty,
+Payment,Płatność,
+Payment Cancelled. Please check your GoCardless Account for more details,"Płatność anulowana. Sprawdź swoje konto bez karty, aby uzyskać więcej informacji",
+Payment Confirmation,Potwierdzenie płatności,
+Payment Date,Data płatności,
+Payment Days,Dni płatności,
+Payment Document,Płatność Dokument,
+Payment Due Date,Termin płatności,
+Payment Entries {0} are un-linked,Wpisy płatności {0} są un-linked,
+Payment Entry,Płatność,
+Payment Entry already exists,Zapis takiej Płatności już istnieje,
+Payment Entry has been modified after you pulled it. Please pull it again.,Wpis płatności został zmodyfikowany po ściągnięciu. Proszę ściągnąć ponownie.,
+Payment Entry is already created,Zapis takiej Płatności już został utworzony,
+Payment Failed. Please check your GoCardless Account for more details,"Płatność nie powiodła się. Sprawdź swoje konto bez karty, aby uzyskać więcej informacji",
+Payment Gateway,Bramki płatności,
+"Payment Gateway Account not created, please create one manually.","Payment Gateway konta nie jest tworzony, należy utworzyć ręcznie.",
+Payment Gateway Name,Nazwa bramki płatności,
+Payment Mode,Tryb Płatności,
+Payment Receipt Note,Otrzymanie płatności Uwaga,
+Payment Request,Żądanie zapłaty,
+Payment Request for {0},Prośba o płatność za {0},
+Payment Tems,Tematyka płatności,
+Payment Term,Termin płatności,
+Payment Terms,Zasady płatności,
+Payment Terms Template,Szablon warunków płatności,
+Payment Terms based on conditions,Warunki płatności oparte na warunkach,
+Payment Type,Typ płatności,
+"Payment Type must be one of Receive, Pay and Internal Transfer",Typ płatności musi być jednym z Odbierz Pay and przelew wewnętrzny,
+Payment against {0} {1} cannot be greater than Outstanding Amount {2},Płatność przed {0} {1} nie może być większa niż kwota kredytu pozostała {2},
+Payment of {0} from {1} to {2},Płatność {0} od {1} do {2},
+Payment request {0} created,Żądanie zapłaty {0} zostało utworzone,
+Payments,Płatności,
+Payroll,Lista płac,
+Payroll Number,Numer listy płac,
+Payroll Payable,Płace Płatne,
+Payslip,Odcinek wypłaty,
+Pending Activities,Oczekujące Inne,
+Pending Amount,Kwota Oczekiwana,
+Pending Leaves,Oczekujące Nieobecności,
+Pending Qty,Oczekuje szt,
+Pending Quantity,Ilość oczekująca,
+Pending Review,Czekający na rewizję,
+Pending activities for today,Działania oczekujące na dziś,
+Pension Funds,Fundusze emerytalne,
+Percentage Allocation should be equal to 100%,Przydział Procentowy powinien wynosić 100%,
+Perception Analysis,Analiza percepcji,
+Period,Okres,
+Period Closing Entry,Wpis Kończący Okres,
+Period Closing Voucher,Zamknięcie roku,
+Periodicity,Okresowość,
+Personal Details,Dane osobowe,
+Pharmaceutical,Farmaceutyczny,
+Pharmaceuticals,Farmaceutyczne,
+Physician,Lekarz,
+Piecework,Praca akordowa,
+Pincode,Kod PIN,
+Place Of Supply (State/UT),Miejsce zaopatrzenia (stan / UT),
+Place Order,Złóż zamówienie,
+Plan Name,Nazwa planu,
+Plan for maintenance visits.,Plan wizyt serwisowych.,
+Planned Qty,Planowana ilość,
+"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Planowana ilość: ilość, dla której zlecenie pracy zostało podniesione, ale oczekuje na wyprodukowanie.",
+Planning,Planowanie,
+Plants and Machineries,Rośliny i maszyn,
+Please Set Supplier Group in Buying Settings.,Ustaw grupę dostawców w ustawieniach zakupów.,
+Please add a Temporary Opening account in Chart of Accounts,Dodaj konto tymczasowego otwarcia w planie kont,
+Please add the account to root level Company - ,Dodaj konto do poziomu głównego firmy -,
+Please add the remaining benefits {0} to any of the existing component,Dodaj pozostałe korzyści {0} do dowolnego z istniejących komponentów,
+Please check Multi Currency option to allow accounts with other currency,"Proszę sprawdzić multi opcji walutowych, aby umożliwić rachunki w innych walutach",
+Please click on 'Generate Schedule',"Proszę kliknąć na ""Wygeneruj Harmonogram""",
+Please click on 'Generate Schedule' to fetch Serial No added for Item {0},"Proszę kliknąć na ""Generowanie Harmonogramu"", aby sprowadzić nr seryjny dodany do pozycji {0}",
+Please click on 'Generate Schedule' to get schedule,"Kliknij na ""Generuj Harmonogram"" aby otrzymać harmonogram",
+Please confirm once you have completed your training,Potwierdź po zakończeniu szkolenia,
+Please create purchase receipt or purchase invoice for the item {0},Utwórz paragon zakupu lub fakturę zakupu elementu {0},
+Please define grade for Threshold 0%,Proszę określić stopień dla progu 0%,
+Please enable Applicable on Booking Actual Expenses,Włącz opcję Rzeczywiste wydatki za rezerwację,
+Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Włącz Włączone do zamówienia i obowiązujące przy rzeczywistych kosztach rezerwacji,
+Please enable default incoming account before creating Daily Work Summary Group,Włącz domyślne konto przychodzące przed utworzeniem Daily Summary Summary Group,
+Please enable pop-ups,Proszę włączyć pop-upy,
+Please enter 'Is Subcontracted' as Yes or No,"Proszę wprowadź ""Zlecona"" jako Tak lub Nie",
+Please enter API Consumer Key,Wprowadź klucz klienta API,
+Please enter API Consumer Secret,Wprowadź klucz tajny API,
+Please enter Account for Change Amount,Proszę wpisać uwagę do zmiany kwoty,
+Please enter Approving Role or Approving User,Proszę wprowadzić Rolę osoby zatwierdzającej dla użytkownika zatwierdzającego,
+Please enter Cost Center,Wprowadź Centrum kosztów,
+Please enter Delivery Date,Proszę podać datę doręczenia,
+Please enter Employee Id of this sales person,Proszę podać ID pracownika tej osoby ze sprzedaży,
+Please enter Expense Account,Wprowadź konto Wydatków,
+Please enter Item Code to get Batch Number,"Proszę wpisać kod produkt, aby uzyskać numer partii",
+Please enter Item Code to get batch no,Proszę wprowadzić Kod Produktu w celu przyporządkowania serii,
+Please enter Item first,Proszę najpierw wprowadzić Przedmiot,
+Please enter Maintaince Details first,Proszę wprowadzić szczegóły dotyczące konserwacji,
+Please enter Planned Qty for Item {0} at row {1},Proszę podać Planowane Ilości dla pozycji {0} w wierszu {1},
+Please enter Preferred Contact Email,Proszę wpisać Preferowany Kontakt Email,
+Please enter Production Item first,Wprowadź jako pierwszą Produkowaną Rzecz,
+Please enter Purchase Receipt first,Proszę wpierw wprowadzić dokument zakupu,
+Please enter Receipt Document,Proszę podać Otrzymanie dokumentu,
+Please enter Repayment Periods,Proszę wprowadzić okresy spłaty,
+Please enter Reqd by Date,Wprowadź datę realizacji,
+Please enter Woocommerce Server URL,Wprowadź adres URL serwera Woocommerce,
+Please enter Write Off Account,Proszę zdefiniować konto odpisów,
+Please enter atleast 1 invoice in the table,Wprowadź co najmniej jedną fakturę do tabelki,
+Please enter company first,Proszę najpierw wpisać Firmę,
+Please enter company name first,Proszę najpierw wpisać nazwę Firmy,
+Please enter default currency in Company Master,Proszę dodać domyślną walutę w Głównych Ustawieniach Firmy,
+Please enter message before sending,Proszę wpisać wiadomość przed wysłaniem,
+Please enter parent cost center,Proszę podać nadrzędne centrum kosztów,
+Please enter quantity for Item {0},Wprowadź ilość dla przedmiotu {0},
+Please enter repayment Amount,Wpisz Kwota spłaty,
+Please enter valid Financial Year Start and End Dates,Proszę wpisać poprawny rok obrotowy od daty rozpoczęcia i zakończenia,
+Please enter valid email address,Proszę wprowadzić poprawny adres email,
+Please enter {0} first,Podaj {0} pierwszy,
+Please fill in all the details to generate Assessment Result.,"Proszę wypełnić wszystkie szczegóły, aby wygenerować wynik oceny.",
+Please identify/create Account (Group) for type - {0},Określ / utwórz konto (grupę) dla typu - {0},
+Please identify/create Account (Ledger) for type - {0},Zidentyfikuj / utwórz konto (księga) dla typu - {0},
+Please login as another user to register on Marketplace,"Zaloguj się jako inny użytkownik, aby zarejestrować się na rynku",
+Please make sure you really want to delete all the transactions for this company. Your master data will remain as it is. This action cannot be undone.,"Upewnij się, że na pewno chcesz usunąć wszystkie transakcje dla tej firmy. Twoje dane podstawowe pozostanie tak jak jest. Ta akcja nie można cofnąć.",
+Please mention Basic and HRA component in Company,Proszę wspomnieć o komponencie Basic i HRA w firmie,
+Please mention Round Off Account in Company,Proszę określić konto do zaokrągleń kwot w firmie,
+Please mention Round Off Cost Center in Company,Powołaj zaokrąglić centrum kosztów w Spółce,
+Please mention the Lead Name in Lead {0},Zapoznaj się z nazwą wiodącego wiodącego {0},
+Please pull items from Delivery Note,Wyciągnij elementy z dowodu dostawy,
+Please register the SIREN number in the company information file,Zarejestruj numer SIREN w pliku z informacjami o firmie,
+Please remove this Invoice {0} from C-Form {1},Proszę usunąć tę fakturę {0} z C-Form {1},
+Please save the patient first,Najpierw zapisz pacjenta,
+Please save the report again to rebuild or update,"Zapisz raport ponownie, aby go odbudować lub zaktualizować",
+"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Proszę wybrać Przyznana kwota, faktury i faktury Rodzaj numer w conajmniej jednym rzędzie",
+Please select Apply Discount On,Proszę wybrać Zastosuj RABAT,
+Please select BOM against item {0},Wybierz zestawienie materiałów w odniesieniu do pozycji {0},
+Please select BOM for Item in Row {0},Proszę wybrać LM dla pozycji w wierszu {0},
+Please select BOM in BOM field for Item {0},Proszę wybrać LM w dziedzinie BOM dla pozycji {0},
+Please select Category first,Proszę najpierw wybrać kategorię,
+Please select Charge Type first,Najpierw wybierz typ opłaty,
+Please select Company,Proszę wybrać firmę,
+Please select Company and Designation,Wybierz firmę i oznaczenie,
+Please select Company and Posting Date to getting entries,"Wybierz Firmę i Data księgowania, aby uzyskać wpisy",
+Please select Company first,Najpierw wybierz firmę,
+Please select Completion Date for Completed Asset Maintenance Log,Proszę wybrać opcję Data zakończenia dla ukończonego dziennika konserwacji zasobów,
+Please select Completion Date for Completed Repair,Proszę wybrać datę zakończenia naprawy zakończonej,
+Please select Course,Proszę wybrać Kurs,
+Please select Drug,Proszę wybrać lek,
+Please select Employee,Wybierz pracownika,
+Please select Existing Company for creating Chart of Accounts,Wybierz istniejący podmiot do tworzenia planu kont,
+Please select Healthcare Service,Wybierz Healthcare Service,
+"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle","Proszę wybrać produkt, gdzie &quot;Czy Pozycja Zdjęcie&quot; brzmi &quot;Nie&quot; i &quot;Czy Sales Item&quot; brzmi &quot;Tak&quot;, a nie ma innego Bundle wyrobów",
+Please select Maintenance Status as Completed or remove Completion Date,Wybierz Stan konserwacji jako Zakończony lub usuń datę ukończenia,
+Please select Party Type first,Wybierz typ pierwszy Party,
+Please select Patient,Proszę wybrać Pacjenta,
+Please select Patient to get Lab Tests,"Wybierz pacjenta, aby uzyskać testy laboratoryjne",
+Please select Posting Date before selecting Party,Proszę wybrać Data księgowania przed wybraniem Stronę,
+Please select Posting Date first,Najpierw wybierz zamieszczenia Data,
+Please select Price List,Wybierz Cennik,
+Please select Program,Proszę wybrać Program,
+Please select Qty against item {0},Wybierz Qty przeciwko pozycji {0},
+Please select Sample Retention Warehouse in Stock Settings first,Najpierw wybierz Sample Retention Warehouse w ustawieniach magazynowych,
+Please select Start Date and End Date for Item {0},Wybierz Datę Startu i Zakończenia dla elementu {0},
+Please select Student Admission which is mandatory for the paid student applicant,"Wybierz Wstęp studenta, który jest obowiązkowy dla płatnego studenta",
+Please select a BOM,Wybierz zestawienie materiałów,
+Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,"Wybierz partię dla elementu {0}. Nie można znaleźć pojedynczej partii, która spełnia ten wymóg",
+Please select a Company,Wybierz firmę,
+Please select a batch,Wybierz partię,
+Please select a csv file,Proszę wybrać plik .csv,
+Please select a field to edit from numpad,Proszę wybrać pole do edycji z numpadu,
+Please select a table,Proszę wybrać tabelę,
+Please select a valid Date,Proszę wybrać prawidłową datę,
+Please select a value for {0} quotation_to {1},Proszę wprowadzić wartość dla wyceny {0} {1},
+Please select a warehouse,Proszę wybrać magazyn,
+Please select at least one domain.,Wybierz co najmniej jedną domenę.,
+Please select correct account,Proszę wybrać prawidłową konto,
+Please select date,Proszę wybrać datę,
+Please select item code,Wybierz kod produktu,
+Please select month and year,Wybierz miesiąc i rok,
+Please select prefix first,Wybierz prefiks,
+Please select the Company,Wybierz firmę,
+Please select the Multiple Tier Program type for more than one collection rules.,Wybierz typ programu dla wielu poziomów dla więcej niż jednej reguły zbierania.,
+Please select the assessment group other than 'All Assessment Groups',Proszę wybrać grupę oceniającą inną niż &quot;Wszystkie grupy oceny&quot;,
+Please select the document type first,Najpierw wybierz typ dokumentu,
+Please select weekly off day,Wybierz tygodniowe dni wolne,
+Please select {0},Proszę wybrać {0},
+Please select {0} first,Proszę najpierw wybrać {0},
+Please set 'Apply Additional Discount On',Proszę ustawić &quot;Zastosuj dodatkowe zniżki na &#39;,
+Please set 'Asset Depreciation Cost Center' in Company {0},Proszę ustawić &quot;aktywa Amortyzacja Cost Center&quot; w towarzystwie {0},
+Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Proszę ustaw &#39;wpływ konto / strata na aktywach Spółki w unieszkodliwianie &quot;{0},
+Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Ustaw konto w magazynie {0} lub domyślne konto zapasów w firmie {1},
+Please set B2C Limit in GST Settings.,Ustaw Limit B2C w Ustawieniach GST.,
+Please set Company,Proszę ustawić firmę,
+Please set Company filter blank if Group By is 'Company',"Proszę wyłączyć filtr firmy, jeśli Group By jest &quot;Company&quot;",
+Please set Default Payroll Payable Account in Company {0},Proszę ustawić domyślny Payroll konto płatne w Spółce {0},
+Please set Depreciation related Accounts in Asset Category {0} or Company {1},Proszę ustawić amortyzacyjny dotyczący Konta aktywów z kategorii {0} lub {1} Spółki,
+Please set Email Address,Proszę ustawić adres e-mail,
+Please set GST Accounts in GST Settings,Ustaw Konta GST w Ustawieniach GST,
+Please set Hotel Room Rate on {},Ustaw stawkę hotelową na {},
+Please set Number of Depreciations Booked,Proszę ustawić ilość amortyzacji zarezerwowano,
+Please set Unrealized Exchange Gain/Loss Account in Company {0},Ustaw niezrealizowane konto zysku / straty w firmie {0},
+Please set User ID field in an Employee record to set Employee Role,Proszę ustawić pole ID użytkownika w rekordzie pracownika do roli pracownika zestawu,
+Please set a default Holiday List for Employee {0} or Company {1},Proszę ustawić domyślnej listy wypoczynkowe dla pracowników {0} lub {1} firmy,
+Please set account in Warehouse {0},Ustaw konto w magazynie {0},
+Please set an active menu for Restaurant {0},Ustaw aktywne menu restauracji {0},
+Please set associated account in Tax Withholding Category {0} against Company {1},Ustaw powiązane konto w kategorii U źródła poboru podatku {0} względem firmy {1},
+Please set at least one row in the Taxes and Charges Table,Ustaw co najmniej jeden wiersz w tabeli Podatki i opłaty,
+Please set default Cash or Bank account in Mode of Payment {0},Proszę ustawić domyślne konto Gotówka lub Bank dla płatności typu {0},
+Please set default account in Salary Component {0},Proszę ustawić domyślne konto wynagrodzenia komponentu {0},
+Please set default customer in Restaurant Settings,Ustaw domyślnego klienta w Ustawieniach restauracji,
+Please set default template for Leave Approval Notification in HR Settings.,Ustaw domyślny szablon powiadomienia o pozostawieniu zatwierdzania w Ustawieniach HR.,
+Please set default template for Leave Status Notification in HR Settings.,Ustaw domyślny szablon dla Opuszczania powiadomienia o statusie w Ustawieniach HR.,
+Please set default {0} in Company {1},Proszę ustawić domyślny {0} w towarzystwie {1},
+Please set filter based on Item or Warehouse,Proszę ustawić filtr na podstawie pkt lub magazynie,
+Please set leave policy for employee {0} in Employee / Grade record,Ustaw zasadę urlopu dla pracownika {0} w rekordzie Pracownicy / stanowisko,
+Please set recurring after saving,Proszę ustawić cykliczne po zapisaniu,
+Please set the Company,Proszę ustawić firmę,
+Please set the Customer Address,Ustaw adres klienta,
+Please set the Date Of Joining for employee {0},Proszę ustawić datę dołączenia do pracownika {0},
+Please set the Default Cost Center in {0} company.,Ustaw domyślne miejsce powstawania kosztów w firmie {0}.,
+Please set the Email ID for the Student to send the Payment Request,"Proszę podać identyfikator e-mailowy studenta, aby wysłać żądanie płatności",
+Please set the Item Code first,Proszę najpierw ustawić kod pozycji,
+Please set the Payment Schedule,Ustaw harmonogram płatności,
+Please set the series to be used.,"Ustaw serię, która ma być używana.",
+Please set {0} for address {1},Ustaw {0} na adres {1},
+Please setup Students under Student Groups,Proszę ustawić Studentów w grupach studenckich,
+Please share your feedback to the training by clicking on 'Training Feedback' and then 'New',"Podziel się swoją opinią na szkolenie, klikając link &quot;Szkolenia zwrotne&quot;, a następnie &quot;Nowy&quot;",
+Please specify Company,Sprecyzuj Firmę,
+Please specify Company to proceed,Sprecyzuj firmę aby przejść dalej,
+Please specify a valid Row ID for row {0} in table {1},Proszę podać poprawny identyfikator wiersz dla rzędu {0} w tabeli {1},
+Please specify at least one attribute in the Attributes table,Proszę zaznaczyć co najmniej jeden atrybut w tabeli atrybutów,
+Please specify currency in Company,Proszę określić walutę w Spółce,
+Please specify either Quantity or Valuation Rate or both,Podaj dokładnie Ilość lub Stawkę lub obie,
+Please specify from/to range,Proszę określić zakres od/do,
+Please supply the specified items at the best possible rates,Proszę dostarczyć określone przedmioty w najlepszych możliwych cenach,
+Please update your status for this training event,Proszę zaktualizować swój status w tym szkoleniu,
+Please wait 3 days before resending the reminder.,Poczekaj 3 dni przed ponownym wysłaniem przypomnienia.,
+Point of Sale,Punkt Sprzedaży (POS),
+Point-of-Sale,Punkt sprzedaży,
+Point-of-Sale Profile,Point-of-Sale profil,
+Portal,Portal,
+Portal Settings,Ustawienia,
+Possible Supplier,Dostawca możliwe,
+Postal Expenses,Wydatki pocztowe,
+Posting Date,Data publikacji,
+Posting Date cannot be future date,Data publikacji nie może być datą przyszłą,
+Posting Time,Czas publikacji,
+Posting date and posting time is mandatory,Delegowanie datę i czas delegowania jest obowiązkowe,
+Posting timestamp must be after {0},Datownik musi byś ustawiony przed {0},
+Potential opportunities for selling.,Potencjalne szanse na sprzedaż.,
+Practitioner Schedule,Harmonogram praktyk,
+Pre Sales,Przedsprzedaż,
+Preference,Pierwszeństwo,
+Prescribed Procedures,Zalecane procedury,
+Prescription,Recepta,
+Prescription Dosage,Dawka leku na receptę,
+Prescription Duration,Czas trwania recepty,
+Prescriptions,Recepty,
+Present,Obecny,
+Prev,Poprzedni,
+Preview,Podgląd,
+Preview Salary Slip,Podgląd Zarobki Slip,
+Previous Financial Year is not closed,Poprzedni rok finansowy nie jest zamknięta,
+Price,Cena,
+Price List,Cennik,
+Price List Currency not selected,Nie wybrano Cennika w Walucie,
+Price List Rate,Wartość w cenniku,
+Price List master.,Ustawienia Cennika.,
+Price List must be applicable for Buying or Selling,Cennik musi być przyporządkowany do kupna albo sprzedaży,
+Price List {0} is disabled or does not exist,Cennik {0} jest wyłączona lub nie istnieje,
+Price or product discount slabs are required,Wymagane są płyty cenowe lub rabatowe na produkty,
+Pricing,Ustalanie cen,
+Pricing Rule,Zasada ustalania cen,
+"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Wycena Zasada jest najpierw wybiera się na podstawie ""Zastosuj Na"" polu, które może być pozycja, poz Grupa lub Marka.",
+"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Wycena Zasada jest nadpisanie cennik / określenie procentowego rabatu, w oparciu o pewne kryteria.",
+Pricing Rule {0} is updated,Zaktualizowano regułę cenową {0},
+Pricing Rules are further filtered based on quantity.,Zasady ustalania cen są dalej filtrowane na podstawie ilości.,
+Primary Address Details,Podstawowe dane adresowe,
+Primary Contact Details,Podstawowe dane kontaktowe,
+Principal Amount,Główna kwota,
+Print Format,Format Druku,
+Print IRS 1099 Forms,Drukuj formularze IRS 1099,
+Print Report Card,Wydrukuj kartę raportu,
+Print Settings,Ustawienia drukowania,
+Print and Stationery,Druk i Materiały Biurowe,
+Print settings updated in respective print format,Ustawienia drukowania zaktualizowane w odpowiednim formacie druku,
+Print taxes with zero amount,Drukowanie podatków z zerową kwotą,
+Printing and Branding,Drukowanie i firmowanie,
+Private Equity,Kapitał prywatny,
+Privilege Leave,Nieobecność z przywileju,
+Probation,Wyrok lub staż,
+Probationary Period,Okres próbny,
+Procedure,Procedura,
+Process Day Book Data,Dane książki dnia procesu,
+Process Master Data,Przetwarzaj dane podstawowe,
+Processing Chart of Accounts and Parties,Przetwarzanie planu kont i stron,
+Processing Items and UOMs,Przetwarzanie elementów i UOM,
+Processing Party Addresses,Adresy stron przetwarzających,
+Processing Vouchers,Bony przetwarzające,
+Procurement,Zaopatrzenie,
+Produced Qty,Wytworzona ilość,
+Product,Produkt,
+Product Bundle,Pakiet produktów,
+Product Search,Wyszukiwarka produktów,
+Production,Produkcja,
+Production Item,Pozycja Produkcja,
+Products,Produkty,
+Profit and Loss,Zyski i Straty,
+Profit for the year,Zysk za rok,
+Program,Program,
+Program in the Fee Structure and Student Group {0} are different.,Program w strukturze opłat i grupa studencka {0} są różne.,
+Program {0} does not exist.,Program {0} nie istnieje.,
+Program: ,Program:,
+Progress % for a task cannot be more than 100.,Postęp% dla zadania nie może zawierać więcej niż 100.,
+Project Collaboration Invitation,Projekt zaproszenie Współpraca,
+Project Id,Projekt Id,
+Project Manager,Menadżer projektu,
+Project Name,Nazwa Projektu,
+Project Start Date,Data startu projektu,
+Project Status,Status projektu,
+Project Summary for {0},Podsumowanie projektu dla {0},
+Project Update.,Aktualizacja projektu.,
+Project Value,Wartość projektu,
+Project activity / task.,Czynność / zadanie projektu,
+Project master.,Dyrektor projektu,
+Projected,Prognozowany,
+Projected Qty,Przewidywana ilość,
+Projected Quantity Formula,Formuła przewidywanej ilości,
+Projects,Projekty,
+Property,Właściwość,
+Property already added,Właściwość została już dodana,
+Proposal Writing,Pisanie wniosku,
+Proposal/Price Quote,Propozycja/Oferta cenowa,
+Prospecting,Poszukiwania,
+Provisional Profit / Loss (Credit),Rezerwowy Zysk / Strata (Credit),
+Publications,Publikacje,
+Publish Items on Website,Publikowanie przedmioty na stronie internetowej,
+Published,Opublikowany,
+Publishing,Działalność wydawnicza,
+Purchase,Zakup,
+Purchase Amount,Kwota zakupu,
+Purchase Date,Data zakupu,
+Purchase Invoice,Faktura zakupu,
+Purchase Invoice {0} is already submitted,Faktura zakupu {0} została już wysłana,
+Purchase Manager,Menadżer Zakupów,
+Purchase Master Manager,Główny Menadżer Zakupów,
+Purchase Order,Zamówienie,
+Purchase Order Amount,Kwota zamówienia zakupu,
+Purchase Order Amount(Company Currency),Kwota zamówienia zakupu (waluta firmy),
+Purchase Order Date,Data zamówienia zakupu,
+Purchase Order Items not received on time,Elementy zamówienia zakupu nie zostały dostarczone na czas,
+Purchase Order number required for Item {0},Numer Zamówienia Kupna wymagany do {0},
+Purchase Order to Payment,Zamówienie zakupu do płatności,
+Purchase Order {0} is not submitted,Zamówienia Kupna {0} nie zostało wysłane,
+Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Zlecenia zakupu nie są dozwolone w {0} z powodu karty wyników {1}.,
+Purchase Orders given to Suppliers.,Zamówienia Kupna dane Dostawcom,
+Purchase Price List,Cennik zakupowy,
+Purchase Receipt,Potwierdzenie zakupu,
+Purchase Receipt {0} is not submitted,Potwierdzenie zakupu {0} nie zostało wysłane,
+Purchase Tax Template,Szablon podatkowy zakupów,
+Purchase User,Zakup użytkownika,
+Purchase orders help you plan and follow up on your purchases,Zamówienia pomoże Ci zaplanować i śledzić na zakupy,
+Purchasing,Dostawy,
+Purpose must be one of {0},Cel musi być jednym z {0},
+Qty,Ilość,
+Qty To Manufacture,Ilość do wyprodukowania,
+Qty Total,Ilość całkowita,
+Qty for {0},Ilość dla {0},
+Qualification,Kwalifikacja,
+Quality,Jakość,
+Quality Action,Akcja jakości,
+Quality Goal.,Cel jakości.,
+Quality Inspection,Kontrola jakości,
+Quality Inspection: {0} is not submitted for the item: {1} in row {2},Kontrola jakości: {0} nie jest przesyłany dla przedmiotu: {1} w wierszu {2},
+Quality Management,Zarządzanie jakością,
+Quality Meeting,Spotkanie jakościowe,
+Quality Procedure,Procedura jakości,
+Quality Procedure.,Procedura jakości.,
+Quality Review,Przegląd jakości,
+Quantity,Ilość,
+Quantity for Item {0} must be less than {1},Ilość dla przedmiotu {0} musi być mniejsza niż {1},
+Quantity in row {0} ({1}) must be same as manufactured quantity {2},Ilość w rzędzie  {0} ({1}) musi być taka sama jak wyprodukowana ilość {2},
+Quantity must be less than or equal to {0},Ilość musi być mniejsze niż lub równe {0},
+Quantity must not be more than {0},Ilość nie może być większa niż {0},
+Quantity required for Item {0} in row {1},Ilość wymagana dla Przedmiotu {0} w rzędzie {1},
+Quantity should be greater than 0,Ilość powinna być większa niż 0,
+Quantity to Make,Ilość do zrobienia,
+Quantity to Manufacture must be greater than 0.,Ilość do produkcji musi być większy niż 0 ° C.,
+Quantity to Produce,Ilość do wyprodukowania,
+Quantity to Produce can not be less than Zero,Ilość do wyprodukowania nie może być mniejsza niż zero,
+Query Options,Opcje Zapytania,
+Queued for replacing the BOM. It may take a few minutes.,W kolejce do zastąpienia BOM. Może to potrwać kilka minut.,
+Queued for updating latest price in all Bill of Materials. It may take a few minutes.,Usługa kolejkowania aktualizacji najnowszej ceny we wszystkich materiałach. Może potrwać kilka minut.,
+Quick Journal Entry,Szybkie Księgowanie,
+Quot Count,Quot Count,
+Quot/Lead %,Kwota / kwota procentowa,
+Quotation,Wycena,
+Quotation {0} is cancelled,Oferta {0} jest anulowana,
+Quotation {0} not of type {1},Oferta {0} nie jest typem {1},
+Quotations,Notowania,
+"Quotations are proposals, bids you have sent to your customers","Notowania są propozycje, oferty Wysłane do klientów",
+Quotations received from Suppliers.,Wyceny otrzymane od dostawców,
+Quotations: ,Cytaty:,
+Quotes to Leads or Customers.,Wycena dla Tropów albo Klientów,
+RFQs are not allowed for {0} due to a scorecard standing of {1},Zlecenia RFQ nie są dozwolone w {0} z powodu karty wyników {1},
+Range,Przedział,
+Rate,Stawka,
+Rate:,Oceniać:,
+Rating,Ocena,
+Raw Material,Surowiec,
+Raw Materials,Surowy materiał,
+Raw Materials cannot be blank.,Surowce nie może być puste.,
+Re-open,Otwórz ponownie,
+Read blog,Czytaj blog,
+Read the ERPNext Manual,Przeczytać instrukcję ERPNext,
+Reading Uploaded File,Odczyt przesłanego pliku,
+Real Estate,Nieruchomości,
+Reason For Putting On Hold,Powód do zawieszenia,
+Reason for Hold,Powód wstrzymania,
+Reason for hold: ,Powód wstrzymania:,
+Receipt,Paragon,
+Receipt document must be submitted,Otrzymanie dokumentu należy składać,
+Receivable,Należności,
+Receivable Account,Konto Należności,
+Received,Otrzymano,
+Received On,Otrzymana w dniu,
+Received Quantity,Otrzymana ilość,
+Received Stock Entries,Otrzymane wpisy giełdowe,
+Receiver List is empty. Please create Receiver List,Lista odbiorców jest pusta. Proszę stworzyć Listę Odbiorców,
+Recipients,Adresaci,
+Reconcile,Uzgodnij,
+"Record of all communications of type email, phone, chat, visit, etc.","Zapis wszystkich komunikatów typu e-mail, telefon, czat, wizyty, itd",
+Records,Dokumentacja,
+Redirect URL,przekierowanie,
+Ref,Ref,
+Ref Date,Ref Data,
+Reference,Referencja,
+Reference #{0} dated {1},Odnośnik #{0} z datą {1},
+Reference Date,Data Odniesienia,
+Reference Doctype must be one of {0},Doctype referencyjny musi być jednym z {0},
+Reference Document,Dokument referencyjny,
+Reference Document Type,Oznaczenie typu dokumentu,
+Reference No & Reference Date is required for {0},Nr Odniesienia & Data Odniesienia jest wymagana do {0},
+Reference No and Reference Date is mandatory for Bank transaction,Numer referencyjny i data jest obowiązkowe dla transakcji Banku,
+Reference No is mandatory if you entered Reference Date,Nr Odniesienia jest obowiązkowy jest wprowadzono Datę Odniesienia,
+Reference No.,Nr referencyjny.,
+Reference Number,Numer Odniesienia,
+Reference Owner,Odniesienie Właściciel,
+Reference Type,Typ Odniesienia,
+"Reference: {0}, Item Code: {1} and Customer: {2}","Odniesienie: {0}, Kod pozycji: {1} i klient: {2}",
+References,Referencje,
+Refresh Token,Odśwież Reklamowe,
+Region,Region,
+Register,Zarejestrować,
+Reject,Odrzucać,
+Rejected,Odrzucono,
+Related,Związane z,
+Relation with Guardian1,Relacja z Guardian1,
+Relation with Guardian2,Relacja z Guardian2,
+Release Date,Data wydania,
+Reload Linked Analysis,Przeładuj połączoną analizę,
+Remaining,Pozostały,
+Remaining Balance,Pozostałe saldo,
+Remarks,Uwagi,
+Reminder to update GSTIN Sent,Przypomnienie o aktualizacji GSTIN wysłanych,
+Remove item if charges is not applicable to that item,"Usuń element, jeśli opłata nie ma zastosowania do tej pozycji",
+Removed items with no change in quantity or value.,Usunięte pozycje bez zmian w ilości lub wartości.,
+Reopen,Otworzyć na nowo,
+Reorder Level,Poziom Uporządkowania,
+Reorder Qty,Ilość do ponownego zamówienia,
+Repeat Customer Revenue,Powtórz Przychody klienta,
+Repeat Customers,Powtarzający się klient,
+Replace BOM and update latest price in all BOMs,Zastąp BOM i zaktualizuj ostatnią cenę we wszystkich materiałach,
+Replied,Odpowiedziane,
+Replies,Odpowiedzi,
+Report,Raport,
+Report Builder,Kreator raportów,
+Report Type,Typ raportu,
+Report Type is mandatory,Typ raportu jest wymagany,
+Reports,Raporty,
+Reqd By Date,Data realizacji,
+Reqd Qty,Wymagana ilość,
+Request for Quotation,Zapytanie ofertowe,
+Request for Quotations,Zapytanie o cenę,
+Request for Raw Materials,Zapytanie o surowce,
+Request for purchase.,Prośba o zakup,
+Request for quotation.,Zapytanie ofertowe.,
+Requesting Site,Strona żądająca,
+Requesting payment against {0} {1} for amount {2},Żądanie zapłatę przed {0} {1} w ilości {2},
+Requestor,Żądający,
+Required On,Wymagane na,
+Required Qty,Wymagana ilość,
+Required Quantity,Wymagana ilość,
+Reschedule,Zmień harmonogram,
+Research,Badania,
+Research & Development,Badania i Rozwój,
+Researcher,Researcher,
+Resend Payment Email,Wyślij ponownie płatności E-mail,
+Reserve Warehouse,Reserve Warehouse,
+Reserved Qty,Zarezerwowana ilość,
+Reserved Qty for Production,Reserved Ilość Produkcji,
+Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Zarezerwowane Ilość na produkcję: Ilość surowców do produkcji artykułów.,
+Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Magazyn Reserved jest obowiązkowy dla Produktu {0} w dostarczonych Surowcach,
+Reserved for manufacturing,Zarezerwowana dla produkcji,
+Reserved for sale,Zarezerwowane na sprzedaż,
+Reserved for sub contracting,Zarezerwowany dla podwykonawców,
+Resistant,Odporny,
+Resolve error and upload again.,Rozwiąż błąd i prześlij ponownie.,
+Responsibilities,Obowiązki,
+Rest Of The World,Reszta świata,
+Restart Subscription,Ponownie uruchom subskrypcję,
+Restaurant,Restauracja,
+Result Date,Data wyniku,
+Result already Submitted,Wynik już przesłany,
+Resume,Wznawianie,
+Retail,Detal,
+Retail & Wholesale,Hurt i Detal,
+Retail Operations,Operacje detaliczne,
+Retained Earnings,Zysk z lat ubiegłych,
+Retention Stock Entry,Wpis do magazynu retencyjnego,
+Retention Stock Entry already created or Sample Quantity not provided,Wpis zapasu retencji już utworzony lub nie podano próbki próbki,
+Return,Powrót,
+Return / Credit Note,Powrót / Credit Note,
+Return / Debit Note,Powrót / noty obciążeniowej,
+Returns,zwroty,
+Reverse Journal Entry,Reverse Journal Entry,
+Review Invitation Sent,Wysłane zaproszenie do recenzji,
+Review and Action,Recenzja i działanie,
+Role,Rola,
+Rooms Booked,Pokoje zarezerwowane,
+Root Company,Firma główna,
+Root Type,Typ Root,
+Root Type is mandatory,Typ Root jest obowiązkowy,
+Root cannot be edited.,Root nie może być edytowany,
+Root cannot have a parent cost center,Root nie może mieć rodzica w centrum kosztów,
+Round Off,Zaokrąglenia,
+Rounded Total,Końcowa zaokrąglona kwota,
+Route,Trasa,
+Row # {0}: ,Wiersz # {0}:,
+Row # {0}: Batch No must be same as {1} {2},"Wiersz # {0}: Batch Nie musi być taki sam, jak {1} {2}",
+Row # {0}: Cannot return more than {1} for Item {2},Wiersz # {0}: Nie można wrócić więcej niż {1} dla pozycji {2},
+Row # {0}: Rate cannot be greater than the rate used in {1} {2},Wiersz {0}: stawka nie może być większa niż stawka stosowana w {1} {2},
+Row # {0}: Serial No is mandatory,Wiersz # {0}: Numer seryjny jest obowiązkowe,
+Row # {0}: Serial No {1} does not match with {2} {3},Wiersz # {0}: Numer seryjny: {1} nie jest zgodny z {2} {3},
+Row #{0} (Payment Table): Amount must be negative,Wiersz nr {0} (tabela płatności): kwota musi być ujemna,
+Row #{0} (Payment Table): Amount must be positive,Wiersz nr {0} (tabela płatności): kwota musi być dodatnia,
+Row #{0}: Account {1} does not belong to company {2},Wiersz nr {0}: konto {1} nie należy do firmy {2},
+Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Wiersz {0}: alokowana kwota nie może być większa niż kwota pozostająca do spłaty.,
+"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Wiersz # {0}: {1} aktywami nie mogą być składane, jest już {2}",
+Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,"Wiersz nr {0}: nie można ustawić wartości Rate, jeśli kwota jest większa niż kwota rozliczona dla elementu {1}.",
+Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Wiersz # {0}: Data Rozliczenie {1} nie może być wcześniejsza niż data Czek {2},
+Row #{0}: Duplicate entry in References {1} {2},Wiersz # {0}: Duplikuj wpis w odsyłaczach {1} {2},
+Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Wiersz # {0}: oczekiwana data dostarczenia nie może być poprzedzona datą zamówienia zakupu,
+Row #{0}: Item added,Wiersz # {0}: element dodany,
+Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Wiersz # {0}: Journal Entry {1} nie masz konta {2} lub już porównywana z innym kuponie,
+Row #{0}: Not allowed to change Supplier as Purchase Order already exists,"Wiersz # {0}: Nie wolno zmienić dostawcę, jak już istnieje Zamówienie",
+Row #{0}: Please set reorder quantity,Wiersz # {0}: Proszę ustawić ilość zmienić kolejność,
+Row #{0}: Please specify Serial No for Item {1},Wiersz # {0}: Proszę podać nr seryjny dla pozycji {1},
+Row #{0}: Qty increased by 1,Wiersz # {0}: Ilość zwiększona o 1,
+Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,"Wiersz # {0}: Cena musi być taki sam, jak {1}: {2} ({3} / {4})",
+Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Wiersz # {0}: Typ dokumentu referencyjnego musi być jednym z wydatków roszczenia lub wpisu do dziennika,
+"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Wiersz # {0}: Reference Document Type musi być jednym z Zamówieniem, faktura zakupu lub Journal Entry",
+Row #{0}: Rejected Qty can not be entered in Purchase Return,Wiersz # {0}: Odrzucone Ilość nie może być wprowadzone w Purchase Powrót,
+Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Wiersz # {0}: Odrzucone Magazyn jest obowiązkowe przed odrzucony poz {1},
+Row #{0}: Reqd by Date cannot be before Transaction Date,Wiersz nr {0}: Data realizacji nie może być wcześniejsza od daty transakcji,
+Row #{0}: Set Supplier for item {1},Wiersz # {0}: Ustaw Dostawca dla pozycji {1},
+Row #{0}: Status must be {1} for Invoice Discounting {2},Wiersz # {0}: status musi być {1} dla rabatu na faktury {2},
+"Row #{0}: The batch {1} has only {2} qty. Please select another batch which has {3} qty available or split the row into multiple rows, to deliver/issue from multiple batches","Wiersz # {0}: partia {1} ma tylko {2} qty. Wybierz inną partię, która ma {3} qty dostępną lub podzielisz wiersz na wiele wierszy, aby dostarczyć / wydać z wielu partii",
+Row #{0}: Timings conflicts with row {1},Wiersz # {0}: taktowania konflikty z rzędu {1},
+Row #{0}: {1} can not be negative for item {2},Wiersz # {0}: {1} nie może być negatywne dla pozycji {2},
+Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Wiersz nr {0}: Kwota nie może być większa niż oczekiwaniu Kwota wobec Kosztów zastrzeżenia {1}. W oczekiwaniu Kwota jest {2},
+Row {0} : Operation is required against the raw material item {1},Wiersz {0}: operacja jest wymagana względem elementu surowcowego {1},
+Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2},Wiersz {0} # Przydzielona kwota {1} nie może być większa od kwoty nieodebranej {2},
+Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},Wiersz {0} # Element {1} nie może zostać przeniesiony więcej niż {2} na zamówienie {3},
+Row {0}# Paid Amount cannot be greater than requested advance amount,Wiersz {0} # Płatna kwota nie może być większa niż żądana kwota zaliczki,
+Row {0}: Activity Type is mandatory.,Wiersz {0}: Typ aktywny jest obowiązkowe.,
+Row {0}: Advance against Customer must be credit,Wiersz {0}: Zaliczka  Klienta jest po stronie kredytowej,
+Row {0}: Advance against Supplier must be debit,Wiersz {0}: Zaliczka Dostawcy jest po stronie debetowej,
+Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Wiersz {0}: Przyznana kwota {1} musi być mniejsza lub równa kwocie Entry Płatność {2},
+Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Wiersz {0}: Przyznana kwota {1} musi być mniejsza lub równa pozostałej kwoty faktury {2},
+Row {0}: An Reorder entry already exists for this warehouse {1},"Wiersz {0}: Zapis ponownego zamawiania dla tego magazynu, {1}",
+Row {0}: Bill of Materials not found for the Item {1},Wiersz {0}: Bill of Materials nie znaleziono Item {1},
+Row {0}: Conversion Factor is mandatory,Wiersz {0}: Współczynnik konwersji jest obowiązkowe,
+Row {0}: Cost center is required for an item {1},Wiersz {0}: wymagany jest koszt centrum dla elementu {1},
+Row {0}: Credit entry can not be linked with a {1},Wiersz {0}: wejście kredytowe nie mogą być powiązane z {1},
+Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Wiersz {0}: Waluta BOM # {1} powinna być równa wybranej walucie {2},
+Row {0}: Debit entry can not be linked with a {1},Wiersz {0}: Debit wpis nie może być związana z {1},
+Row {0}: Depreciation Start Date is required,Wiersz {0}: Wymagana data rozpoczęcia amortyzacji,
+Row {0}: Enter location for the asset item {1},Wiersz {0}: wpisz lokalizację dla elementu zasobu {1},
+Row {0}: Exchange Rate is mandatory,Wiersz {0}: Kurs wymiany jest obowiązkowe,
+Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Wiersz {0}: oczekiwana wartość po przydatności musi być mniejsza niż kwota zakupu brutto,
+Row {0}: From Time and To Time is mandatory.,Wiersz {0}: od czasu do czasu i jest obowiązkowe.,
+Row {0}: From Time and To Time of {1} is overlapping with {2},Wiersz {0}: od czasu do czasu i od {1} pokrywa się z {2},
+Row {0}: From time must be less than to time,Wiersz {0}: Od czasu musi być mniej niż do czasu,
+Row {0}: Hours value must be greater than zero.,Wiersz {0}: Godziny wartość musi być większa od zera.,
+Row {0}: Invalid reference {1},Wiersz {0}: Nieprawidłowy odniesienia {1},
+Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Wiersz {0}: Party / konto nie jest zgodny z {1} / {2} w {3} {4},
+Row {0}: Party Type and Party is required for Receivable / Payable account {1},Wiersz {0}: Typ i Partia Partia jest wymagane w przypadku otrzymania / rachunku Płatne {1},
+Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Wiersz {0}: Płatność przeciwko sprzedaży / Zamówienia powinny być zawsze oznaczone jako góry,
+Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,"Wiersz {0}: Proszę sprawdzić ""Czy Advance"" przeciw konta {1}, jeśli jest to zaliczka wpis.",
+Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Wiersz {0}: należy ustawić w Powodzie zwolnienia z podatku w podatkach od sprzedaży i opłatach,
+Row {0}: Please set the Mode of Payment in Payment Schedule,Wiersz {0}: ustaw tryb płatności w harmonogramie płatności,
+Row {0}: Please set the correct code on Mode of Payment {1},Wiersz {0}: ustaw prawidłowy kod w trybie płatności {1},
+Row {0}: Qty is mandatory,Wiersz {0}: Ilość jest obowiązkowe,
+Row {0}: Quality Inspection rejected for item {1},Wiersz {0}: Kontrola jakości odrzucona dla elementu {1},
+Row {0}: UOM Conversion Factor is mandatory,Wiersz {0}: JM Współczynnik konwersji jest obowiązkowe,
+Row {0}: select the workstation against the operation {1},Wiersz {0}: wybierz stację roboczą w stosunku do operacji {1},
+Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Wiersz {0}: {1} wymagane numery seryjne dla elementu {2}. Podałeś {3}.,
+Row {0}: {1} must be greater than 0,Wiersz {0}: {1} musi być większy niż 0,
+Row {0}: {1} {2} does not match with {3},Wiersz {0}: {1} {2} nie zgadza się z {3},
+Row {0}:Start Date must be before End Date,Wiersz {0}: Data Początku musi być przed Datą Końca,
+Rows with duplicate due dates in other rows were found: {0},Znaleziono wiersze z powtarzającymi się datami w innych wierszach: {0},
+Rules for adding shipping costs.,Zasady naliczania kosztów transportu.,
+Rules for applying pricing and discount.,Zasady określania cen i zniżek,
+SGST Amount,Kwota SGST,
+Safety Stock,Bezpieczeństwo Zdjęcie,
+Salary,Wynagrodzenia,
+Salary Slip ID,Wynagrodzenie Slip ID,
+Salary Slip of employee {0} already created for this period,Wynagrodzenie Slip pracownika {0} już stworzony dla tego okresu,
+Salary Slip of employee {0} already created for time sheet {1},Slip Wynagrodzenie pracownika {0} już stworzony dla arkusza czasu {1},
+Salary Slip submitted for period from {0} to {1},Przesłane wynagrodzenie za okres od {0} do {1},
+Salary Structure Assignment for Employee already exists,Przydział struktury wynagrodzeń dla pracownika już istnieje,
+Salary Structure Missing,Struktura Wynagrodzenie Brakujący,
+Salary Structure must be submitted before submission of Tax Ememption Declaration,Struktura wynagrodzeń musi zostać złożona przed złożeniem deklaracji zwolnienia podatkowego,
+Salary Structure not found for employee {0} and date {1},Nie znaleziono struktury wynagrodzenia dla pracownika {0} i daty {1},
+Salary Structure should have flexible benefit component(s) to dispense benefit amount,Struktura wynagrodzeń powinna mieć elastyczny składnik (-y) świadczeń w celu przyznania kwoty świadczenia,
+"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.",Wynagrodzenie już przetwarzane w okresie od {0} i {1} Zostaw okresu stosowania nie może być pomiędzy tym zakresie dat.,
+Sales,Sprzedaż,
+Sales Account,Konto sprzedaży,
+Sales Expenses,Koszty sprzedaży,
+Sales Funnel,Lejek sprzedaży,
+Sales Invoice,Faktura sprzedaży,
+Sales Invoice {0} has already been submitted,Faktura Sprzedaży {0} została już wprowadzona,
+Sales Invoice {0} must be cancelled before cancelling this Sales Order,Faktura Sprzedaży {0} powinna być anulowana przed anulowaniem samego Zlecenia Sprzedaży,
+Sales Manager,Menadżer Sprzedaży,
+Sales Master Manager,Główny Menadżer Sprzedaży,
+Sales Order,Zlecenie sprzedaży,
+Sales Order Item,Pozycja Zlecenia Sprzedaży,
+Sales Order required for Item {0},Zlecenie Sprzedaży jest wymagane dla Elementu {0},
+Sales Order to Payment,Płatności do zamówienia sprzedaży,
+Sales Order {0} is not submitted,Zlecenie Sprzedaży {0} nie jest jeszcze złożone,
+Sales Order {0} is not valid,Zlecenie Sprzedaży {0} jest niepoprawne,
+Sales Order {0} is {1},Zamówienie sprzedaży jest {0} {1},
+Sales Orders,Zlecenia sprzedaży,
+Sales Partner,Partner Sprzedaży,
+Sales Pipeline,Pipeline sprzedaży,
+Sales Price List,Lista cena sprzedaży,
+Sales Return,Zwrot sprzedaży,
+Sales Summary,Podsumowanie sprzedaży,
+Sales Tax Template,Szablon Podatek od sprzedaży,
+Sales Team,Team Sprzedażowy,
+Sales User,Sprzedaż użytkownika,
+Sales and Returns,Sprzedaż i zwroty,
+Sales campaigns.,Kampanie sprzedażowe,
+Sales orders are not available for production,Zamówienia sprzedaży nie są dostępne do produkcji,
+Salutation,Forma grzecznościowa,
+Same Company is entered more than once,Ta sama Spółka wpisana jest więcej niż jeden raz,
+Same item cannot be entered multiple times.,Sama pozycja nie może być wprowadzone wiele razy.,
+Same supplier has been entered multiple times,"Tego samego dostawcy, który został wpisany wielokrotnie",
+Sample,Próba,
+Sample Collection,Kolekcja próbek,
+Sample quantity {0} cannot be more than received quantity {1},Ilość próbki {0} nie może być większa niż ilość odebranej {1},
+Sanctioned,usankcjonowane,
+Sanctioned Amount,Zatwierdzona Kwota,
+Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Usankcjonowane Kwota nie może być większa niż ilość roszczenia w wierszu {0}.,
+Sand,Piasek,
+Saturday,Sobota,
+Saved,Zapisane,
+Saving {0},Zapisywanie {0},
+Scan Barcode,Skanuj kod kreskowy,
+Schedule,Harmonogram,
+Schedule Admission,Zaplanuj wstęp,
+Schedule Course,Plan zajęć,
+Schedule Date,Planowana Data,
+Schedule Discharge,Zaplanuj rozładowanie,
+Scheduled,Zaplanowane,
+Scheduled Upto,Zaplanowane Upto,
+"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Harmonogramy nakładek {0}, czy chcesz kontynuować po przejściu przez zakładki?",
+Score cannot be greater than Maximum Score,Wynik nie może być większa niż maksymalna liczba punktów,
+Score must be less than or equal to 5,Wynik musi być niższy lub równy 5,
+Scorecards,Karty wyników,
+Scrapped,Złomowany,
+Search,Szukaj,
+Search Results,Wyniki wyszukiwania,
+Search Sub Assemblies,Zespoły Szukaj Sub,
+"Search by item code, serial number, batch no or barcode","Wyszukaj według kodu produktu, numeru seryjnego, numeru partii lub kodu kreskowego",
+"Seasonality for setting budgets, targets etc.","Sezonowość ustalania budżetów, cele itd.",
+Secret Key,Sekretny klucz,
+Secretary,Sekretarka,
+Section Code,Kod sekcji,
+Secured Loans,Kredyty Hipoteczne,
+Securities & Commodity Exchanges,Papiery i Notowania Giełdowe,
+Securities and Deposits,Papiery wartościowe i depozyty,
+See All Articles,Zobacz wszystkie artykuły,
+See all open tickets,Zobacz wszystkie otwarte bilety,
+See past orders,Zobacz poprzednie zamówienia,
+See past quotations,Zobacz poprzednie cytaty,
+Select,Wybierz,
+Select Alternate Item,Wybierz opcję Alternatywny przedmiot,
+Select Attribute Values,Wybierz wartości atrybutów,
+Select BOM,Wybierz BOM,
+Select BOM and Qty for Production,Wybierz BOM i ilosc Produkcji,
+"Select BOM, Qty and For Warehouse","Wybierz LM, ilość i magazyn",
+Select Batch,Wybierz opcję Batch,
+Select Batch Numbers,Wybierz numery partii,
+Select Brand...,Wybierz markę ...,
+Select Company,Wybierz firmę,
+Select Company...,Wybierz firmą ...,
+Select Customer,Wybierz klienta,
+Select Days,Wybierz dni,
+Select Default Supplier,Wybierz Domyślne Dostawca,
+Select DocType,Wybierz DocType,
+Select Fiscal Year...,Wybierz rok finansowy ...,
+Select Item (optional),Wybierz pozycję (opcjonalnie),
+Select Items based on Delivery Date,Wybierz pozycje w oparciu o datę dostarczenia,
+Select Items to Manufacture,Wybierz produkty do Manufacture,
+Select Loyalty Program,Wybierz program lojalnościowy,
+Select Patient,Wybierz pacjenta,
+Select Possible Supplier,Wybierz Możliwa Dostawca,
+Select Property,Wybierz właściwość,
+Select Quantity,Wybierz ilość,
+Select Serial Numbers,Wybierz numery seryjne,
+Select Target Warehouse,Wybierz Magazyn docelowy,
+Select Warehouse...,Wybierz magazyn ...,
+Select an account to print in account currency,Wybierz konto do wydrukowania w walucie konta,
+Select an employee to get the employee advance.,"Wybierz pracownika, aby uzyskać awans pracownika.",
+Select at least one value from each of the attributes.,Wybierz co najmniej jedną wartość z każdego z atrybutów.,
+Select change amount account,Wybierz opcję Zmień konto kwotę,
+Select company first,Najpierw wybierz firmę,
+Select students manually for the Activity based Group,Wybierz uczniów ręcznie dla grupy działań,
+Select the customer or supplier.,Wybierz klienta lub dostawcę.,
+Select the nature of your business.,Wybierz charakteru swojej działalności.,
+Select the program first,Najpierw wybierz program,
+Select to add Serial Number.,"Wybierz, aby dodać numer seryjny.",
+Select your Domains,Wybierz swoje domeny,
+Selected Price List should have buying and selling fields checked.,Wybrany cennik powinien mieć sprawdzone pola kupna i sprzedaży.,
+Sell,Sprzedać,
+Selling,Sprzedaż,
+Selling Amount,Kwota sprzedaży,
+Selling Price List,Cennik sprzedaży,
+Selling Rate,Kurs sprzedaży,
+"Selling must be checked, if Applicable For is selected as {0}","Sprzedaż musi być sprawdzona, jeśli dotyczy wybrano jako {0}",
+Send Grant Review Email,Wyślij wiadomość e-mail dotyczącą oceny grantu,
+Send Now,Wyślij teraz,
+Send SMS,Wyślij SMS,
+Send mass SMS to your contacts,Wyślij zbiorczo sms do swoich kontaktów,
+Sensitivity,Wrażliwość,
+Sent,Wysłano,
+Serial No and Batch,Numer seryjny oraz Batch,
+Serial No is mandatory for Item {0},Nr seryjny jest obowiązkowy dla pozycji {0},
+Serial No {0} does not belong to Batch {1},Numer seryjny {0} nie należy do partii {1},
+Serial No {0} does not belong to Delivery Note {1},Nr seryjny {0} nie należy do żadnego potwierdzenia dostawy {1},
+Serial No {0} does not belong to Item {1},Nr seryjny {0} nie należy do żadnej rzeczy {1},
+Serial No {0} does not belong to Warehouse {1},Nr seryjny {0} nie należy do magazynu {1},
+Serial No {0} does not belong to any Warehouse,Nr seryjny: {0} nie należy do żadnego Magazynu,
+Serial No {0} does not exist,Nr seryjny {0} nie istnieje,
+Serial No {0} has already been received,Nr seryjny {0} otrzymano,
+Serial No {0} is under maintenance contract upto {1},Nr seryjny {0} w ramach umowy serwisowej do {1},
+Serial No {0} is under warranty upto {1},Nr seryjny {0} w ramach gwarancji do {1},
+Serial No {0} not found,Nr seryjny {0} nie znaleziono,
+Serial No {0} quantity {1} cannot be a fraction,Nr seryjny {0} dla ilości {1} nie może być ułamkiem,
+Serial Nos Required for Serialized Item {0},Nr-y seryjne Wymagane do szeregowania pozycji {0},
+Serial Number: {0} is already referenced in Sales Invoice: {1},Numer seryjny: {0} znajduje się już w fakturze sprzedaży: {1},
+Serial Numbers,Numer seryjny,
+Serial Numbers in row {0} does not match with Delivery Note,Numery seryjne w wierszu {0} nie pasują do opisu dostawy,
+Serial no {0} has been already returned,Numer seryjny {0} został już zwrócony,
+Serial number {0} entered more than once,Nr seryjny {0} wprowadzony jest więcej niż jeden raz,
+Serialized Inventory,Inwentaryzacja w odcinkach,
+Series Updated,Aktualizacja serii,
+Series Updated Successfully,Seria zaktualizowana,
+Series is mandatory,Serie jest obowiązkowa,
+Series {0} already used in {1},Seria {0} już zostały użyte w {1},
+Service,Usługa,
+Service Expense,Koszty usługi,
+Service Level Agreement,Umowa o poziomie usług,
+Service Level Agreement.,Umowa o poziomie usług.,
+Service Level.,Poziom usług.,
+Service Stop Date cannot be after Service End Date,Data zatrzymania usługi nie może być późniejsza niż data zakończenia usługi,
+Service Stop Date cannot be before Service Start Date,Data zatrzymania usługi nie może być wcześniejsza niż data rozpoczęcia usługi,
+Services,Usługi,
+"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Ustaw wartości domyślne jak firma, waluta, bieżący rok rozliczeniowy, itd.",
+Set Details,Ustaw szczegóły,
+Set New Release Date,Ustaw nową datę wydania,
+Set Project and all Tasks to status {0}?,Ustaw projekt i wszystkie zadania na status {0}?,
+Set Status,Ustaw status,
+Set Tax Rule for shopping cart,Ustaw regułę podatkowa do koszyka,
+Set as Closed,Ustaw jako Zamknięty,
+Set as Completed,Ustaw jako ukończone,
+Set as Default,Ustaw jako domyślne,
+Set as Lost,Ustaw jako utracony,
+Set as Open,Ustaw jako otwarty,
+Set default inventory account for perpetual inventory,Ustaw domyślne konto zapasów dla zasobów reklamowych wieczystych,
+Set this if the customer is a Public Administration company.,"Ustaw to, jeśli klient jest firmą administracji publicznej.",
+Set {0} in asset category {1} or company {2},Ustaw {0} w kategorii aktywów {1} lub firmie {2},
+"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Ustawianie zdarzenia do {0}, ponieważ urzędnik dołączone do sprzedaży poniżej osób nie posiada identyfikator użytkownika {1}",
+Setting defaults,Ustawianie wartości domyślnych,
+Setting up Email,Konfiguracja e-mail,
+Setting up Email Account,Konfigurowanie konta e-mail,
+Setting up Employees,Ustawienia pracowników,
+Setting up Taxes,Konfigurowanie podatki,
+Setting up company,Zakładanie firmy,
+Settings,Ustawienia,
+"Settings for online shopping cart such as shipping rules, price list etc.","Ustawienia dla internetowego koszyka, takie jak zasady żeglugi, cennika itp",
+Settings for website homepage,Ustawienia strony głównej,
+Settings for website product listing,Ustawienia listy produktów w witrynie,
+Settled,Osiadły,
+Setup Gateway accounts.,Rachunki konfiguracji bramy.,
+Setup SMS gateway settings,Konfiguracja ustawień bramki SMS,
+Setup cheque dimensions for printing,Wymiary Sprawdź konfigurację do druku,
+Setup default values for POS Invoices,Ustaw wartości domyślne dla faktur POS,
+Setup mode of POS (Online / Offline),Tryb konfiguracji POS (Online / Offline),
+Setup your Institute in ERPNext,Skonfiguruj swój instytut w ERPNext,
+Share Balance,Udostępnij saldo,
+Share Ledger,Udostępnij Księgę,
+Share Management,Zarządzanie udziałami,
+Share Transfer,Udostępnij przelew,
+Share Type,Rodzaj udziału,
+Shareholder,Akcjonariusz,
+Ship To State,Ship To State,
+Shipments,Przesyłki,
+Shipping,Wysyłka,
+Shipping Address,Adres dostawy,
+"Shipping Address does not have country, which is required for this Shipping Rule","Adres wysyłki nie ma kraju, który jest wymagany dla tej reguły wysyłki",
+Shipping rule only applicable for Buying,Zasada wysyłki ma zastosowanie tylko do zakupów,
+Shipping rule only applicable for Selling,Reguła wysyłki dotyczy tylko sprzedaży,
+Shopify Supplier,Shopify dostawca,
+Shopping Cart,Koszyk,
+Shopping Cart Settings,Ustawienia koszyka,
+Short Name,Skrócona nazwa,
+Shortage Qty,Niedobór szt,
+Show Completed,Pokaż ukończone,
+Show Cumulative Amount,Pokaż łączną kwotę,
+Show Employee,Pokaż pracownika,
+Show Open,Pokaż otwarta,
+Show Opening Entries,Pokaż otwierające wpisy,
+Show Payment Details,Pokaż szczegóły płatności,
+Show Return Entries,Pokaż wpisy zwrotne,
+Show Salary Slip,Slip Pokaż Wynagrodzenie,
+Show Variant Attributes,Pokaż atrybuty wariantu,
+Show Variants,Pokaż warianty,
+Show closed,Pokaż closed,
+Show exploded view,Pokaż widok rozstrzelony,
+Show only POS,Pokaż tylko POS,
+Show unclosed fiscal year's P&L balances,Pokaż niezamkniętych rok obrotowy za P &amp; L sald,
+Show zero values,Pokaż wartości zerowe,
+Sick Leave,Urlop Chorobowy,
+Silt,Muł,
+Single Variant,Pojedynczy wariant,
+Single unit of an Item.,Jednostka produktu.,
+"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Pomijanie Zostaw alokację dla następujących pracowników, ponieważ rekordy Urlop alokacji już istnieją przeciwko nim. {0}",
+"Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}","Pomijanie przydziału struktury wynagrodzeń dla następujących pracowników, ponieważ rekordy przypisania struktury wynagrodzeń już istnieją przeciwko nim. {0}",
+Slideshow,Pokaz slajdów,
+Slots for {0} are not added to the schedule,Gniazda dla {0} nie są dodawane do harmonogramu,
+Small,Mały,
+Soap & Detergent,Środki czystości i Detergenty,
+Software,Oprogramowanie,
+Software Developer,Programista,
+Softwares,Oprogramowania,
+Soil compositions do not add up to 100,Składy gleby nie sumują się do 100,
+Sold,Sprzedany,
+Some emails are invalid,Niektóre e-maile są nieprawidłowe,
+Some information is missing,Niektóre informacje brakuje,
+Something went wrong!,Coś poszło nie tak!,
+"Sorry, Serial Nos cannot be merged","Niestety, numery seryjne nie mogą zostać połączone",
+Source,Źródło,
+Source Name,Źródło Nazwa,
+Source Warehouse,Magazyn źródłowy,
+Source and Target Location cannot be same,Lokalizacja źródłowa i docelowa nie może być taka sama,
+Source and target warehouse cannot be same for row {0},Źródło i magazyn docelowy nie mogą być takie sama dla wiersza {0},
+Source and target warehouse must be different,Źródło i magazyn docelowy musi być inna,
+Source of Funds (Liabilities),Zobowiązania,
+Source warehouse is mandatory for row {0},Magazyn źródłowy jest obowiązkowy dla wiersza {0},
+Specified BOM {0} does not exist for Item {1},Określone BOM {0} nie istnieje dla pozycji {1},
+Split,Rozdzielać,
+Split Batch,Podział partii,
+Split Issue,Podziel problem,
+Sports,Sporty,
+Staffing Plan {0} already exist for designation {1},Plan zatrudnienia {0} już istnieje dla wyznaczenia {1},
+Standard,Standard,
+Standard Buying,Standardowe zakupy,
+Standard Selling,Standard sprzedaży,
+Standard contract terms for Sales or Purchase.,Standardowe warunki umowy sprzedaży lub kupna.,
+Start Date,Data startu,
+Start Date of Agreement can't be greater than or equal to End Date.,Data rozpoczęcia umowy nie może być większa lub równa dacie zakończenia.,
+Start Year,Rok rozpoczęcia,
+"Start and end dates not in a valid Payroll Period, cannot calculate {0}","Daty rozpoczęcia i zakończenia nie w ważnym okresie płacowym, nie można obliczyć {0}",
+"Start and end dates not in a valid Payroll Period, cannot calculate {0}.","Daty rozpoczęcia i zakończenia nie są w ważnym okresie rozliczeniowym, nie można obliczyć {0}.",
+Start date should be less than end date for Item {0},Data startu powinna być niższa od daty końca dla {0},
+Start date should be less than end date for task {0},Data rozpoczęcia powinna być mniejsza niż data zakończenia dla zadania {0},
+Start day is greater than end day in task '{0}',Dzień rozpoczęcia jest większy niż dzień zakończenia w zadaniu &quot;{0}&quot;,
+Start on,Zaczynaj na,
+State,Stan,
+State/UT Tax,Podatek stanowy / UT,
+Statement of Account,Wyciąg z rachunku,
+Status must be one of {0},Status musi być jednym z {0},
+Stock,Magazyn,
+Stock Adjustment,Korekta,
+Stock Analytics,Analityka magazynu,
+Stock Assets,Zapasy,
+Stock Available,Dostępność towaru,
+Stock Balance,Bilans zapasów,
+Stock Entries already created for Work Order ,Wpisy magazynowe już utworzone dla zlecenia pracy,
+Stock Entry,Zapis magazynowy,
+Stock Entry {0} created,Wpis {0} w Magazynie został utworzony,
+Stock Entry {0} is not submitted,Zdjęcie Wejście {0} nie jest składany,
+Stock Expenses,Wydatki magazynowe,
+Stock In Hand,Na stanie magazynu,
+Stock Items,produkty seryjne,
+Stock Ledger,Księga zapasów,
+Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Zapisy księgi zapasów oraz księgi głównej są odświeżone dla wybranego dokumentu zakupu,
+Stock Levels,Poziom zapasów,
+Stock Liabilities,Zadłużenie zapasów,
+Stock Options,Opcje magazynu,
+Stock Qty,Ilość zapasów,
+Stock Received But Not Billed,"Przyjęte na stan, nie zapłacone (zobowiązanie)",
+Stock Reports,Raporty seryjne,
+Stock Summary,Podsumowanie Zdjęcie,
+Stock Transactions,Operacje magazynowe,
+Stock UOM,Jednostka,
+Stock Value,Wartość zapasów,
+Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},Saldo Zdjęcie w serii {0} będzie negatywna {1} dla pozycji {2} w hurtowni {3},
+Stock cannot be updated against Purchase Receipt {0},Zdjęcie nie może zostać zaktualizowany przed ZAKUPU {0},
+Stock cannot exist for Item {0} since has variants,"Zdjęcie nie może istnieć dla pozycji {0}, ponieważ ma warianty",
+Stock transactions before {0} are frozen,Operacje magazynowe przed {0} są zamrożone,
+Stop,Zatrzymaj,
+Stopped,Zatrzymany,
+"Stopped Work Order cannot be cancelled, Unstop it first to cancel","Zatwierdzone zlecenie pracy nie może zostać anulowane, należy je najpierw anulować, aby anulować",
+Stores,Sklepy,
+Structures have been assigned successfully,Struktury zostały pomyślnie przypisane,
+Student,Student,
+Student Activity,Działalność uczniowska,
+Student Address,Adres studenta,
+Student Admissions,Rekrutacja dla studentów,
+Student Attendance,Obecność Studenta,
+"Student Batches help you track attendance, assessments and fees for students","Partie studenckich pomóc śledzenie obecności, oceny i opłat dla studentów",
+Student Email Address,Student adres email,
+Student Email ID,Student ID email,
+Student Group,Grupa Student,
+Student Group Strength,Siła grupy studentów,
+Student Group is already updated.,Grupa studentów jest już aktualizowana.,
+Student Group: ,Grupa studencka:,
+Student ID,legitymacja studencka,
+Student ID: ,Legitymacja studencka:,
+Student LMS Activity,Aktywność LMS studenta,
+Student Mobile No.,Nie Student Komórka,
+Student Name,Nazwa Student,
+Student Name: ,Imię ucznia:,
+Student Report Card,Karta zgłoszenia ucznia,
+Student is already enrolled.,Student jest już zarejestrowany.,
+Student {0} - {1} appears Multiple times in row {2} & {3},Student {0} - {1} pojawia się wielokrotnie w wierszu {2} i {3},
+Student {0} does not belong to group {1},Student {0} nie należy do grupy {1},
+Student {0} exist against student applicant {1},Student {0} istnieć przed studenta wnioskodawcy {1},
+"Students are at the heart of the system, add all your students","Studenci są w samym sercu systemu, dodanie wszystkich swoich uczniów",
+Sub Assemblies,Komponenty,
+Sub Type,Podtyp,
+Sub-contracting,Podwykonawstwo,
+Subcontract,Zlecenie,
+Subject,Temat,
+Submit,Zatwierdź,
+Submit Proof,Prześlij dowód,
+Submit Salary Slip,Zatwierdź potrącenie z pensji,
+Submit this Work Order for further processing.,Prześlij to zlecenie pracy do dalszego przetwarzania.,
+Submit this to create the Employee record,"Prześlij to, aby utworzyć rekord pracownika",
+Submitting Salary Slips...,Przesyłanie wynagrodzeń ...,
+Subscription,Subskrypcja,
+Subscription Management,Zarządzanie subskrypcjami,
+Subscriptions,Subskrypcje,
+Subtotal,Razem,
+Successful,Udany,
+Successfully Reconciled,Pomyślnie uzgodnione,
+Successfully Set Supplier,Pomyślnie ustaw dostawcę,
+Successfully created payment entries,Pomyślnie utworzono wpisy płatności,
+Successfully deleted all transactions related to this company!,Pomyślnie usunięte wszystkie transakcje związane z tą firmą!,
+Sum of Scores of Assessment Criteria needs to be {0}.,Suma punktów kryteriów oceny musi być {0}.,
+Sum of points for all goals should be 100. It is {0},Suma punktów dla wszystkich celów powinno być 100. {0},
+Summary,Podsumowanie,
+Summary for this month and pending activities,Podsumowanie dla tego miesiąca i działań toczących,
+Summary for this week and pending activities,Podsumowanie na ten tydzień i działań toczących,
+Sunday,Niedziela,
+Suplier,Suplier,
+Supplier,Dostawca,
+Supplier Group,Grupa dostawców,
+Supplier Group master.,Mistrz grupy dostawców.,
+Supplier Id,ID Dostawcy,
+Supplier Invoice Date cannot be greater than Posting Date,Faktura dostawca Data nie może być większe niż Data publikacji,
+Supplier Invoice No,Nr faktury dostawcy,
+Supplier Invoice No exists in Purchase Invoice {0},Dostawca Faktura Nie istnieje faktura zakupu {0},
+Supplier Name,Nazwa dostawcy,
+Supplier Part No,Dostawca Część nr,
+Supplier Quotation,Oferta dostawcy,
+Supplier Scorecard,Karta wyników dostawcy,
+Supplier database.,Baza dostawców,
+Supplier {0} not found in {1},Dostawca {0} nie został znaleziony w {1},
+Supplier(s),Dostawca(y),
+Supplies made to UIN holders,Materiały dla posiadaczy UIN,
+Supplies made to Unregistered Persons,Dostawy dla niezarejestrowanych osób,
+Suppliies made to Composition Taxable Persons,Dodatki do osób podlegających opodatkowaniu,
+Supply Type,Rodzaj dostawy,
+Support,Wsparcie,
+Support Settings,Ustawienia wsparcia,
+Support Tickets,Bilety na wsparcie,
+Support queries from customers.,Zapytania klientów o wsparcie techniczne,
+Susceptible,Podatny,
+Sync has been temporarily disabled because maximum retries have been exceeded,"Synchronizacja została tymczasowo wyłączona, ponieważ przekroczono maksymalną liczbę ponownych prób",
+Syntax error in condition: {0},Błąd składni w warunku: {0},
+Syntax error in formula or condition: {0},Błąd składni we wzorze lub stanu: {0},
+System Manager,System Manager,
+TDS Rate %,Współczynnik TDS%,
+Tap items to add them here,"Dotknij elementów, aby je dodać tutaj",
+Target,Cel,
+Target ({}),Cel ({}),
+Target Warehouse,Magazyn docelowy,
+Target warehouse is mandatory for row {0},Magazyn docelowy jest obowiązkowy dla wiersza {0},
+Task,Zadanie,
+Tasks,Zadania,
+Tasks have been created for managing the {0} disease (on row {1}),Utworzono zadania do zarządzania chorobą {0} (w wierszu {1}),
+Tax,Podatek,
+Tax Assets,Podatek należny (zwrot),
+Tax Category,Kategoria podatku,
+Tax Category for overriding tax rates.,Kategoria podatkowa za nadrzędne stawki podatkowe.,
+"Tax Category has been changed to ""Total"" because all the Items are non-stock items","Kategoria podatkowa została zmieniona na &quot;Razem&quot;, ponieważ wszystkie elementy są towarami nieruchoma",
+Tax ID,Numer identyfikacji podatkowej (NIP),
+Tax Id: ,Identyfikator podatkowy:,
+Tax Rate,Stawka podatku,
+Tax Rule Conflicts with {0},Konflikty przepisu podatkowego z {0},
+Tax Rule for transactions.,Reguła podatkowa dla transakcji.,
+Tax Template is mandatory.,Szablon podatków jest obowiązkowy.,
+Tax Withholding rates to be applied on transactions.,Stawki podatku u źródła stosowane do transakcji.,
+Tax template for buying transactions.,Szablon podatków dla transakcji zakupu.,
+Tax template for item tax rates.,Szablon podatku dla stawek podatku od towarów.,
+Tax template for selling transactions.,Szablon podatków dla transakcji sprzedaży.,
+Taxable Amount,Kwota podlegająca opodatkowaniu,
+Taxes,Podatki,
+Team Updates,Aktualizacje zespół,
+Technology,Technologia,
+Telecommunications,Telekomunikacja,
+Telephone Expenses,Wydatki telefoniczne,
+Television,Telewizja,
+Template Name,Nazwa szablonu,
+Template of terms or contract.,Szablon z warunkami lub umową.,
+Templates of supplier scorecard criteria.,Szablony kryteriów oceny dostawców.,
+Templates of supplier scorecard variables.,Szablony dostawców zmiennych.,
+Templates of supplier standings.,Szablony standings dostawców.,
+Temporarily on Hold,Chwilowo zawieszone,
+Temporary,Tymczasowy,
+Temporary Accounts,Rachunki tymczasowe,
+Temporary Opening,Tymczasowe otwarcia,
+Terms and Conditions,Regulamin,
+Terms and Conditions Template,Szablony warunków i regulaminów,
+Territory,Region,
+Test,Test,
+Thank you,Dziękuję,
+Thank you for your business!,Dziękuję dla Twojej firmy!,
+The 'From Package No.' field must neither be empty nor it's value less than 1.,The &#39;From Package No.&#39; pole nie może być puste ani jego wartość mniejsza niż 1.,
+The Brand,Marka,
+The Item {0} cannot have Batch,Element {0} nie może mieć Batch,
+The Loyalty Program isn't valid for the selected company,Program lojalnościowy nie jest ważny dla wybranej firmy,
+The Payment Term at row {0} is possibly a duplicate.,Termin płatności w wierszu {0} jest prawdopodobnie duplikatem.,
+The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Termin Data zakończenia nie może być wcześniejsza niż data początkowa Term. Popraw daty i spróbuj ponownie.,
+The Term End Date cannot be later than the Year End Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,"Termin Data zakończenia nie może być późniejsza niż data zakończenia roku na rok akademicki, którego termin jest związany (Academic Year {}). Popraw daty i spróbuj ponownie.",
+The Term Start Date cannot be earlier than the Year Start Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,"Termin Data rozpoczęcia nie może być krótszy niż rok od daty rozpoczęcia roku akademickiego, w jakim termin ten jest powiązany (Academic Year {}). Popraw daty i spróbuj ponownie.",
+The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,Rok Data zakończenia nie może być wcześniejsza niż data początkowa rok. Popraw daty i spróbuj ponownie.,
+The amount of {0} set in this payment request is different from the calculated amount of all payment plans: {1}. Make sure this is correct before submitting the document.,"Kwota {0} ustawiona w tym żądaniu płatności różni się od obliczonej kwoty wszystkich planów płatności: {1}. Upewnij się, że jest to poprawne przed wysłaniem dokumentu.",
+The day(s) on which you are applying for leave are holidays. You need not apply for leave.,"Dzień (s), w którym starasz się o urlop jest święta. Nie musisz ubiegać się o urlop.",
+The field From Shareholder cannot be blank,Pole Od Akcjonariusza nie może być puste,
+The field To Shareholder cannot be blank,Pole Do akcjonariusza nie może być puste,
+The fields From Shareholder and To Shareholder cannot be blank,Pola Od Akcjonariusza i Do Akcjonariusza nie mogą być puste,
+The folio numbers are not matching,Numery folio nie pasują do siebie,
+The holiday on {0} is not between From Date and To Date,Święto w dniu {0} nie jest pomiędzy Od Data i do tej pory,
+The name of the institute for which you are setting up this system.,"Nazwa instytutu, dla którego jest utworzenie tego systemu.",
+The name of your company for which you are setting up this system.,Nazwa firmy / organizacji dla której uruchamiasz niniejszy system.,
+The number of shares and the share numbers are inconsistent,Liczba akcji i liczby akcji są niespójne,
+The payment gateway account in plan {0} is different from the payment gateway account in this payment request,Rachunek bramy płatniczej w planie {0} różni się od konta bramy płatności w tym żądaniu płatności,
+The selected BOMs are not for the same item,Wybrane LM nie są na tej samej pozycji,
+The selected item cannot have Batch,Wybrany element nie może mieć Batch,
+The seller and the buyer cannot be the same,Sprzedawca i kupujący nie mogą być tacy sami,
+The shareholder does not belong to this company,Akcjonariusz nie należy do tej spółki,
+The shares already exist,Akcje już istnieją,
+The shares don't exist with the {0},Akcje nie istnieją z {0},
+"The task has been enqueued as a background job. In case there is any issue on processing in background, the system will add a comment about the error on this Stock Reconciliation and revert to the Draft stage","Zadanie zostało zakolejkowane jako zadanie w tle. W przypadku jakichkolwiek problemów z przetwarzaniem w tle, system doda komentarz dotyczący błędu w tym uzgadnianiu i powróci do etapu wersji roboczej",
+"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Następnie wycena Zasady są filtrowane na podstawie Klienta, grupy klientów, Terytorium, dostawcy, dostawca, typu kampanii, Partner Sales itp",
+"There are inconsistencies between the rate, no of shares and the amount calculated","Występują niespójności między stopą, liczbą akcji i obliczoną kwotą",
+There are more holidays than working days this month.,Jest więcej świąt niż dni pracujących,
+There can be multiple tiered collection factor based on the total spent. But the conversion factor for redemption will always be same for all the tier.,Może istnieć wiele warstwowych współczynników zbierania w oparciu o całkowitą ilość wydanych pieniędzy. Jednak współczynnik konwersji dla umorzenia będzie zawsze taki sam dla wszystkich poziomów.,
+There can only be 1 Account per Company in {0} {1},Nie może być tylko jedno konto na Spółkę w {0} {1},
+"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Może być tylko jedna Zasada dostawy z wartością 0 lub pustą wartością w polu ""Wartość""",
+There is no leave period in between {0} and {1},Nie ma okresu próbnego między {0} a {1},
+There is nothing to edit.,Nie ma nic do edycji,
+There isn't any item variant for the selected item,Nie ma żadnego wariantu przedmiotu dla wybranego przedmiotu,
+"There seems to be an issue with the server's GoCardless configuration. Don't worry, in case of failure, the amount will get refunded to your account.","Wygląda na to, że problem dotyczy konfiguracji serwera GoCardless. Nie martw się, w przypadku niepowodzenia kwota zostanie zwrócona na Twoje konto.",
+There were errors creating Course Schedule,Podczas tworzenia harmonogramu kursów wystąpiły błędy,
+There were errors.,Wystąpiły błędy,
+This Item is a Template and cannot be used in transactions. Item attributes will be copied over into the variants unless 'No Copy' is set,"Pozycja ta jest szablon i nie mogą być wykorzystywane w transakcjach. Atrybuty pozycji zostaną skopiowane nad do wariantów chyba ""Nie Kopiuj"" jest ustawiony",
+This Item is a Variant of {0} (Template).,Ta pozycja jest wariantem {0} (szablon).,
+This Month's Summary,Podsumowanie tego miesiąca,
+This Week's Summary,Podsumowanie W tym tygodniu,
+This action will stop future billing. Are you sure you want to cancel this subscription?,Ta czynność zatrzyma przyszłe płatności. Czy na pewno chcesz anulować subskrypcję?,
+This covers all scorecards tied to this Setup,Obejmuje to wszystkie karty wyników powiązane z niniejszą kartą,
+This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Niniejszy dokument ma na granicy przez {0} {1} dla pozycji {4}. Robisz kolejny {3} przeciwko samo {2}?,
+This is a root account and cannot be edited.,To jest konto root i nie może być edytowane.,
+This is a root customer group and cannot be edited.,To jest grupa klientów root i nie mogą być edytowane.,
+This is a root department and cannot be edited.,To jest dział główny i nie można go edytować.,
+This is a root healthcare service unit and cannot be edited.,To jest podstawowa jednostka opieki zdrowotnej i nie można jej edytować.,
+This is a root item group and cannot be edited.,To jest grupa przedmiotów root i nie mogą być edytowane.,
+This is a root sales person and cannot be edited.,To jest sprzedawca root i nie może być edytowany.,
+This is a root supplier group and cannot be edited.,To jest główna grupa dostawców i nie można jej edytować.,
+This is a root territory and cannot be edited.,To jest obszar root i nie może być edytowany.,
+This is an example website auto-generated from ERPNext,Ta przykładowa strona została automatycznie wygenerowana przez ERPNext,
+This is based on logs against this Vehicle. See timeline below for details,Opiera się to na dzienniki przeciwko tego pojazdu. Zobacz harmonogram poniżej w szczegółach,
+This is based on stock movement. See {0} for details,Jest to oparte na ruchu zapasów. Zobacz {0} o szczegóły,
+This is based on the Time Sheets created against this project,Jest to oparte na kartach czasu pracy stworzonych wobec tego projektu,
+This is based on the attendance of this Employee,Jest to oparte na obecności pracownika,
+This is based on the attendance of this Student,Jest to oparte na obecności tego Studenta,
+This is based on transactions against this Customer. See timeline below for details,"Wykres oparty na operacjach związanych z klientem. Sprawdź poniżej oś czasu, aby uzyskać więcej szczegółów.",
+This is based on transactions against this Healthcare Practitioner.,Jest to oparte na transakcjach przeciwko temu pracownikowi opieki zdrowotnej.,
+This is based on transactions against this Patient. See timeline below for details,"Opiera się to na transakcjach przeciwko temu pacjentowi. Zobacz poniżej linię czasu, aby uzyskać szczegółowe informacje",
+This is based on transactions against this Sales Person. See timeline below for details,"Jest to oparte na transakcjach z tą osobą handlową. Zobacz oś czasu poniżej, aby uzyskać szczegółowe informacje",
+This is based on transactions against this Supplier. See timeline below for details,"Wykres oparty na operacjach związanych z dostawcą. Sprawdź poniżej oś czasu, aby uzyskać więcej szczegółów.",
+This will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,Spowoduje to wysłanie Salary Slips i utworzenie wpisu księgowego. Czy chcesz kontynuować?,
+This {0} conflicts with {1} for {2} {3},Ten {0} konflikty z {1} do {2} {3},
+Time Sheet for manufacturing.,Arkusz Czas produkcji.,
+Time Tracking,time Tracking,
+"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Przesunięcie przedziału czasowego, przedział od {0} do {1} pokrywa się z istniejącym bokiem {2} do {3}",
+Time slots added,Dodano gniazda czasowe,
+Time(in mins),Czas (w minutach),
+Timer,Regulator czasowy,
+Timer exceeded the given hours.,Minutnik przekroczył podane godziny.,
+Timesheet,Lista obecności,
+Timesheet for tasks.,Grafiku zadań.,
+Timesheet {0} is already completed or cancelled,Grafiku {0} jest już zakończone lub anulowane,
+Timesheets,Ewidencja czasu pracy,
+"Timesheets help keep track of time, cost and billing for activites done by your team","Ewidencja czasu pomaga śledzić czasu, kosztów i rozliczeń dla aktywnosci przeprowadzonych przez zespół",
+Titles for print templates e.g. Proforma Invoice.,Tytuł szablonu wydruku np.: Faktura Proforma,
+To,Do,
+To Address 1,Aby Adres 1,
+To Address 2,Do adresu 2,
+To Bill,Wystaw rachunek,
+To Date,Do daty,
+To Date cannot be before From Date,"""Do daty"" nie może być terminem przed ""od daty""",
+To Date cannot be less than From Date,Data nie może być mniejsza niż Od daty,
+To Date must be greater than From Date,To Date musi być większe niż From Date,
+To Date should be within the Fiscal Year. Assuming To Date = {0},Aby Data powinna być w tym roku podatkowym. Zakładając To Date = {0},
+To Datetime,Aby DateTime,
+To Deliver,Dostarczyć,
+To Deliver and Bill,Do dostarczenia i Bill,
+To Fiscal Year,Do roku podatkowego,
+To GSTIN,Do GSTIN,
+To Party Name,Nazwa drużyny,
+To Pin Code,Aby przypiąć kod,
+To Place,Do miejsca,
+To Receive,Otrzymać,
+To Receive and Bill,Do odbierania i Bill,
+To State,Określić,
+To Warehouse,Do magazynu,
+To create a Payment Request reference document is required,"Aby utworzyć dokument referencyjny żądania zapłaty, wymagane jest",
+To date can not be equal or less than from date,Do tej pory nie może być równa lub mniejsza niż od daty,
+To date can not be less than from date,Do tej pory nie może być mniejsza niż od daty,
+To date can not greater than employee's relieving date,Do tej pory nie może przekroczyć daty zwolnienia pracownika,
+"To filter based on Party, select Party Type first","Aby filtrować na podstawie partii, wybierz Party Wpisz pierwsze",
+"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","Aby uzyskać najlepsze z ERPNext, zalecamy, aby poświęcić trochę czasu i oglądać te filmy pomoc.",
+To make Customer based incentive schemes.,Aby tworzyć systemy motywacyjne oparte na Kliencie.,
+"To merge, following properties must be same for both items","Aby scalić, poniższe właściwości muszą być takie same dla obu przedmiotów",
+"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Cennik nie stosuje regułę w danej transakcji, wszystkie obowiązujące przepisy dotyczące cen powinny być wyłączone.",
+"To set this Fiscal Year as Default, click on 'Set as Default'","Aby ustawić ten rok finansowy jako domyślny, kliknij przycisk ""Ustaw jako domyślne""",
+To view logs of Loyalty Points assigned to a Customer.,Aby wyświetlić logi punktów lojalnościowych przypisanych do klienta.,
+To {0},Do {0},
+To {0} | {1} {2},Do {0} | {1} {2},
+Toggle Filters,Przełącz filtry,
+Too many columns. Export the report and print it using a spreadsheet application.,Zbyt wiele kolumn. Wyeksportować raport i wydrukować go za pomocą arkusza kalkulacyjnego.,
+Tools,Narzędzia,
+Total (Credit),Razem (Credit),
+Total (Without Tax),Razem (bez podatku),
+Total Absent,Razem Nieobecny,
+Total Achieved,Razem Osiągnięte,
+Total Actual,Razem Rzeczywisty,
+Total Allocated Leaves,Całkowicie Przydzielone Nieobecności,
+Total Amount,Wartość całkowita,
+Total Amount Credited,Całkowita kwota kredytu,
+Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Wszystkich obowiązujących opłat w ZAKUPU Elementy tabeli muszą być takie same jak Wszystkich podatkach i opłatach,
+Total Budget,Cały budżet,
+Total Collected: {0},Łącznie zbierane: {0},
+Total Commission,Całkowita kwota prowizji,
+Total Contribution Amount: {0},Łączna kwota dotacji: {0},
+Total Credit/ Debit Amount should be same as linked Journal Entry,"Całkowita kwota kredytu / debetu powinna być taka sama, jak połączona pozycja księgowa",
+Total Debit must be equal to Total Credit. The difference is {0},Całkowita kwota po stronie debetowej powinna być równa całkowitej kwocie po stronie kretytowej. Różnica wynosi {0},
+Total Deduction,Całkowita kwota odliczenia,
+Total Invoiced Amount,Całkowita zafakturowana kwota,
+Total Leaves,Wszystkich Nieobecności,
+Total Order Considered,Zamówienie razem Uważany,
+Total Order Value,Łączna wartość zamówienia,
+Total Outgoing,Razem Wychodzące,
+Total Outstanding,Total Outstanding,
+Total Outstanding Amount,Łączna kwota,
+Total Outstanding: {0},Całkowity stan: {0},
+Total Paid Amount,Kwota całkowita Płatny,
+Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,Całkowita kwota płatności w harmonogramie płatności musi być równa sumie całkowitej / zaokrąglonej,
+Total Payments,Płatności ogółem,
+Total Present,Razem Present,
+Total Qty,Razem szt,
+Total Quantity,Całkowita ilość,
+Total Revenue,Całkowita wartość dochodu,
+Total Student,Total Student,
+Total Target,Łączna docelowa,
+Total Tax,Razem podatkowa,
+Total Taxable Amount,Całkowita kwota podlegająca opodatkowaniu,
+Total Taxable Value,Całkowita wartość podlegająca opodatkowaniu,
+Total Unpaid: {0},Razem Niepłatny: {0},
+Total Variance,Całkowitej wariancji,
+Total Weightage of all Assessment Criteria must be 100%,Razem weightage wszystkich kryteriów oceny muszą być w 100%,
+Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),Suma zaliczki ({0}) przed zamówieniem {1} nie może być większa od ogólnej sumy ({2}),
+Total advance amount cannot be greater than total claimed amount,Całkowita kwota zaliczki nie może być większa niż całkowita kwota roszczenia,
+Total advance amount cannot be greater than total sanctioned amount,Całkowita kwota zaliczki nie może być większa niż całkowita kwota sankcjonowana,
+Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,Całkowita liczba przydzielonych urlopów to więcej dni niż maksymalny przydział {0} typu urlopu dla pracownika {1} w danym okresie,
+Total allocated leaves are more than days in the period,Liczba przyznanych zwolnień od pracy jest większa niż dni w okresie,
+Total allocated percentage for sales team should be 100,Łącznie przydzielony procent sprzedaży dla zespołu powinien wynosić 100,
+Total cannot be zero,Razem nie może być wartością zero,
+Total contribution percentage should be equal to 100,Całkowity procent wkładu powinien być równy 100,
+Total flexible benefit component amount {0} should not be less than max benefits {1},Całkowita kwota elastycznego składnika świadczeń {0} nie powinna być mniejsza niż maksymalna korzyść {1},
+Total hours: {0},Całkowita liczba godzin: {0},
+Total leaves allocated is mandatory for Leave Type {0},Całkowita liczba przydzielonych Nieobecności jest obowiązkowa dla Typu Urlopu {0},
+Total working hours should not be greater than max working hours {0},Całkowita liczba godzin pracy nie powinna być większa niż max godzinach pracy {0},
+Total {0} ({1}),Razem {0} ({1}),
+"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'","Razem {0} dla wszystkich elementów wynosi zero, może trzeba zmienić „Dystrybucja opłat na podstawie”",
+Total(Amt),Razem (Amt),
+Total(Qty),Razem (szt),
+Traceability,Śledzenie,
+Traceback,Traceback,
+Track Leads by Lead Source.,Śledzenie potencjalnych klientów przez źródło potencjalnych klientów.,
+Training,Trening,
+Training Event,Training Event,
+Training Events,Wydarzenia szkoleniowe,
+Training Feedback,Szkolenie Zgłoszenie,
+Training Result,Wynik treningowe,
+Transaction,Transakcja,
+Transaction Date,Data transakcji,
+Transaction Type,typ transakcji,
+Transaction currency must be same as Payment Gateway currency,"Waluta transakcji musi być taka sama, jak waluta wybranej płatności",
+Transaction not allowed against stopped Work Order {0},Transakcja nie jest dozwolona w przypadku zatrzymanego zlecenia pracy {0},
+Transaction reference no {0} dated {1},Transakcja ma odniesienia {0} z {1},
+Transactions,Transakcje,
+Transactions can only be deleted by the creator of the Company,Transakcje mogą być usunięte tylko przez twórcę Spółki,
+Transfer,Transfer,
+Transfer Material,Transfer materiału,
+Transfer Type,Rodzaj transferu,
+Transfer an asset from one warehouse to another,Przeniesienie aktywów z jednego magazynu do drugiego,
+Transfered,Przeniesione,
+Transferred Quantity,Przeniesiona ilość,
+Transport Receipt Date,Transport Data odbioru,
+Transport Receipt No,Nr odbioru transportu,
+Transportation,Transport,
+Transporter ID,Identyfikator transportera,
+Transporter Name,Nazwa przewoźnika,
+Travel,Podróż,
+Travel Expenses,Wydatki na podróże,
+Tree Type,Typ drzewa,
+Tree of Bill of Materials,Drzewo Zestawienia materiałów,
+Tree of Item Groups.,Drzewo grupy produktów,
+Tree of Procedures,Drzewo procedur,
+Tree of Quality Procedures.,Drzewo procedur jakości.,
+Tree of financial Cost Centers.,Drzewo MPK finansowych.,
+Tree of financial accounts.,Drzewo kont finansowych.,
+Treshold {0}% appears more than once,Próg {0}% występuje więcej niż jeden raz,
+Trial Period End Date Cannot be before Trial Period Start Date,Termin zakończenia okresu próbnego Nie może być przed datą rozpoczęcia okresu próbnego,
+Trialling,Trialling,
+Type of Business,Rodzaj biznesu,
+Types of activities for Time Logs,Rodzaje działalności za czas Logi,
+UOM,Jednostka miary,
+UOM Conversion factor is required in row {0},Współczynnik konwersji jednostki miary jest wymagany w rzędzie {0},
+UOM coversion factor required for UOM: {0} in Item: {1},Współczynnik konwersji jednostki miary jest wymagany dla jednostki miary: {0} w Przedmiocie: {1},
+URL,URL,
+Unable to find DocType {0},Nie można znaleźć DocType {0},
+Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Nie można znaleźć kursu wymiany dla {0} do {1} dla daty klucza {2}. Proszę utworzyć ręcznie rekord wymiany walut,
+Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,"Nie można znaleźć wyników, począwszy od {0}. Musisz mieć stały wynik od 0 do 100",
+Unable to find variable: ,Nie można znaleźć zmiennej:,
+Unblock Invoice,Odblokuj fakturę,
+Uncheck all,Odznacz wszystkie,
+Unclosed Fiscal Years Profit / Loss (Credit),Unclosed fiskalna Lata Zysk / Strata (Credit),
+Unit,szt.,
+Unit of Measure,Jednostka miary,
+Unit of Measure {0} has been entered more than once in Conversion Factor Table,Jednostka miary {0} została wprowadzona więcej niż raz w Tabelce Współczynnika Konwersji,
+Unknown,Nieznany,
+Unpaid,Niezapłacone,
+Unsecured Loans,Pożyczki bez pokrycia,
+Unsubscribe from this Email Digest,Wypisać się z tej Email Digest,
+Unsubscribed,Nie zarejestrowany,
+Until,Do,
+Unverified Webhook Data,Niezweryfikowane dane z Webhook,
+Update Account Name / Number,Zaktualizuj nazwę / numer konta,
+Update Account Number / Name,Zaktualizuj numer / nazwę konta,
+Update Cost,Zaktualizuj koszt,
+Update Items,Aktualizuj elementy,
+Update Print Format,Aktualizacja Format wydruku,
+Update Response,Zaktualizuj odpowiedź,
+Update bank payment dates with journals.,Aktualizacja terminów płatności banowych,
+Update in progress. It might take a while.,Aktualizacja w toku. To może trochę potrwać.,
+Update rate as per last purchase,Zaktualizuj stawkę za ostatni zakup,
+Update stock must be enable for the purchase invoice {0},Aktualizuj zapasy musi być włączone dla faktury zakupu {0},
+Updating Variants...,Aktualizowanie wariantów ...,
+Upload your letter head and logo. (you can edit them later).,Prześlij nagłówek firmowy i logo. (Można je edytować później).,
+Upper Income,Wzrost Wpływów,
+Use Sandbox,Korzystanie Sandbox,
+Used Leaves,Wykorzystane Nieobecności,
+User,Użytkownik,
+User ID,ID Użytkownika,
+User ID not set for Employee {0},ID Użytkownika nie ustawiony dla Pracownika {0},
+User Remark,Nota Użytkownika,
+User has not applied rule on the invoice {0},Użytkownik nie zastosował reguły na fakturze {0},
+User {0} already exists,Użytkownik {0} już istnieje,
+User {0} created,Utworzono użytkownika {0},
+User {0} does not exist,Użytkownik {0} nie istnieje,
+User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,Użytkownik {0} nie ma żadnego domyślnego profilu POS. Sprawdź domyślne w wierszu {1} dla tego użytkownika.,
+User {0} is already assigned to Employee {1},Użytkownik {0} jest już przyporządkowany do Pracownika {1},
+User {0} is already assigned to Healthcare Practitioner {1},Użytkownik {0} jest już przypisany do pracownika służby zdrowia {1},
+Users,Użytkownicy,
+Utility Expenses,Wydatki na usługi komunalne,
+Valid From Date must be lesser than Valid Upto Date.,Ważny od daty musi być mniejszy niż ważna data w górę.,
+Valid Till,Obowiązuje do dnia,
+Valid from and valid upto fields are mandatory for the cumulative,Obowiązujące od i prawidłowe pola upto są obowiązkowe dla skumulowanego,
+Valid from date must be less than valid upto date,Ważny od daty musi być krótszy niż data ważności,
+Valid till date cannot be before transaction date,Data ważności nie może być poprzedzona datą transakcji,
+Validity,Ważność,
+Validity period of this quotation has ended.,Okres ważności tej oferty zakończył się.,
+Valuation Rate,Wskaźnik wyceny,
+Valuation Rate is mandatory if Opening Stock entered,"Wycena Cena jest obowiązkowe, jeżeli wprowadzone Otwarcie Zdjęcie",
+Valuation type charges can not marked as Inclusive,Opłaty typu Wycena nie oznaczone jako Inclusive,
+Value Or Qty,Wartość albo Ilość,
+Value Proposition,Propozycja wartości,
+Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Wartość atrybutu {0} musi mieścić się w przedziale {1} z {2} w przyrostach {3} {4} Przedmiot,
+Value missing,Wartość brakująca,
+Value must be between {0} and {1},Wartość musi zawierać się między {0} a {1},
+"Values of exempt, nil rated and non-GST inward supplies","Wartości zwolnionych, zerowych i niezawierających GST dostaw wewnętrznych",
+Variable,Zmienna,
+Variance,Zmienność,
+Variance ({}),Wariancja ({}),
+Variant,Wariant,
+Variant Attributes,Variant Atrybuty,
+Variant Based On cannot be changed,Variant Based On nie może zostać zmieniony,
+Variant Details Report,Szczegółowy raport dotyczący wariantu,
+Variant creation has been queued.,Tworzenie wariantu zostało umieszczone w kolejce.,
+Vehicle Expenses,Wydatki Samochodowe,
+Vehicle No,Nr pojazdu,
+Vehicle Type,Typ pojazdu,
+Vehicle/Bus Number,Numer pojazdu / autobusu,
+Venture Capital,Kapitał wysokiego ryzyka,
+View Chart of Accounts,Zobacz plan kont,
+View Fees Records,Zobacz rekord opłat,
+View Form,Wyświetl formularz,
+View Lab Tests,Wyświetl testy laboratoryjne,
+View Leads,Zobacz Tropy,
+View Ledger,Podgląd księgi,
+View Now,Zobacz teraz,
+View a list of all the help videos,Zobacz listę wszystkich filmów pomocy,
+View in Cart,Zobacz Koszyk,
+Visit report for maintenance call.,Raport wizyty dla wezwania konserwacji.,
+Visit the forums,Odwiedź fora,
+Vital Signs,Oznaki życia,
+Volunteer,Wolontariusz,
+Volunteer Type information.,Informacje o typie wolontariusza.,
+Volunteer information.,Informacje o wolontariuszu.,
+Voucher #,Bon #,
+Voucher No,Nr Podstawy księgowania,
+Voucher Type,Typ Podstawy,
+WIP Warehouse,WIP Magazyn,
+Walk In,Wejście,
+Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Magazyn nie może być skasowany tak długo jak długo istnieją zapisy w księdze stanu dla tego magazynu.,
+Warehouse cannot be changed for Serial No.,Magazyn nie może być zmieniony dla Nr Seryjnego,
+Warehouse is mandatory,Magazyn jest obowiązkowe,
+Warehouse is mandatory for stock Item {0} in row {1},Magazyn jest obowiązkowy dla Przedmiotu {0} w rzędzie {1},
+Warehouse not found in the system,Magazyn nie został znaleziony w systemie,
+"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Wymagany magazyn w Wiersz nr {0}, ustaw domyślny magazyn dla pozycji {1} dla firmy {2}",
+Warehouse required for stock Item {0},Magazyn wymagany dla przedmiotu {0},
+Warehouse {0} can not be deleted as quantity exists for Item {1},Magazyn {0} nie może zostać usunięty ponieważ istnieje wartość dla przedmiotu {1},
+Warehouse {0} does not belong to company {1},Magazyn {0} nie należy do firmy {1},
+Warehouse {0} does not exist,Magazyn {0} nie istnieje,
+"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.","Magazyn {0} nie jest powiązany z jakimikolwiek kontem, wspomnij o tym w raporcie magazynu lub ustaw domyślnego konta zapasowego w firmie {1}.",
+Warehouses with child nodes cannot be converted to ledger,Magazyny z węzłów potomnych nie mogą być zamieniane na Ledger,
+Warehouses with existing transaction can not be converted to group.,Magazyny z istniejącymi transakcji nie mogą być zamieniane na grupy.,
+Warehouses with existing transaction can not be converted to ledger.,Magazyny z istniejącymi transakcji nie mogą być konwertowane do księgi głównej.,
+Warning,Ostrzeżenie,
+Warning: Another {0} # {1} exists against stock entry {2},Ostrzeżenie: Inny {0} # {1} istnieje we wpisie asortymentu {2},
+Warning: Invalid SSL certificate on attachment {0},Ostrzeżenie: Nieprawidłowy certyfikat SSL w załączniku {0},
+Warning: Invalid attachment {0},Warning: Invalid Załącznik {0},
+Warning: Leave application contains following block dates,Ostrzeżenie: Aplikacja o urlop zawiera następujące zablokowane daty,
+Warning: Material Requested Qty is less than Minimum Order Qty,Ostrzeżenie: Ilość Zapotrzebowanego Materiału jest mniejsza niż minimalna ilość na zamówieniu,
+Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Ostrzeżenie: Zamówienie sprzedaży {0} już istnieje wobec Klienta Zamówienia {1},
+Warranty,Gwarancja,
+Warranty Claim,Roszczenie gwarancyjne,
+Warranty Claim against Serial No.,Roszczenie gwarancyjne z numerem seryjnym,
+Website,Strona WWW,
+Website Image should be a public file or website URL,Strona Obraz powinien być plik publiczny lub adres witryny,
+Website Image {0} attached to Item {1} cannot be found,Strona Obraz {0} dołączone do pozycji {1} nie można znaleźć,
+Website Listing,Listing Witryny,
+Website Manager,Manager strony WWW,
+Website Settings,Ustawienia witryny,
+Wednesday,Środa,
+Week,Tydzień,
+Weekdays,Dni robocze,
+Weekly,Tygodniowo,
+"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Waga jest określona, \n Ustaw także ""Wagę jednostkową""",
+Welcome email sent,E-mail z powitaniem został wysłany,
+Welcome to ERPNext,Zapraszamy do ERPNext,
+What do you need help with?,Z czym potrzebujesz pomocy?,
+What does it do?,Czym się zajmuje?,
+Where manufacturing operations are carried.,"W przypadku, gdy czynności wytwórcze są prowadzone.",
+White,Biały,
+Wire Transfer,Przelew,
+WooCommerce Products,Produkty WooCommerce,
+Work In Progress,Produkty w toku,
+Work Order,Porządek pracy,
+Work Order already created for all items with BOM,Zamówienie pracy zostało już utworzone dla wszystkich produktów z zestawieniem komponentów,
+Work Order cannot be raised against a Item Template,Zlecenie pracy nie może zostać podniesione na podstawie szablonu przedmiotu,
+Work Order has been {0},Zamówienie pracy zostało {0},
+Work Order not created,Zamówienie pracy nie zostało utworzone,
+Work Order {0} must be cancelled before cancelling this Sales Order,Zamówienie pracy {0} musi zostać anulowane przed anulowaniem tego zamówienia sprzedaży,
+Work Order {0} must be submitted,Zamówienie pracy {0} musi zostać przesłane,
+Work Orders Created: {0},Utworzono zlecenia pracy: {0},
+Work Summary for {0},Podsumowanie pracy dla {0},
+Work-in-Progress Warehouse is required before Submit,Magazyn z produkcją w toku jest wymagany przed wysłaniem,
+Workflow,Przepływ pracy (Workflow),
+Working,Pracuje,
+Working Hours,Godziny pracy,
+Workstation,Stacja robocza,
+Workstation is closed on the following dates as per Holiday List: {0},Stacja robocza jest zamknięta w następujących terminach wg listy wakacje: {0},
+Wrapping up,Zawijanie,
+Wrong Password,Niepoprawne hasło,
+Year start date or end date is overlapping with {0}. To avoid please set company,data rozpoczęcia roku lub data końca pokrywa się z {0}. Aby uniknąć należy ustawić firmę,
+You are not authorized to add or update entries before {0},Nie masz uprawnień aby zmieniać lub dodawać elementy przed {0},
+You are not authorized to approve leaves on Block Dates,Nie masz uprawnień do zatwierdzania tych urlopów,
+You are not authorized to set Frozen value,Nie masz uprawnień do ustawienia zamrożenej wartości,
+You are not present all day(s) between compensatory leave request days,Nie jesteś obecny przez cały dzień (dni) między dniami prośby o urlop wyrównawczy,
+You can not change rate if BOM mentioned agianst any item,Nie możesz zmienić danych jeśli BOM jest przeciw jakiejkolwiek rzeczy,
+You can not enter current voucher in 'Against Journal Entry' column,You can not enter current voucher in 'Against Journal Entry' column,
+You can only have Plans with the same billing cycle in a Subscription,Możesz mieć tylko Plany z tym samym cyklem rozliczeniowym w Subskrypcji,
+You can only redeem max {0} points in this order.,Możesz maksymalnie wykorzystać maksymalnie {0} punktów w tej kolejności.,
+You can only renew if your membership expires within 30 days,Przedłużenie członkostwa można odnowić w ciągu 30 dni,
+You can only select a maximum of one option from the list of check boxes.,Możesz wybrać maksymalnie jedną opcję z listy pól wyboru.,
+You can only submit Leave Encashment for a valid encashment amount,Możesz przesłać tylko opcję Leave Encashment dla prawidłowej kwoty depozytu,
+You can't redeem Loyalty Points having more value than the Grand Total.,Nie możesz wymienić punktów lojalnościowych o większej wartości niż suma ogólna.,
+You cannot credit and debit same account at the same time,Nie można wykonywać zapisów po stronie debetowej oraz kredytowej tego samego konta w jednym czasie,
+You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Nie można usunąć Fiscal Year {0}. Rok fiskalny {0} jest ustawiona jako domyślna w Ustawienia globalne,
+You cannot delete Project Type 'External',Nie można usunąć typu projektu &quot;zewnętrzny&quot;,
+You cannot edit root node.,Nie można edytować węzła głównego.,
+You cannot restart a Subscription that is not cancelled.,"Nie można ponownie uruchomić subskrypcji, która nie zostanie anulowana.",
+You don't have enought Loyalty Points to redeem,"Nie masz wystarczającej liczby Punktów Lojalnościowych, aby je wykorzystać",
+You have already assessed for the assessment criteria {}.,Oceniałeś już kryteria oceny {}.,
+You have already selected items from {0} {1},Już wybrane pozycje z {0} {1},
+You have been invited to collaborate on the project: {0},Zostałeś zaproszony do współpracy przy projekcie: {0},
+You have entered duplicate items. Please rectify and try again.,Wprowadziłeś duplikat istniejących rzeczy. Sprawdź i spróbuj ponownie,
+You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,"Aby zarejestrować się w Marketplace, musisz być użytkownikiem innym niż Administrator z rolami System Manager i Item Manager.",
+You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,"Musisz być użytkownikiem z rolami System Manager i Menedżera elementów, aby dodawać użytkowników do Marketplace.",
+You need to be a user with System Manager and Item Manager roles to register on Marketplace.,"Aby zarejestrować się w Marketplace, musisz być użytkownikiem z rolami System Manager i Item Manager.",
+You need to be logged in to access this page,Musisz być zalogowany aby uzyskać dostęp do tej strony,
+You need to enable Shopping Cart,Musisz włączyć Koszyk,
+You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Utracisz zapis wcześniej wygenerowanych faktur. Czy na pewno chcesz zrestartować tę subskrypcję?,
+Your Organization,Twoja organizacja,
+Your cart is Empty,Twój koszyk jest pusty,
+Your email address...,Twój adres email...,
+Your order is out for delivery!,Twoje zamówienie jest na dostawę!,
+Your tickets,Twoje bilety,
+ZIP Code,Kod pocztowy,
+[Error],[Błąd],
+[{0}](#Form/Item/{0}) is out of stock,[{0}] (# Postać / poz / {0}) jest niedostępne,
+`Freeze Stocks Older Than` should be smaller than %d days.,Zapasy starsze niż' powinny być starczyć na %d dni,
+based_on,oparte na,
+cannot be greater than 100,nie może być większa niż 100,
+disabled user,Wyłączony użytkownik,
+"e.g. ""Build tools for builders""","np. ""Buduj narzędzia dla budowniczych""",
+"e.g. ""Primary School"" or ""University""",np &quot;Szkoła Podstawowa&quot; lub &quot;Uniwersytet&quot;,
+"e.g. Bank, Cash, Credit Card","np. bank, gotówka, karta kredytowa",
+hidden,ukryty,
+modified,Zmodyfikowano,
+old_parent,old_parent,
+on,włączony,
+{0} '{1}' is disabled,{0} '{1}' jest wyłączony,
+{0} '{1}' not in Fiscal Year {2},{0} '{1}' nie w roku podatkowym {2},
+{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) nie może być większe niż planowana ilość ({2}) w zleceniu pracy {3},
+{0} - {1} is inactive student,{0} - {1} to nieaktywny student,
+{0} - {1} is not enrolled in the Batch {2},{0} - {1} nie jest powiązana z transakcją {2},
+{0} - {1} is not enrolled in the Course {2},{0} - {1} nie jest zapisany do kursu {2},
+{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} Budżet dla rachunku {1} w stosunku do {2} {3} wynosi {4}. Będzie przekraczać o {5},
+{0} Digest,{0} Streszczenie,
+{0} Request for {1},{0} Wniosek o {1},
+{0} Result submittted,{0} Wynik wysłano,
+{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} Numery seryjne wymagane dla pozycji {1}. Podałeś {2}.,
+{0} Student Groups created.,{0} Utworzono grupy studentów.,
+{0} Students have been enrolled,{0} Studenci zostali zapisani,
+{0} against Bill {1} dated {2},{0} przed rachunkiem {1} z dnia {2},
+{0} against Purchase Order {1},{0} przed Zamówieniem Zakupu  {1},
+{0} against Sales Invoice {1},{0} na fakturę sprzedaży {1},
+{0} against Sales Order {1},{0} przed Zleceniem Sprzedaży {1},
+{0} already allocated for Employee {1} for period {2} to {3},{0} już przydzielone Pracodawcy {1} dla okresu {2} do {3},
+{0} applicable after {1} working days,{0} obowiązuje po {1} dniach roboczych,
+{0} asset cannot be transferred,{0} zasób nie może zostać przetransferowany,
+{0} can not be negative,{0} nie może być ujemna,
+{0} created,{0} utworzone,
+"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.","{0} aktualnie posiada pozycję {1} Karty wyników dostawcy, a zlecenia kupna dostawcy powinny być wydawane z ostrożnością.",
+"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.","{0} aktualnie posiada {1} tabelę wyników karty wyników, a zlecenia RFQ dla tego dostawcy powinny być wydawane z ostrożnością.",
+{0} does not belong to Company {1},{0} nie należy do firmy {1},
+{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} nie ma harmonogramu służby zdrowia. Dodaj go do mistrza Healthcare Practitioner,
+{0} entered twice in Item Tax,{0} dwa razy wprowadzone w podatku produktu,
+{0} for {1},{0} do {1},
+{0} has been submitted successfully,{0} zostało pomyślnie przesłane,
+{0} has fee validity till {1},{0} ważność opłaty do {1},
+{0} hours,{0} godzin,
+{0} in row {1},{0} wiersze {1},
+{0} is blocked so this transaction cannot proceed,"Opcja {0} jest zablokowana, więc ta transakcja nie może być kontynuowana",
+{0} is mandatory,{0} jest obowiązkowe,
+{0} is mandatory for Item {1},{0} jest obowiązkowe dla elementu {1},
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,"{0} jest obowiązkowe. Możliwe, że rekord Wymiana walut nie jest utworzony dla {1} do {2}.",
+{0} is not a stock Item,{0} nie jest przechowywany na magazynie,
+{0} is not added in the table,{0} nie zostało dodane do tabeli,
+{0} is not in Optional Holiday List,{0} nie znajduje się na Opcjonalnej Liście Świątecznej,
+{0} is not in a valid Payroll Period,{0} nie jest w ważnym Okresie Rozliczeniowym,
+{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} jest teraz domyślnym rokiem finansowym. Odśwież swoją przeglądarkę aby zmiana weszła w życie,
+{0} is on hold till {1},{0} jest wstrzymane do {1},
+{0} item found.,Znaleziono {0} element.,
+{0} items found.,Znaleziono {0} przedmiotów.,
+{0} items in progress,{0} pozycji w przygotowaniu,
+{0} items produced,{0} pozycji wyprodukowanych,
+{0} must appear only once,{0} musi pojawić się tylko raz,
+{0} must be negative in return document,{0} musi być ujemna w dokumencie zwrotnym,
+{0} must be submitted,{0} musi zostać wysłany,
+{0} not allowed to transact with {1}. Please change the Company.,{0} nie może przeprowadzać transakcji z {1}. Zmień firmę.,
+{0} not found for item {1},{0} nie został znaleziony dla elementu {1},
+{0} parameter is invalid,Parametr {0} jest nieprawidłowy,
+{0} payment entries can not be filtered by {1},{0} wpisy płatności nie mogą być filtrowane przez {1},
+{0} should be a value between 0 and 100,{0} powinno być wartością z zakresu od 0 do 100,
+{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} jednostki [{1}] (# Kształt / szt / {1}) znajduje się w [{2}] (# Kształt / Warehouse / {2}),
+{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} jednostki {1} potrzebne w {2} na {3} {4} {5} w celu zrealizowania tej transakcji.,
+{0} units of {1} needed in {2} to complete this transaction.,"{0} jednostki {1} potrzebne w {2}, aby zakończyć tę transakcję.",
+{0} valid serial nos for Item {1},{0} prawidłowe numery seryjne dla Pozycji {1},
+{0} variants created.,Utworzono wariantów {0}.,
+{0} {1} created,{0} {1} utworzone,
+{0} {1} does not exist,{0} {1} nie istnieje,
+{0} {1} has been modified. Please refresh.,{0} {1} został zmodyfikowany. Proszę odświeżyć.,
+{0} {1} has not been submitted so the action cannot be completed,"{0} {1} nie został złożony, więc działanie nie może zostać zakończone",
+"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} jest powiązane z {2}, ale rachunek strony jest {3}",
+{0} {1} is cancelled or closed,{0} {1} zostanie anulowane lub zamknięte,
+{0} {1} is cancelled or stopped,{0} {1} jest anulowane lub wstrzymane,
+{0} {1} is cancelled so the action cannot be completed,"{0} {1} jest anulowany, więc działanie nie może zostać zakończone",
+{0} {1} is closed,{0} {1} jest zamknięty,
+{0} {1} is disabled,{0} {1} jest wyłączony,
+{0} {1} is frozen,{0} {1} jest zamrożone,
+{0} {1} is fully billed,{0} {1} jest w pełni rozliczone,
+{0} {1} is not active,{0} {1} jest nieaktywny,
+{0} {1} is not associated with {2} {3},{0} {1} nie jest powiązane z {2} {3},
+{0} {1} is not present in the parent company,{0} {1} nie występuje w firmie macierzystej,
+{0} {1} is not submitted,{0} {1} nie zostało dodane,
+{0} {1} is {2},{0} {1} to {2},
+{0} {1} must be submitted,{0} {1} musi zostać wysłane,
+{0} {1} not in any active Fiscal Year.,{0} {1} nie w każdej aktywnej roku obrotowego.,
+{0} {1} status is {2},{0} {1} jest ustawiony w stanie {2},
+{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,"{0} {1}: konto ""zysków i strat"" {2} jest niedozwolone w otwierającym wejściu",
+{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Rachunek {2} nie należy do firmy {3},
+{0} {1}: Account {2} is inactive,{0} {1}: Rachunek {2} jest nieaktywny,
+{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Wejście księgowe dla {2} mogą być dokonywane wyłącznie w walucie: {3},
+{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: MPK jest obowiązkowe dla pozycji {2},
+{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,"{0} {1}: Centrum kosztów jest wymagane dla rachunku ""Zyski i straty"" {2}. Proszę ustawić domyślne centrum kosztów dla firmy.",
+{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: Centrum kosztów {2} nie należy do firmy {3},
+{0} {1}: Customer is required against Receivable account {2},{0} {1}: Klient zobowiązany jest przed należność {2},
+{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Debet lub wielkość kredytu jest wymagana dla {2},
+{0} {1}: Supplier is required against Payable account {2},{0} {1}: Dostawca jest wymagany w odniesieniu do konta z możliwością opłacenia {2},
+{0}% Billed,{0}% rozliczono,
+{0}% Delivered,{0}% Dostarczono,
+"{0}: Employee email not found, hence email not sent","{0}: Email pracownika nie został znaleziony, dlatego wiadomość nie będzie wysłana",
+{0}: From {0} of type {1},{0}: Od {0} typu {1},
+{0}: From {1},{0}: {1} od,
+{0}: {1} does not exists,{0}: {1} nie istnieje,
+{0}: {1} not found in Invoice Details table,{0}: {1} Nie znaleziono tabeli w Szczegóły faktury,
+{} of {},{} z {},
+Assigned To,Przypisano do,
+Chat,Czat,
+Completed By,Ukończony przez,
+Conditions,Warunki,
+County,Powiat,
+Day of Week,Dzień tygodnia,
+"Dear System Manager,",Szanowny Dyrektorze ds. Systemu,
+Default Value,Domyślna wartość,
+Email Group,Grupa email,
+Email Settings,Ustawienia wiadomości e-mail,
+Email not sent to {0} (unsubscribed / disabled),E-mail nie wysłany do {0} (wypisany / wyłączony),
+Error Message,Komunikat o błędzie,
+Fieldtype,Typ pola,
+Help Articles,Artykuły pomocy,
+ID,ID,
+Images,Obrazy,
+Import,Import,
+Language,Język,
+Likes,Lubi,
+Merge with existing,Połączy się z istniejącą,
+Office,Biuro,
+Orientation,Orientacja,
+Parent,Nadrzędny,
+Passive,Nieaktywny,
+Payment Failed,Płatność nie powiodła się,
+Percent,Procent,
+Permanent,Stały,
+Personal,Osobiste,
+Plant,Zakład,
+Post,Stanowisko,
+Postal,Pocztowy,
+Postal Code,Kod pocztowy,
+Previous,Wstecz,
+Provider,Dostawca,
+Read Only,Tylko do odczytu,
+Recipient,Adresat,
+Reviews,Recenzje,
+Sender,Nadawca,
+Shop,Sklep,
+Subsidiary,Pomocniczy,
+There is some problem with the file url: {0},Jest jakiś problem z adresem URL pliku: {0},
+There were errors while sending email. Please try again.,Wystąpiły błędy podczas wysyłki e-mail. Proszę spróbuj ponownie.,
+Values Changed,Zmienione wartości,
+or,albo,
+Ageing Range 4,Zakres starzenia się 4,
+Allocated amount cannot be greater than unadjusted amount,Kwota przydzielona nie może być większa niż kwota nieskorygowana,
+Allocated amount cannot be negative,Przydzielona kwota nie może być ujemna,
+"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Konto różnicowe musi być kontem typu Asset / Liability, ponieważ ten wpis na giełdę jest wpisem otwierającym",
+Error in some rows,Błąd w niektórych wierszach,
+Import Successful,Import zakończony sukcesem,
+Please save first,Zapisz najpierw,
+Price not found for item {0} in price list {1},Nie znaleziono ceny dla przedmiotu {0} w cenniku {1},
+Warehouse Type,Typ magazynu,
+'Date' is required,„Data” jest wymagana,
+Benefit,Zasiłek,
+Budgets,Budżety,
+Bundle Qty,Ilość paczek,
+Company GSTIN,Firma GSTIN,
+Company field is required,Wymagane jest pole firmowe,
+Creating Dimensions...,Tworzenie wymiarów ...,
+Duplicate entry against the item code {0} and manufacturer {1},Zduplikowany wpis względem kodu produktu {0} i producenta {1},
+Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,Nieprawidłowy GSTIN! Wprowadzone dane nie odpowiadają formatowi GSTIN dla posiadaczy UIN lub nierezydentów dostawców usług OIDAR,
+Invoice Grand Total,Faktura Grand Total,
+Last carbon check date cannot be a future date,Data ostatniej kontroli emisji nie może być datą przyszłą,
+Make Stock Entry,Zrób wejście na giełdę,
+Quality Feedback,Opinie dotyczące jakości,
+Quality Feedback Template,Szablon opinii o jakości,
+Rules for applying different promotional schemes.,Zasady stosowania różnych programów promocyjnych.,
+Shift,Przesunięcie,
+Show {0},Pokaż {0},
+"Special Characters except '-', '#', '.', '/', '{{' and '}}' not allowed in naming series {0}","Znaki specjalne z wyjątkiem &quot;-&quot;, &quot;#&quot;, &quot;।&quot;, &quot;/&quot;, &quot;{{&quot; I &quot;}}&quot; niedozwolone w serii nazw {0}",
+Target Details,Szczegóły celu,
+{0} already has a Parent Procedure {1}.,{0} ma już procedurę nadrzędną {1}.,
+API,API,
+Annual,Roczny,
+Approved,Zatwierdzono,
+Change,Reszta,
+Contact Email,E-mail kontaktu,
+Export Type,Typ eksportu,
+From Date,Od daty,
+Group By,Grupuj według,
+Importing {0} of {1},Importowanie {0} z {1},
+Invalid URL,nieprawidłowy URL,
+Landscape,Krajobraz,
+Last Sync On,Ostatnia synchronizacja,
+Naming Series,Seria nazw,
+No data to export,Brak danych do eksportu,
+Portrait,Portret,
+Print Heading,Nagłówek do druku,
+Scheduler Inactive,Harmonogram nieaktywny,
+Scheduler is inactive. Cannot import data.,Program planujący jest nieaktywny. Nie można zaimportować danych.,
+Show Document,Pokaż dokument,
+Show Traceback,Pokaż śledzenie,
+Video,Wideo,
+Webhook Secret,Secret Webhook,
+% Of Grand Total,% Ogólnej sumy,
+'employee_field_value' and 'timestamp' are required.,Wymagane są „wartość_pola pracownika” i „znacznik czasu”.,
+<b>Company</b> is a mandatory filter.,<b>Firma</b> jest obowiązkowym filtrem.,
+<b>From Date</b> is a mandatory filter.,<b>Od daty</b> jest obowiązkowym filtrem.,
+<b>From Time</b> cannot be later than <b>To Time</b> for {0},<b>Od godziny</b> nie może być późniejsza niż <b>do godziny</b> dla {0},
+<b>To Date</b> is a mandatory filter.,<b>To Data</b> jest obowiązkowym filtrem.,
+A new appointment has been created for you with {0},Utworzono dla ciebie nowe spotkanie z {0},
+Account Value,Wartość konta,
+Account is mandatory to get payment entries,"Konto jest obowiązkowe, aby uzyskać wpisy płatności",
+Account is not set for the dashboard chart {0},Konto nie jest ustawione dla wykresu deski rozdzielczej {0},
+Account {0} does not belong to company {1},Konto {0} nie jest przypisane do Firmy {1},
+Account {0} does not exists in the dashboard chart {1},Konto {0} nie istnieje na schemacie deski rozdzielczej {1},
+Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Konto: <b>{0}</b> to kapitał Trwają prace i nie można go zaktualizować za pomocą zapisu księgowego,
+Account: {0} is not permitted under Payment Entry,Konto: {0} jest niedozwolone w ramach wprowadzania płatności,
+Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,Wymiar księgowy <b>{0}</b> jest wymagany dla konta „Bilans” {1}.,
+Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,Wymiar księgowy <b>{0}</b> jest wymagany dla konta „Zysk i strata” {1}.,
+Accounting Masters,Mistrzowie rachunkowości,
+Accounting Period overlaps with {0},Okres rozliczeniowy pokrywa się z {0},
+Activity,Aktywność,
+Add / Manage Email Accounts.,Dodaj / Zarządzaj kontami poczty e-mail.,
+Add Child,Dodaj pod-element,
+Add Loan Security,Dodaj zabezpieczenia pożyczki,
+Add Multiple,Dodaj wiele,
+Add Participants,Dodaj uczestników,
+Add to Featured Item,Dodaj do polecanego elementu,
+Add your review,Dodaj swoją opinię,
+Add/Edit Coupon Conditions,Dodaj / edytuj warunki kuponu,
+Added to Featured Items,Dodano do polecanych przedmiotów,
+Added {0} ({1}),Dodano {0} ({1}),
+Address Line 1,Pierwszy wiersz adresu,
+Addresses,Adresy,
+Admission End Date should be greater than Admission Start Date.,Data zakończenia przyjęcia powinna być większa niż data rozpoczęcia przyjęcia.,
+Against Loan,Przeciw pożyczce,
+Against Loan:,Przeciw pożyczce:,
+All,Wszystko,
+All bank transactions have been created,Wszystkie transakcje bankowe zostały utworzone,
+All the depreciations has been booked,Wszystkie amortyzacje zostały zarezerwowane,
+Allocation Expired!,Przydział wygasł!,
+Allow Resetting Service Level Agreement from Support Settings.,Zezwalaj na resetowanie umowy o poziomie usług z ustawień wsparcia.,
+Amount of {0} is required for Loan closure,Kwota {0} jest wymagana do zamknięcia pożyczki,
+Amount paid cannot be zero,Kwota wypłacona nie może wynosić zero,
+Applied Coupon Code,Zastosowany kod kuponu,
+Apply Coupon Code,Wprowadź Kod Kuponu,
+Appointment Booking,Rezerwacja terminu,
+"As there are existing transactions against item {0}, you can not change the value of {1}","Ponieważ istnieje istniejące transakcje przeciwko elementu {0}, nie można zmienić wartość {1}",
+Asset Id,Identyfikator zasobu,
+Asset Value,Wartość aktywów,
+Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,Korekta wartości aktywów nie może zostać zaksięgowana przed datą zakupu aktywów <b>{0}</b> .,
+Asset {0} does not belongs to the custodian {1},Zasób {0} nie należy do depozytariusza {1},
+Asset {0} does not belongs to the location {1},Zasób {0} nie należy do lokalizacji {1},
+At least one of the Applicable Modules should be selected,Należy wybrać co najmniej jeden z odpowiednich modułów,
+Atleast one asset has to be selected.,Należy wybrać co najmniej jeden zasób.,
+Attendance Marked,Obecność oznaczona,
+Attendance has been marked as per employee check-ins,Frekwencja została oznaczona na podstawie odprawy pracownika,
+Authentication Failed,Uwierzytelnianie nie powiodło się,
+Automatic Reconciliation,Automatyczne uzgadnianie,
+Available For Use Date,Data użycia,
+Available Stock,Dostępne zapasy,
+"Available quantity is {0}, you need {1}","Dostępna ilość to {0}, potrzebujesz {1}",
+BOM 1,LM 1,
+BOM 2,BOM 2,
+BOM Comparison Tool,Narzędzie do porównywania LM,
+BOM recursion: {0} cannot be child of {1},Rekurs BOM: {0} nie może być dzieckiem {1},
+BOM recursion: {0} cannot be parent or child of {1},Rekursja BOM: {0} nie może być rodzicem ani dzieckiem {1},
+Back to Home,Wrócić do domu,
+Back to Messages,Powrót do wiadomości,
+Bank Data mapper doesn't exist,Maper danych banku nie istnieje,
+Bank Details,Dane bankowe,
+Bank account '{0}' has been synchronized,Konto bankowe „{0}” zostało zsynchronizowane,
+Bank account {0} already exists and could not be created again,Konto bankowe {0} już istnieje i nie można go utworzyć ponownie,
+Bank accounts added,Dodano konta bankowe,
+Batch no is required for batched item {0},Nr partii jest wymagany dla pozycji wsadowej {0},
+Billing Date,Termin spłaty,
+Billing Interval Count cannot be less than 1,Liczba interwałów rozliczeniowych nie może być mniejsza niż 1,
+Blue,Niebieski,
+Book,Książka,
+Book Appointment,Umów wizytę,
+Brand,Marka,
+Browse,Przeglądaj,
+Call Connected,Połącz Połączony,
+Call Disconnected,Zadzwoń Rozłączony,
+Call Missed,Nieodebrane połączenie,
+Call Summary,Podsumowanie połączenia,
+Call Summary Saved,Podsumowanie połączeń zapisane,
+Cancelled,Anulowany,
+Cannot Calculate Arrival Time as Driver Address is Missing.,"Nie można obliczyć czasu przybycia, ponieważ brakuje adresu sterownika.",
+Cannot Optimize Route as Driver Address is Missing.,"Nie można zoptymalizować trasy, ponieważ brakuje adresu sterownika.",
+Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,"Nie można ukończyć zadania {0}, ponieważ jego zależne zadanie {1} nie zostało zakończone / anulowane.",
+Cannot create loan until application is approved,"Nie można utworzyć pożyczki, dopóki wniosek nie zostanie zatwierdzony",
+Cannot find a matching Item. Please select some other value for {0}.,Nie możesz znaleźć pasujący element. Proszę wybrać jakąś inną wartość dla {0}.,
+"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Nie można przepłacić za element {0} w wierszu {1} więcej niż {2}. Aby zezwolić na nadmierne fakturowanie, ustaw limit w Ustawieniach kont",
+"Capacity Planning Error, planned start time can not be same as end time","Błąd planowania wydajności, planowany czas rozpoczęcia nie może być taki sam jak czas zakończenia",
+Categories,Kategorie,
+Changes in {0},Zmiany w {0},
+Chart,Wykres,
+Choose a corresponding payment,Wybierz odpowiednią płatność,
+Click on the link below to verify your email and confirm the appointment,"Kliknij poniższy link, aby zweryfikować swój adres e-mail i potwierdzić spotkanie",
+Close,Zamknij,
+Communication,Komunikacja,
+Compact Item Print,Compact Element Drukuj,
+Company,Firma,
+Company of asset {0} and purchase document {1} doesn't matches.,Firma zasobu {0} i dokument zakupu {1} nie pasują.,
+Compare BOMs for changes in Raw Materials and Operations,Porównaj LM dla zmian w surowcach i operacjach,
+Compare List function takes on list arguments,Funkcja listy porównawczej przyjmuje argumenty listy,
+Complete,Kompletny,
+Completed,Zakończono,
+Completed Quantity,Ukończona ilość,
+Connect your Exotel Account to ERPNext and track call logs,Połącz swoje konto Exotel z ERPNext i śledź dzienniki połączeń,
+Connect your bank accounts to ERPNext,Połącz swoje konta bankowe z ERPNext,
+Contact Seller,Skontaktuj się ze sprzedawcą,
+Continue,Kontynuuj,
+Cost Center: {0} does not exist,Centrum kosztów: {0} nie istnieje,
+Couldn't Set Service Level Agreement {0}.,Nie można ustawić umowy o poziomie usług {0}.,
+Country,Kraj,
+Country Code in File does not match with country code set up in the system,Kod kraju w pliku nie zgadza się z kodem kraju skonfigurowanym w systemie,
+Create New Contact,Utwórz nowy kontakt,
+Create New Lead,Utwórz nowego potencjalnego klienta,
+Create Pick List,Utwórz listę wyboru,
+Create Quality Inspection for Item {0},Utwórz kontrolę jakości dla przedmiotu {0},
+Creating Accounts...,Tworzenie kont ...,
+Creating bank entries...,Tworzenie wpisów bankowych ...,
+Credit limit is already defined for the Company {0},Limit kredytowy jest już zdefiniowany dla firmy {0},
+Ctrl + Enter to submit,"Ctrl + Enter, aby przesłać",
+Ctrl+Enter to submit,"Ctrl + Enter, aby przesłać",
+Currency,Waluta,
+Current Status,Bieżący status,
+Customer PO,Klient PO,
+Customize,Dostosuj,
+Daily,Codziennie,
+Date,Data,
+Date Range,Zakres dat,
+Date of Birth cannot be greater than Joining Date.,Data urodzenia nie może być większa niż data przystąpienia.,
+Dear,Drogi,
+Default,Domyślny,
+Define coupon codes.,Zdefiniuj kody kuponów.,
+Delayed Days,Opóźnione dni,
+Delete,Usuń,
+Delivered Quantity,Dostarczona ilość,
+Delivery Notes,Dokumenty dostawy,
+Depreciated Amount,Amortyzowana kwota,
+Description,Opis,
+Designation,Nominacja,
+Difference Value,Różnica wartości,
+Dimension Filter,Filtr wymiarów,
+Disabled,Nieaktywny,
+Disbursement and Repayment,Wypłata i spłata,
+Distance cannot be greater than 4000 kms,Odległość nie może być większa niż 4000 km,
+Do you want to submit the material request,Czy chcesz przesłać żądanie materiałowe,
+Doctype,Doctype,
+Document {0} successfully uncleared,Dokument {0} został pomyślnie usunięty,
+Download Template,Ściągnij Szablon,
+Dr,Dr,
+Due Date,Termin,
+Duplicate,Powiel,
+Duplicate Project with Tasks,Duplikuj projekt z zadaniami,
+Duplicate project has been created,Utworzono zduplikowany projekt,
+E-Way Bill JSON can only be generated from a submitted document,e-Way Bill JSON można wygenerować tylko z przesłanego dokumentu,
+E-Way Bill JSON can only be generated from submitted document,e-Way Bill JSON można wygenerować tylko z przesłanego dokumentu,
+E-Way Bill JSON cannot be generated for Sales Return as of now,e-Way Bill JSON nie może być teraz generowany dla zwrotu sprzedaży,
+ERPNext could not find any matching payment entry,ERPNext nie mógł znaleźć żadnego pasującego wpisu płatności,
+Earliest Age,Najwcześniejszy wiek,
+Edit Details,Edytuj szczegóły,
+Edit Profile,Edytuj profil,
+Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,"Wymagany jest identyfikator transportera GST lub nr pojazdu, jeśli tryb transportu to Droga",
+Email,E-mail,
+Email Campaigns,Kampanie e-mail,
+Employee ID is linked with another instructor,Identyfikator pracownika jest powiązany z innym instruktorem,
+Employee Tax and Benefits,Podatek i świadczenia pracownicze,
+Employee is required while issuing Asset {0},Wymagany jest pracownik przy wydawaniu środka trwałego {0},
+Employee {0} does not belongs to the company {1},Pracownik {0} nie należy do firmy {1},
+Enable Auto Re-Order,Włącz automatyczne ponowne zamówienie,
+End Date of Agreement can't be less than today.,Data zakończenia umowy nie może być mniejsza niż dzisiaj.,
+End Time,Czas zakończenia,
+Energy Point Leaderboard,Tabela punktów energetycznych,
+Enter API key in Google Settings.,Wprowadź klucz API w Ustawieniach Google.,
+Enter Supplier,Wpisz dostawcę,
+Enter Value,Wpisz Wartość,
+Entity Type,Typ encji,
+Error,Błąd,
+Error in Exotel incoming call,Błąd połączenia przychodzącego Exotel,
+Error: {0} is mandatory field,Błąd: {0} to pole obowiązkowe,
+Event Link,Link do wydarzenia,
+Exception occurred while reconciling {0},Wystąpił wyjątek podczas uzgadniania {0},
+Expected and Discharge dates cannot be less than Admission Schedule date,Oczekiwana data i data zwolnienia nie mogą być krótsze niż data harmonogramu przyjęć,
+Expire Allocation,Wygaś przydział,
+Expired,Upłynął,
+Export,Eksport,
+Export not allowed. You need {0} role to export.,eksport nie jest dozwolony. Potrzebujesz {0} modeli żeby eksportować,
+Failed to add Domain,Nie udało się dodać domeny,
+Fetch Items from Warehouse,Pobierz przedmioty z magazynu,
+Fetching...,Ujmujący...,
+Field,Pole,
+File Manager,Menedżer plików,
+Filters,Filtry,
+Finding linked payments,Znajdowanie powiązanych płatności,
+Fleet Management,Fleet Management,
+Following fields are mandatory to create address:,"Aby utworzyć adres, należy podać następujące pola:",
+For Month,Na miesiąc,
+"For item {0} at row {1}, count of serial numbers does not match with the picked quantity",Dla pozycji {0} w wierszu {1} liczba numerów seryjnych nie zgadza się z pobraną ilością,
+For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Dla operacji {0}: Ilość ({1}) nie może być greter wyższa niż ilość oczekująca ({2}),
+For quantity {0} should not be greater than work order quantity {1},Dla ilości {0} nie powinna być większa niż ilość zlecenia pracy {1},
+Free item not set in the pricing rule {0},Darmowy element nie jest ustawiony w regule cenowej {0},
+From Date and To Date are Mandatory,Od daty i daty są obowiązkowe,
+From employee is required while receiving Asset {0} to a target location,Od pracownika jest wymagany przy odbiorze Zasoby {0} do docelowej lokalizacji,
+Fuel Expense,Koszt paliwa,
+Future Payment Amount,Kwota przyszłej płatności,
+Future Payment Ref,Przyszła płatność Nr ref,
+Future Payments,Przyszłe płatności,
+GST HSN Code does not exist for one or more items,Kod GST HSN nie istnieje dla jednego lub więcej przedmiotów,
+Generate E-Way Bill JSON,Generuj e-Way Bill JSON,
+Get Items,Pobierz,
+Get Outstanding Documents,Uzyskaj znakomite dokumenty,
+Goal,Cel,
+Greater Than Amount,Większa niż kwota,
+Green,Zielony,
+Group,Grupa,
+Group By Customer,Grupuj według klienta,
+Group By Supplier,Grupuj według dostawcy,
+Group Node,Węzeł Grupy,
+Group Warehouses cannot be used in transactions. Please change the value of {0},Magazyny grupowe nie mogą być używane w transakcjach. Zmień wartość {0},
+Help,Pomoc,
+Help Article,Artykuł pomocy,
+"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Pomaga śledzić kontrakty na podstawie dostawcy, klienta i pracownika",
+Helps you manage appointments with your leads,Pomaga zarządzać spotkaniami z potencjalnymi klientami,
+Home,Start,
+IBAN is not valid,IBAN jest nieprawidłowy,
+Import Data from CSV / Excel files.,Importuj dane z plików CSV / Excel.,
+In Progress,W trakcie,
+Incoming call from {0},Połączenie przychodzące od {0},
+Incorrect Warehouse,Niepoprawny magazyn,
+Intermediate,Pośredni,
+Invalid Barcode. There is no Item attached to this barcode.,Nieprawidłowy kod kreskowy. Brak kodu dołączonego do tego kodu kreskowego.,
+Invalid credentials,Nieprawidłowe poświadczenia,
+Invite as User,Zaproś jako Użytkownik,
+Issue Priority.,Priorytet wydania.,
+Issue Type.,Typ problemu.,
+"It seems that there is an issue with the server's stripe configuration. In case of failure, the amount will get refunded to your account.","Wygląda na to, że istnieje problem z konfiguracją pasków serwera. W przypadku niepowodzenia kwota zostanie zwrócona na Twoje konto.",
+Item Reported,Zgłoszony element,
+Item listing removed,Usunięto listę produktów,
+Item quantity can not be zero,Ilość towaru nie może wynosić zero,
+Item taxes updated,Zaktualizowano podatki od towarów,
+Item {0}: {1} qty produced. ,Produkt {0}: wyprodukowano {1} sztuk.,
+Joining Date can not be greater than Leaving Date,Data dołączenia nie może być większa niż Data opuszczenia,
+Lab Test Item {0} already exist,Element testu laboratoryjnego {0} już istnieje,
+Last Issue,Ostatnie wydanie,
+Latest Age,Późne stadium,
+Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,Wniosek o urlop jest powiązany z przydziałem urlopu {0}. Wniosek o urlop nie może być ustawiony jako urlop bez wynagrodzenia,
+Leaves Taken,Zrobione liście,
+Less Than Amount,Mniej niż kwota,
+Liabilities,Zadłużenie,
+Loading...,Wczytuję...,
+Loan Amount exceeds maximum loan amount of {0} as per proposed securities,Kwota pożyczki przekracza maksymalną kwotę pożyczki w wysokości {0} zgodnie z proponowanymi papierami wartościowymi,
+Loan Applications from customers and employees.,Wnioski o pożyczkę od klientów i pracowników.,
+Loan Disbursement,Wypłata pożyczki,
+Loan Processes,Procesy pożyczkowe,
+Loan Security,Zabezpieczenie pożyczki,
+Loan Security Pledge,Zobowiązanie do zabezpieczenia pożyczki,
+Loan Security Pledge Created : {0},Utworzono zastaw na zabezpieczeniu pożyczki: {0},
+Loan Security Price,Cena zabezpieczenia pożyczki,
+Loan Security Price overlapping with {0},Cena zabezpieczenia kredytu pokrywająca się z {0},
+Loan Security Unpledge,Zabezpieczenie pożyczki Unpledge,
+Loan Security Value,Wartość zabezpieczenia pożyczki,
+Loan Type for interest and penalty rates,Rodzaj pożyczki na odsetki i kary pieniężne,
+Loan amount cannot be greater than {0},Kwota pożyczki nie może być większa niż {0},
+Loan is mandatory,Pożyczka jest obowiązkowa,
+Loans,Pożyczki,
+Loans provided to customers and employees.,Pożyczki udzielone klientom i pracownikom.,
+Location,Lokacja,
+Log Type is required for check-ins falling in the shift: {0}.,Typ dziennika jest wymagany w przypadku zameldowań przypadających na zmianę: {0}.,
+Looks like someone sent you to an incomplete URL. Please ask them to look into it.,"Wygląda jak ktoś wysłał do niekompletnego adresu URL. Proszę poprosić ich, aby na nią patrzeć.",
+Make Journal Entry,Dodaj wpis do dziennika,
+Make Purchase Invoice,Nowa faktura zakupu,
+Manufactured,Zrobiony fabrycznie,
+Mark Work From Home,Oznacz pracę z domu,
+Master,Magister,
+Max strength cannot be less than zero.,Maksymalna siła nie może być mniejsza niż zero.,
+Maximum attempts for this quiz reached!,Osiągnięto maksymalną liczbę prób tego quizu!,
+Message,Wiadomość,
+Missing Values Required,Uzupełnij Brakujące Wartości,
+Mobile No,Nr tel. Komórkowego,
+Mobile Number,Numer telefonu komórkowego,
+Month,Miesiąc,
+Name,Nazwa,
+Near you,Blisko Ciebie,
+Net Profit/Loss,Zysk / strata netto,
+New Expense,Nowy wydatek,
+New Invoice,Nowa faktura,
+New Payment,Nowa płatność,
+New release date should be in the future,Nowa data wydania powinna być w przyszłości,
+Newsletter,Newsletter,
+No Account matched these filters: {},Brak kont pasujących do tych filtrów: {},
+No Employee found for the given employee field value. '{}': {},Nie znaleziono pracownika dla danej wartości pola pracownika. &#39;{}&#39;: {},
+No Leaves Allocated to Employee: {0} for Leave Type: {1},Brak urlopów przydzielonych pracownikowi: {0} dla typu urlopu: {1},
+No communication found.,Nie znaleziono komunikacji.,
+No correct answer is set for {0},Brak poprawnej odpowiedzi dla {0},
+No description,Bez opisu,
+No issue has been raised by the caller.,Dzwoniący nie podniósł żadnego problemu.,
+No items to publish,Brak elementów do opublikowania,
+No outstanding invoices found,Nie znaleziono żadnych zaległych faktur,
+No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,"Nie znaleziono zaległych faktur za {0} {1}, które kwalifikują określone filtry.",
+No outstanding invoices require exchange rate revaluation,Żadne zaległe faktury nie wymagają aktualizacji kursu walutowego,
+No reviews yet,Brak recenzji,
+No views yet,Brak jeszcze wyświetleń,
+Non stock items,Pozycje niedostępne,
+Not Allowed,Nie dozwolone,
+Not allowed to create accounting dimension for {0},Nie wolno tworzyć wymiaru księgowego dla {0},
+Not permitted. Please disable the Lab Test Template,Nie dozwolone. Wyłącz szablon testu laboratoryjnego,
+Note,Notatka,
+Notes: ,Notatki:,
+On Converting Opportunity,O możliwościach konwersji,
+On Purchase Order Submission,Po złożeniu zamówienia,
+On Sales Order Submission,Przy składaniu zamówienia sprzedaży,
+On Task Completion,Po zakończeniu zadania,
+On {0} Creation,W dniu {0} Creation,
+Only .csv and .xlsx files are supported currently,Aktualnie obsługiwane są tylko pliki .csv i .xlsx,
+Only expired allocation can be cancelled,Tylko wygasły przydział można anulować,
+Only users with the {0} role can create backdated leave applications,Tylko użytkownicy z rolą {0} mogą tworzyć aplikacje urlopowe z datą wsteczną,
+Open,otwarty,
+Open Contact,Otwarty kontakt,
+Open Lead,Ołów otwarty,
+Opening and Closing,Otwieranie i zamykanie,
+Operating Cost as per Work Order / BOM,Koszt operacyjny według zlecenia pracy / BOM,
+Order Amount,Kwota zamówienia,
+Page {0} of {1},Strona {0} z {1},
+Paid amount cannot be less than {0},Kwota wpłaty nie może być mniejsza niż {0},
+Parent Company must be a group company,Firma macierzysta musi być spółką grupy,
+Passing Score value should be between 0 and 100,Wartość Passing Score powinna wynosić od 0 do 100,
+Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,Polityka haseł nie może zawierać spacji ani jednoczesnych myślników. Format zostanie automatycznie zrestrukturyzowany,
+Patient History,Historia pacjenta,
+Pause,Pauza,
+Pay,Zapłacone,
+Payment Document Type,Typ dokumentu płatności,
+Payment Name,Nazwa płatności,
+Penalty Amount,Kwota kary,
+Pending,W toku,
+Performance,Występ,
+Period based On,Okres oparty na,
+Perpetual inventory required for the company {0} to view this report.,"Aby przeglądać ten raport, firma musi mieć ciągłe zapasy.",
+Phone,Telefon,
+Pick List,Lista wyboru,
+Plaid authentication error,Błąd uwierzytelniania w kratkę,
+Plaid public token error,Błąd publicznego znacznika w kratkę,
+Plaid transactions sync error,Błąd synchronizacji transakcji Plaid,
+Please check the error log for details about the import errors,"Sprawdź dziennik błędów, aby uzyskać szczegółowe informacje na temat błędów importu",
+Please create <b>DATEV Settings</b> for Company <b>{}</b>.,<b>Utwórz ustawienia DATEV</b> dla firmy <b>{}</b> .,
+Please create adjustment Journal Entry for amount {0} ,Utwórz korektę Zapis księgowy dla kwoty {0},
+Please do not create more than 500 items at a time,Nie twórz więcej niż 500 pozycji naraz,
+Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Wprowadź <b>konto różnicowe</b> lub ustaw domyślne <b>konto korekty zapasów</b> dla firmy {0},
+Please enter GSTIN and state for the Company Address {0},Wprowadź GSTIN i podaj adres firmy {0},
+Please enter Item Code to get item taxes,"Wprowadź kod produktu, aby otrzymać podatki od przedmiotu",
+Please enter Warehouse and Date,Proszę podać Magazyn i datę,
+Please enter the designation,Proszę podać oznaczenie,
+Please login as a Marketplace User to edit this item.,"Zaloguj się jako użytkownik Marketplace, aby edytować ten element.",
+Please login as a Marketplace User to report this item.,"Zaloguj się jako użytkownik Marketplace, aby zgłosić ten element.",
+Please select <b>Template Type</b> to download template,"Wybierz <b>Typ szablonu,</b> aby pobrać szablon",
+Please select Applicant Type first,Najpierw wybierz typ wnioskodawcy,
+Please select Customer first,Najpierw wybierz klienta,
+Please select Item Code first,Najpierw wybierz Kod produktu,
+Please select Loan Type for company {0},Wybierz typ pożyczki dla firmy {0},
+Please select a Delivery Note,Wybierz dowód dostawy,
+Please select a Sales Person for item: {0},Wybierz sprzedawcę dla produktu: {0},
+Please select another payment method. Stripe does not support transactions in currency '{0}',Wybierz inną metodę płatności. Stripe nie obsługuje transakcji w walucie &#39;{0}&#39;,
+Please select the customer.,Wybierz klienta.,
+Please set a Supplier against the Items to be considered in the Purchase Order.,"Proszę ustawić Dostawcę na tle Przedmiotów, które należy uwzględnić w Zamówieniu.",
+Please set account heads in GST Settings for Compnay {0},Ustaw głowice kont w Ustawieniach GST dla Compnay {0},
+Please set an email id for the Lead {0},Ustaw identyfikator e-mail dla potencjalnego klienta {0},
+Please set default UOM in Stock Settings,Proszę ustawić domyślną JM w Ustawieniach magazynowych,
+Please set filter based on Item or Warehouse due to a large amount of entries.,Ustaw filtr na podstawie pozycji lub magazynu ze względu na dużą liczbę wpisów.,
+Please set up the Campaign Schedule in the Campaign {0},Ustaw harmonogram kampanii w kampanii {0},
+Please set valid GSTIN No. in Company Address for company {0},Ustaw prawidłowy numer GSTIN w adresie firmy dla firmy {0},
+Please set {0},Ustaw {0},customer
+Please setup a default bank account for company {0},Ustaw domyślne konto bankowe dla firmy {0},
+Please specify,Sprecyzuj,
+Please specify a {0},Proszę podać {0},lead
+Pledge Status,Status zobowiązania,
+Pledge Time,Czas przyrzeczenia,
+Printing,Druk,
+Priority,Priorytet,
+Priority has been changed to {0}.,Priorytet został zmieniony na {0}.,
+Priority {0} has been repeated.,Priorytet {0} został powtórzony.,
+Processing XML Files,Przetwarzanie plików XML,
+Profitability,Rentowność,
+Project,Projekt,
+Proposed Pledges are mandatory for secured Loans,Proponowane zastawy są obowiązkowe dla zabezpieczonych pożyczek,
+Provide the academic year and set the starting and ending date.,Podaj rok akademicki i ustaw datę początkową i końcową.,
+Public token is missing for this bank,Brakuje publicznego tokena dla tego banku,
+Publish,Publikować,
+Publish 1 Item,Opublikuj 1 przedmiot,
+Publish Items,Publikuj przedmioty,
+Publish More Items,Opublikuj więcej przedmiotów,
+Publish Your First Items,Opublikuj swoje pierwsze przedmioty,
+Publish {0} Items,Opublikuj {0} przedmiotów,
+Published Items,Opublikowane przedmioty,
+Purchase Invoice cannot be made against an existing asset {0},Nie można wystawić faktury zakupu na istniejący zasób {0},
+Purchase Invoices,Faktury zakupu,
+Purchase Orders,Zlecenia kupna,
+Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,"W potwierdzeniu zakupu nie ma żadnego elementu, dla którego włączona jest opcja Zachowaj próbkę.",
+Purchase Return,Zwrot zakupu,
+Qty of Finished Goods Item,Ilość produktu gotowego,
+Qty or Amount is mandatroy for loan security,Ilość lub Kwota jest mandatroy dla zabezpieczenia kredytu,
+Quality Inspection required for Item {0} to submit,Kontrola jakości wymagana do przesłania pozycji {0},
+Quantity to Manufacture,Ilość do wyprodukowania,
+Quantity to Manufacture can not be zero for the operation {0},Ilość do wyprodukowania nie może wynosić zero dla operacji {0},
+Quarterly,Kwartalnie,
+Queued,W kolejce,
+Quick Entry,Szybkie wejścia,
+Quiz {0} does not exist,Quiz {0} nie istnieje,
+Quotation Amount,Kwota oferty,
+Rate or Discount is required for the price discount.,Do obniżki ceny wymagana jest stawka lub zniżka.,
+Reason,Powód,
+Reconcile Entries,Uzgodnij wpisy,
+Reconcile this account,Uzgodnij to konto,
+Reconciled,Uzgodnione,
+Recruitment,Rekrutacja,
+Red,Czerwony,
+Refreshing,Odświeżam,
+Release date must be in the future,Data wydania musi być w przyszłości,
+Relieving Date must be greater than or equal to Date of Joining,Data zwolnienia musi być większa lub równa dacie przystąpienia,
+Rename,Zmień nazwę,
+Rename Not Allowed,Zmień nazwę na Niedozwolone,
+Repayment Method is mandatory for term loans,Metoda spłaty jest obowiązkowa w przypadku pożyczek terminowych,
+Repayment Start Date is mandatory for term loans,Data rozpoczęcia spłaty jest obowiązkowa w przypadku pożyczek terminowych,
+Report Item,Zgłoś przedmiot,
+Report this Item,Zgłoś ten przedmiot,
+Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Zarezerwowana ilość dla umowy podwykonawczej: ilość surowców do wytworzenia elementów podwykonawczych.,
+Reset,Nastawić,
+Reset Service Level Agreement,Zresetuj umowę o poziomie usług,
+Resetting Service Level Agreement.,Resetowanie umowy o poziomie usług.,
+Return amount cannot be greater unclaimed amount,Kwota zwrotu nie może być większa niż kwota nieodebrana,
+Review,Przejrzeć,
+Room,Pokój,
+Room Type,Rodzaj pokoju,
+Row # ,Wiersz #,
+Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Wiersz # {0}: Magazyn zaakceptowany i magazyn dostawcy nie mogą być takie same,
+Row #{0}: Cannot delete item {1} which has already been billed.,"Wiersz # {0}: Nie można usunąć elementu {1}, który został już rozliczony.",
+Row #{0}: Cannot delete item {1} which has already been delivered,"Wiersz # {0}: Nie można usunąć elementu {1}, który został już dostarczony",
+Row #{0}: Cannot delete item {1} which has already been received,"Wiersz # {0}: Nie można usunąć elementu {1}, który został już odebrany",
+Row #{0}: Cannot delete item {1} which has work order assigned to it.,"Wiersz # {0}: Nie można usunąć elementu {1}, któremu przypisano zlecenie pracy.",
+Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,"Wiersz # {0}: Nie można usunąć elementu {1}, który jest przypisany do zamówienia zakupu klienta.",
+Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Wiersz # {0}: nie można wybrać magazynu dostawcy podczas dostarczania surowców do podwykonawcy,
+Row #{0}: Cost Center {1} does not belong to company {2},Wiersz # {0}: Centrum kosztów {1} nie należy do firmy {2},
+Row #{0}: Operation {1} is not completed for {2} qty of finished goods in Work Order {3}. Please update operation status via Job Card {4}.,Wiersz # {0}: operacja {1} nie została zakończona dla {2} ilości gotowych produktów w zleceniu pracy {3}. Zaktualizuj status operacji za pomocą karty pracy {4}.,
+Row #{0}: Payment document is required to complete the transaction,Wiersz # {0}: dokument płatności jest wymagany do zakończenia transakcji,
+Row #{0}: Serial No {1} does not belong to Batch {2},Wiersz # {0}: numer seryjny {1} nie należy do partii {2},
+Row #{0}: Service End Date cannot be before Invoice Posting Date,Wiersz # {0}: data zakończenia usługi nie może być wcześniejsza niż data księgowania faktury,
+Row #{0}: Service Start Date cannot be greater than Service End Date,Wiersz # {0}: data rozpoczęcia usługi nie może być większa niż data zakończenia usługi,
+Row #{0}: Service Start and End Date is required for deferred accounting,Wiersz # {0}: data rozpoczęcia i zakończenia usługi jest wymagana dla odroczonej księgowości,
+Row {0}: Invalid Item Tax Template for item {1},Wiersz {0}: nieprawidłowy szablon podatku od towarów dla towaru {1},
+Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Wiersz {0}: ilość niedostępna dla {4} w magazynie {1} w czasie księgowania wpisu ({2} {3}),
+Row {0}: user has not applied the rule {1} on the item {2},Wiersz {0}: użytkownik nie zastosował reguły {1} do pozycji {2},
+Row {0}:Sibling Date of Birth cannot be greater than today.,Wiersz {0}: data urodzenia rodzeństwa nie może być większa niż dzisiaj.,
+Row({0}): {1} is already discounted in {2},Wiersz ({0}): {1} jest już zdyskontowany w {2},
+Rows Added in {0},Rzędy dodane w {0},
+Rows Removed in {0},Rzędy usunięte w {0},
+Sanctioned Amount limit crossed for {0} {1},Przekroczono limit kwoty usankcjonowanej dla {0} {1},
+Sanctioned Loan Amount already exists for {0} against company {1},Kwota sankcjonowanej pożyczki już istnieje dla {0} wobec firmy {1},
+Save,Zapisz,
+Save Item,Zapisz przedmiot,
+Saved Items,Zapisane przedmioty,
+Search Items ...,Szukaj przedmiotów ...,
+Search for a payment,Wyszukaj płatność,
+Search for anything ...,Wyszukaj cokolwiek ...,
+Search results for,Wyniki wyszukiwania dla,
+Select All,Wybierz wszystko,
+Select Difference Account,Wybierz konto różnicy,
+Select a Default Priority.,Wybierz domyślny priorytet.,
+Select a company,Wybierz firmę,
+Select finance book for the item {0} at row {1},Wybierz księgę finansową dla pozycji {0} w wierszu {1},
+Select only one Priority as Default.,Wybierz tylko jeden priorytet jako domyślny.,
+Seller Information,Informacje o sprzedawcy,
+Send,Wyślij,
+Send a message,Wysłać wiadomość,
+Sending,Wysyłanie,
+Sends Mails to lead or contact based on a Campaign schedule,Wysyła wiadomości e-mail do potencjalnego klienta lub kontaktu na podstawie harmonogramu kampanii,
+Serial Number Created,Utworzono numer seryjny,
+Serial Numbers Created,Utworzono numery seryjne,
+Serial no(s) required for serialized item {0},Nie są wymagane numery seryjne dla pozycji zserializowanej {0},
+Series,Seria,
+Server Error,błąd serwera,
+Service Level Agreement has been changed to {0}.,Umowa o poziomie usług została zmieniona na {0}.,
+Service Level Agreement was reset.,Umowa o poziomie usług została zresetowana.,
+Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Umowa o poziomie usług z typem podmiotu {0} i podmiotem {1} już istnieje.,
+Set,Zbiór,
+Set Meta Tags,Ustaw meta tagi,
+Set {0} in company {1},Ustaw {0} w firmie {1},
+Setup,Ustawienia,
+Setup Wizard,Ustawienia Wizard,
+Shift Management,Zarządzanie zmianą,
+Show Future Payments,Pokaż przyszłe płatności,
+Show Linked Delivery Notes,Pokaż połączone dowody dostawy,
+Show Sales Person,Pokaż sprzedawcę,
+Show Stock Ageing Data,Pokaż dane dotyczące starzenia się zapasów,
+Show Warehouse-wise Stock,Pokaż magazyn w magazynie,
+Size,Rozmiar,
+Something went wrong while evaluating the quiz.,Coś poszło nie tak podczas oceny quizu.,
+Sr,sr,
+Start,Start,
+Start Date cannot be before the current date,Data rozpoczęcia nie może być wcześniejsza niż bieżąca data,
+Start Time,Czas rozpoczęcia,
+Status,Status,
+Status must be Cancelled or Completed,Status musi zostać anulowany lub ukończony,
+Stock Balance Report,Raport stanu zapasów,
+Stock Entry has been already created against this Pick List,Zapis zapasów został już utworzony dla tej listy pobrania,
+Stock Ledger ID,Identyfikator księgi głównej,
+Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,Wartość zapasów ({0}) i saldo konta ({1}) nie są zsynchronizowane dla konta {2} i powiązanych magazynów.,
+Stores - {0},Sklepy - {0},
+Student with email {0} does not exist,Student z e-mailem {0} nie istnieje,
+Submit Review,Dodaj recenzję,
+Submitted,Zgłoszny,
+Supplier Addresses And Contacts,Adresy i kontakty dostawcy,
+Synchronize this account,Zsynchronizuj to konto,
+Tag,Etykietka,
+Target Location is required while receiving Asset {0} from an employee,Lokalizacja docelowa jest wymagana podczas otrzymywania środka {0} od pracownika,
+Target Location is required while transferring Asset {0},Lokalizacja docelowa jest wymagana podczas przenoszenia aktywów {0},
+Target Location or To Employee is required while receiving Asset {0},Lokalizacja docelowa lub Do pracownika jest wymagana podczas otrzymywania Zasobu {0},
+Task's {0} End Date cannot be after Project's End Date.,Data zakończenia zadania {0} nie może być późniejsza niż data zakończenia projektu.,
+Task's {0} Start Date cannot be after Project's End Date.,Data rozpoczęcia zadania {0} nie może być późniejsza niż data zakończenia projektu.,
+Tax Account not specified for Shopify Tax {0},Nie określono konta podatkowego dla Shopify Tax {0},
+Tax Total,Podatek ogółem,
+Template,Szablon,
+The Campaign '{0}' already exists for the {1} '{2}',Kampania „{0}” już istnieje dla {1} ”{2}”,
+The difference between from time and To Time must be a multiple of Appointment,Różnica między czasem a czasem musi być wielokrotnością terminu,
+The field Asset Account cannot be blank,Pole Konto aktywów nie może być puste,
+The field Equity/Liability Account cannot be blank,Pole Rachunek kapitału własnego / pasywnego nie może być puste,
+The following serial numbers were created: <br><br> {0},Utworzono następujące numery seryjne: <br><br> {0},
+The parent account {0} does not exists in the uploaded template,Konto nadrzędne {0} nie istnieje w przesłanym szablonie,
+The question cannot be duplicate,Pytanie nie może być duplikowane,
+The selected payment entry should be linked with a creditor bank transaction,Wybrany zapis płatności powinien być powiązany z transakcją banku wierzyciela,
+The selected payment entry should be linked with a debtor bank transaction,Wybrany zapis płatności powinien być powiązany z transakcją bankową dłużnika,
+The total allocated amount ({0}) is greated than the paid amount ({1}).,Łączna przydzielona kwota ({0}) jest przywitana niż wypłacona kwota ({1}).,
+There are no vacancies under staffing plan {0},W planie zatrudnienia nie ma wolnych miejsc pracy {0},
+This Service Level Agreement is specific to Customer {0},Niniejsza umowa dotycząca poziomu usług dotyczy wyłącznie klienta {0},
+This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,Ta czynność spowoduje odłączenie tego konta od dowolnej usługi zewnętrznej integrującej ERPNext z kontami bankowymi. Nie można tego cofnąć. Czy jesteś pewien ?,
+This bank account is already synchronized,To konto bankowe jest już zsynchronizowane,
+This bank transaction is already fully reconciled,Ta transakcja bankowa została już w pełni uzgodniona,
+This employee already has a log with the same timestamp.{0},Ten pracownik ma już dziennik z tym samym znacznikiem czasu. {0},
+This page keeps track of items you want to buy from sellers.,"Ta strona śledzi przedmioty, które chcesz kupić od sprzedawców.",
+This page keeps track of your items in which buyers have showed some interest.,"Ta strona śledzi Twoje produkty, którymi kupujący wykazali pewne zainteresowanie.",
+Thursday,Czwartek,
+Timing,wyczucie czasu,
+Title,Tytuł,
+"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","Aby zezwolić na rozliczenia, zaktualizuj „Over Billing Allowance” w ustawieniach kont lub pozycji.",
+"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","Aby zezwolić na odbiór / dostawę, zaktualizuj „Przekazywanie / dostawę” w Ustawieniach magazynowych lub pozycji.",
+To date needs to be before from date,Do tej pory musi być wcześniejsza niż data,
+Total,Razem,
+Total Early Exits,Łącznie wczesne wyjścia,
+Total Late Entries,Późne wpisy ogółem,
+Total Payment Request amount cannot be greater than {0} amount,Łączna kwota żądania zapłaty nie może być większa niż kwota {0},
+Total payments amount can't be greater than {},Łączna kwota płatności nie może być większa niż {},
+Totals,Sumy całkowite,
+Training Event:,Wydarzenie szkoleniowe:,
+Transactions already retreived from the statement,Transakcje już wycofane z wyciągu,
+Transfer Material to Supplier,Przenieść materiał do dostawcy,
+Transport Receipt No and Date are mandatory for your chosen Mode of Transport,Nr potwierdzenia odbioru i data są obowiązkowe w wybranym trybie transportu,
+Tuesday,Wtorek,
+Type,Typ,
+Unable to find Salary Component {0},Nie można znaleźć składnika wynagrodzenia {0},
+Unable to find the time slot in the next {0} days for the operation {1}.,Nie można znaleźć przedziału czasu w ciągu najbliższych {0} dni dla operacji {1}.,
+Unable to update remote activity,Nie można zaktualizować aktywności zdalnej,
+Unknown Caller,Nieznany rozmówca,
+Unlink external integrations,Rozłącz integracje zewnętrzne,
+Unmarked Attendance for days,Nieoznakowana obecność na kilka dni,
+Unpublish Item,Cofnij publikację przedmiotu,
+Unreconciled,Nieuzgodnione,
+Unsupported GST Category for E-Way Bill JSON generation,Nieobsługiwana kategoria GST dla generacji e-Way Bill JSON,
+Update,Aktualizacja,
+Update Details,Zaktualizuj szczegóły,
+Update Taxes for Items,Zaktualizuj podatki od przedmiotów,
+"Upload a bank statement, link or reconcile a bank account","Prześlij wyciąg z konta bankowego, połącz lub rozlicz konto bankowe",
+Upload a statement,Prześlij oświadczenie,
+Use a name that is different from previous project name,Użyj nazwy innej niż nazwa poprzedniego projektu,
+User {0} is disabled,Użytkownik {0} jest wyłączony,
+Users and Permissions,Użytkownicy i uprawnienia,
+Vacancies cannot be lower than the current openings,Wolne miejsca nie mogą być niższe niż obecne otwarcia,
+Valid From Time must be lesser than Valid Upto Time.,Ważny od czasu musi być mniejszy niż Ważny do godziny.,
+Valuation Rate required for Item {0} at row {1},Kurs wyceny wymagany dla pozycji {0} w wierszu {1},
+Values Out Of Sync,Wartości niezsynchronizowane,
+Vehicle Type is required if Mode of Transport is Road,"Typ pojazdu jest wymagany, jeśli tryb transportu to Droga",
+Vendor Name,Nazwa dostawcy,
+Verify Email,zweryfikuj adres e-mail,
+View,Widok,
+View all issues from {0},Wyświetl wszystkie problemy z {0},
+View call log,Wyświetl dziennik połączeń,
+Warehouse,Magazyn,
+Warehouse not found against the account {0},Nie znaleziono magazynu dla konta {0},
+Welcome to {0},Zapraszamy do {0},
+Why do think this Item should be removed?,Dlaczego według mnie ten przedmiot powinien zostać usunięty?,
+Work Order {0}: Job Card not found for the operation {1},Zlecenie pracy {0}: Nie znaleziono karty pracy dla operacji {1},
+Workday {0} has been repeated.,Dzień roboczy {0} został powtórzony.,
+XML Files Processed,Przetwarzane pliki XML,
+Year,Rok,
+Yearly,Rocznie,
+You,Ty,
+You are not allowed to enroll for this course,Nie możesz zapisać się na ten kurs,
+You are not enrolled in program {0},Nie jesteś zarejestrowany w programie {0},
+You can Feature upto 8 items.,Możesz polecić do 8 przedmiotów.,
+You can also copy-paste this link in your browser,Można również skopiować i wkleić ten link w przeglądarce,
+You can publish upto 200 items.,Możesz opublikować do 200 pozycji.,
+You have to enable auto re-order in Stock Settings to maintain re-order levels.,"Aby utrzymać poziomy ponownego zamówienia, musisz włączyć automatyczne ponowne zamówienie w Ustawieniach zapasów.",
+You must be a registered supplier to generate e-Way Bill,"Musisz być zarejestrowanym dostawcą, aby wygenerować e-Way Bill",
+You need to login as a Marketplace User before you can add any reviews.,"Musisz się zalogować jako użytkownik portalu, aby móc dodawać recenzje.",
+Your Featured Items,Twoje polecane przedmioty,
+Your Items,Twoje przedmioty,
+Your Profile,Twój profil,
+Your rating:,Twoja ocena:,
+and,i,
+e-Way Bill already exists for this document,e-Way Bill już istnieje dla tego dokumentu,
+woocommerce - {0},woocommerce - {0},
+{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Wykorzystany kupon to {1}. Dozwolona ilość jest wyczerpana,
+{0} Name,Imię {0},
+{0} Operations: {1},{0} Operacje: {1},
+{0} bank transaction(s) created,{0} utworzono transakcje bankowe,
+{0} bank transaction(s) created and {1} errors,{0} utworzono transakcje bankowe i błędy {1},
+{0} can not be greater than {1},{0} nie może być większy niż {1},
+{0} conversations,{0} rozmów,
+{0} is not a company bank account,{0} nie jest firmowym kontem bankowym,
+{0} is not a group node. Please select a group node as parent cost center,{0} nie jest węzłem grupy. Wybierz węzeł grupy jako macierzyste centrum kosztów,
+{0} is not the default supplier for any items.,{0} nie jest domyślnym dostawcą dla żadnych przedmiotów.,
+{0} is required,{0} is wymagany,
+{0}: {1} must be less than {2},{0}: {1} musi być mniejsze niż {2},
+{} is an invalid Attendance Status.,{} to nieprawidłowy status frekwencji.,
+{} is required to generate E-Way Bill JSON,{} jest wymagane do wygenerowania E-Way Bill JSON,
+"Invalid lost reason {0}, please create a new lost reason","Nieprawidłowy utracony powód {0}, utwórz nowy utracony powód",
+Profit This Year,Zysk w tym roku,
+Total Expense,Łączny koszt,
+Total Expense This Year,Całkowity koszt w tym roku,
+Total Income,Całkowity przychód,
+Total Income This Year,Dochód ogółem w tym roku,
+Barcode,kod kreskowy,
+Bold,Pogrubienie,
+Center,Środek,
+Clear,Jasny,
+Comment,Komentarz,
+Comments,Komentarze,
+DocType,DocType,
+Download,Pobieranie,
+Left,Opuścił,
+Link,Połączyć,
+New,Nowy,
+Not Found,Nie znaleziono,
+Print,Wydrukować,
+Reference Name,Nazwa referencyjna,
+Refresh,Odśwież,
+Success,Sukces,
+Time,Czas,
+Value,Wartość,
+Actual,Rzeczywisty,
+Add to Cart,Dodaj do koszyka,
+Days Since Last Order,Dni od ostatniego zamówienia,
+In Stock,W magazynie,
+Loan Amount is mandatory,Kwota pożyczki jest obowiązkowa,
+Mode Of Payment,Rodzaj płatności,
+No students Found,Nie znaleziono studentów,
+Not in Stock,Brak na stanie,
+Please select a Customer,Proszę wybrać klienta,
+Printed On,wydrukowane na,
+Received From,Otrzymane od,
+Sales Person,Sprzedawca,
+To date cannot be before From date,"""Do daty"" nie może być terminem przed ""od daty""",
+Write Off,Odpis,
+{0} Created,{0} utworzone,
+Email Id,Identyfikator E-mail,
+No,Nie,
+Reference Doctype,DocType Odniesienia,
+User Id,Identyfikator użytkownika,
+Yes,tak,
+Actual ,Właściwy,
+Add to cart,Dodaj do koszyka,
+Budget,Budżet,
+Chart of Accounts,Plan kont,
+Customer database.,Baza danych klientów.,
+Days Since Last order,Dni od ostatniego zamówienia,
+Download as JSON,Pobierz jako JSON,
+End date can not be less than start date,"Data zakończenia nie może być wcześniejsza, niż data rozpoczęcia",
+For Default Supplier (Optional),Dla dostawcy domyślnego (opcjonalnie),
+From date cannot be greater than To date,Data od - nie może być późniejsza niż Data do,
+Group by,Grupuj według,
+In stock,W magazynie,
+Item name,Nazwa pozycji,
+Loan amount is mandatory,Kwota pożyczki jest obowiązkowa,
+Minimum Qty,Minimalna ilość,
+More details,Więcej szczegółów,
+Nature of Supplies,Natura dostaw,
+No Items found.,Nie znaleziono żadnych przedmiotów.,
+No employee found,Nie znaleziono pracowników,
+No students found,Nie znaleziono studentów,
+Not in stock,Brak na stanie,
+Not permitted,Nie dozwolone,
+Open Issues ,Otwarte kwestie,
+Open Projects ,Otwarte projekty,
+Open To Do ,Otwarty na uwagi,
+Operation Id,Operacja ID,
+Partially ordered,częściowo Zamówione,
+Please select company first,Najpierw wybierz firmę,
+Please select patient,Wybierz pacjenta,
+Printed On ,Nadrukowany na,
+Projected qty,Prognozowana ilość,
+Sales person,Sprzedawca,
+Serial No {0} Created,Stworzono nr seryjny {0},
+Source Location is required for the Asset {0},Lokalizacja źródła jest wymagana dla zasobu {0},
+Tax Id,Identyfikator podatkowy,
+To Time,Do czasu,
+To date cannot be before from date,To Date nie może być wcześniejsza niż From Date,
+Total Taxable value,Całkowita wartość podlegająca opodatkowaniu,
+Upcoming Calendar Events ,Nadchodzące wydarzenia kalendarzowe,
+Value or Qty,Wartość albo Ilość,
+Variance ,Zmienność,
+Variant of,Wariant,
+Write off,Odpis,
+hours,godziny,
+received from,otrzymane od,
+to,do,
+Cards,Karty,
+Percentage,Odsetek,
+Failed to setup defaults for country {0}. Please contact support@erpnext.com,Nie udało się skonfigurować wartości domyślnych dla kraju {0}. Skontaktuj się z support@erpnext.com,
+Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Wiersz # {0}: pozycja {1} nie jest przedmiotem serializowanym / partiami. Nie może mieć numeru seryjnego / numeru partii.,
+Please set {0},Ustaw {0},
+Please set {0},Ustaw {0},supplier
+Draft,Wersja robocza,"docstatus,=,0"
+Cancelled,Anulowany,"docstatus,=,2"
+Please setup Instructor Naming System in Education > Education Settings,Skonfiguruj system nazewnictwa instruktorów w sekcji Edukacja&gt; Ustawienia edukacji,
+Please set Naming Series for {0} via Setup > Settings > Naming Series,Ustaw Serie nazw dla {0} poprzez Ustawienia&gt; Ustawienia&gt; Serie nazw,
+UOM Conversion factor ({0} -> {1}) not found for item: {2},Nie znaleziono współczynnika konwersji UOM ({0} -&gt; {1}) dla elementu: {2},
+Item Code > Item Group > Brand,Kod pozycji&gt; Grupa produktów&gt; Marka,
+Customer > Customer Group > Territory,Klient&gt; Grupa klientów&gt; Terytorium,
+Supplier > Supplier Type,Dostawca&gt; Rodzaj dostawcy,
+Please setup Employee Naming System in Human Resource > HR Settings,Skonfiguruj system nazewnictwa pracowników w dziale Zasoby ludzkie&gt; Ustawienia HR,
+Please setup numbering series for Attendance via Setup > Numbering Series,Skonfiguruj serie numeracji dla frekwencji poprzez Ustawienia&gt; Serie numeracji,
+The value of {0} differs between Items {1} and {2},Wartość {0} różni się między elementami {1} i {2},
+Auto Fetch,Automatyczne pobieranie,
+Fetch Serial Numbers based on FIFO,Pobierz numery seryjne na podstawie FIFO,
+"Outward taxable supplies(other than zero rated, nil rated and exempted)","Dostawy podlegające opodatkowaniu zewnętrznemu (inne niż zerowe, zerowe i zwolnione)",
+"To allow different rates, disable the {0} checkbox in {1}.","Aby zezwolić na różne stawki, wyłącz {0} pole wyboru w {1}.",
+Current Odometer Value should be greater than Last Odometer Value {0},Bieżąca wartość drogomierza powinna być większa niż ostatnia wartość drogomierza {0},
+No additional expenses has been added,Nie dodano żadnych dodatkowych kosztów,
+Asset{} {assets_link} created for {},Zasób {} {asset_link} utworzony dla {},
+Row {}: Asset Naming Series is mandatory for the auto creation for item {},Wiersz {}: Seria nazewnictwa zasobów jest wymagana w przypadku automatycznego tworzenia elementu {},
+Assets not created for {0}. You will have to create asset manually.,Zasoby nie zostały utworzone dla {0}. Będziesz musiał utworzyć zasób ręcznie.,
+{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} ma zapisy księgowe w walucie {2} firmy {3}. Wybierz konto należności lub zobowiązania w walucie {2}.,
+Invalid Account,Nieważne konto,
+Purchase Order Required,Wymagane zamówienia kupna,
+Purchase Receipt Required,Wymagane potwierdzenie zakupu,
+Account Missing,Brak konta,
+Requested,Zamówiony,
+Partially Paid,Częściowo wypłacone,
+Invalid Account Currency,Nieprawidłowa waluta konta,
+"Row {0}: The item {1}, quantity must be positive number","Wiersz {0}: pozycja {1}, ilość musi być liczbą dodatnią",
+"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Ustaw {0} dla pozycji wsadowej {1}, która jest używana do ustawiania {2} podczas przesyłania.",
+Expiry Date Mandatory,Data wygaśnięcia jest obowiązkowa,
+Variant Item,Wariant pozycji,
+BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} i BOM 2 {1} nie powinny być takie same,
+Note: Item {0} added multiple times,Uwaga: element {0} został dodany wiele razy,
+YouTube,Youtube,
+Vimeo,Vimeo,
+Publish Date,Data publikacji,
+Duration,Trwanie,
+Advanced Settings,Zaawansowane ustawienia,
+Path,Ścieżka,
+Components,składniki,
+Verified By,Zweryfikowane przez,
+Invalid naming series (. missing) for {0},Nieprawidłowa seria nazw (brak.) Dla {0},
+Filter Based On,Filtruj na podstawie,
+Reqd by date,Wymagane według daty,
+Manufacturer Part Number <b>{0}</b> is invalid,Numer części producenta <b>{0}</b> jest nieprawidłowy,
+Invalid Part Number,Nieprawidłowy numer części,
+Select atleast one Social Media from Share on.,Wybierz co najmniej jeden serwis społecznościowy z Udostępnij na.,
+Invalid Scheduled Time,Nieprawidłowy zaplanowany czas,
+Length Must be less than 280.,Długość musi być mniejsza niż 280.,
+Error while POSTING {0},Błąd podczas WPISYWANIA {0},
+"Session not valid, Do you want to login?","Sesja nieważna, czy chcesz się zalogować?",
+Session Active,Sesja aktywna,
+Session Not Active. Save doc to login.,"Sesja nieaktywna. Zapisz dokument, aby się zalogować.",
+Error! Failed to get request token.,Błąd! Nie udało się uzyskać tokena żądania.,
+Invalid {0} or {1},Nieprawidłowy {0} lub {1},
+Error! Failed to get access token.,Błąd! Nie udało się uzyskać tokena dostępu.,
+Invalid Consumer Key or Consumer Secret Key,Nieprawidłowy klucz klienta lub tajny klucz klienta,
+Your Session will be expire in ,Twoja sesja wygaśnie za,
+ days.,dni.,
+Session is expired. Save doc to login.,"Sesja wygasła. Zapisz dokument, aby się zalogować.",
+Error While Uploading Image,Błąd podczas przesyłania obrazu,
+You Didn't have permission to access this API,Nie masz uprawnień dostępu do tego interfejsu API,
+Valid Upto date cannot be before Valid From date,Data Valid Upto nie może być wcześniejsza niż data Valid From,
+Valid From date not in Fiscal Year {0},Data ważności od nie w roku podatkowym {0},
+Valid Upto date not in Fiscal Year {0},Ważna data ważności nie w roku podatkowym {0},
+Group Roll No,Group Roll No,
+Maintain Same Rate Throughout Sales Cycle,Utrzymanie tej samej stawki przez cały cykl sprzedaży,
+"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Wiersz {1}: ilość ({0}) nie może być ułamkiem. Aby to umożliwić, wyłącz &#39;{2}&#39; w UOM {3}.",
+Must be Whole Number,Musi być liczbą całkowitą,
+Please setup Razorpay Plan ID,Skonfiguruj identyfikator planu Razorpay,
+Contact Creation Failed,Utworzenie kontaktu nie powiodło się,
+{0} already exists for employee {1} and period {2},{0} już istnieje dla pracownika {1} i okresu {2},
+Leaves Allocated,Liście przydzielone,
+Leaves Expired,Liście wygasły,
+Leave Without Pay does not match with approved {} records,Urlop bez wynagrodzenia nie zgadza się z zatwierdzonymi rekordami {},
+Income Tax Slab not set in Salary Structure Assignment: {0},Podatek dochodowy nie jest ustawiony w przypisaniu struktury wynagrodzenia: {0},
+Income Tax Slab: {0} is disabled,Płyta podatku dochodowego: {0} jest wyłączona,
+Income Tax Slab must be effective on or before Payroll Period Start Date: {0},Płyta podatku dochodowego musi obowiązywać w dniu rozpoczęcia okresu wypłaty wynagrodzenia lub wcześniej: {0},
+No leave record found for employee {0} on {1},Nie znaleziono rekordu urlopu dla pracownika {0} w dniu {1},
+Row {0}: {1} is required in the expenses table to book an expense claim.,"Wiersz {0}: {1} jest wymagany w tabeli wydatków, aby zarezerwować wniosek o zwrot wydatków.",
+Set the default account for the {0} {1},Ustaw domyślne konto dla {0} {1},
+(Half Day),(Połowa dnia),
+Income Tax Slab,Płyta podatku dochodowego,
+Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Wiersz nr {0}: nie można ustawić kwoty lub formuły dla składnika wynagrodzenia {1} ze zmienną opartą na wynagrodzeniu podlegającym opodatkowaniu,
+Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Wiersz nr {}: {} z {} powinien być {}. Zmodyfikuj konto lub wybierz inne konto.,
+Row #{}: Please asign task to a member.,Wiersz nr {}: Przydziel zadanie członkowi.,
+Process Failed,Proces nie powiódł się,
+Tally Migration Error,Błąd migracji Tally,
+Please set Warehouse in Woocommerce Settings,Ustaw Magazyn w Ustawieniach Woocommerce,
+Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Wiersz {0}: Magazyn dostaw ({1}) i Magazyn klienta ({2}) nie mogą być takie same,
+Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Wiersz {0}: Termin płatności w tabeli Warunki płatności nie może być wcześniejszy niż data księgowania,
+Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Nie można znaleźć {} dla elementu {}. Proszę ustawić to samo w pozycji Główny lub Ustawienia zapasów.,
+Row #{0}: The batch {1} has already expired.,Wiersz nr {0}: partia {1} już wygasła.,
+Start Year and End Year are mandatory,Rok rozpoczęcia i rok zakończenia są obowiązkowe,
+GL Entry,Wejście GL,
+Cannot allocate more than {0} against payment term {1},Nie można przydzielić więcej niż {0} na okres płatności {1},
+The root account {0} must be a group,Konto root {0} musi być grupą,
+Shipping rule not applicable for country {0} in Shipping Address,Reguła dostawy nie dotyczy kraju {0} w adresie dostawy,
+Get Payments from,Otrzymuj płatności od,
+Set Shipping Address or Billing Address,Ustaw adres wysyłki lub adres rozliczeniowy,
+Consultation Setup,Konfiguracja konsultacji,
+Fee Validity,Ważność opłaty,
+Laboratory Setup,Przygotowanie laboratorium,
+Dosage Form,Forma dawkowania,
+Records and History,Zapisy i historia,
+Patient Medical Record,Medyczny dokument medyczny pacjenta,
+Rehabilitation,Rehabilitacja,
+Exercise Type,Typ ćwiczenia,
+Exercise Difficulty Level,Poziom trudności ćwiczeń,
+Therapy Type,Rodzaj terapii,
+Therapy Plan,Plan terapii,
+Therapy Session,Sesja terapeutyczna,
+Motor Assessment Scale,Skala Oceny Motorycznej,
+[Important] [ERPNext] Auto Reorder Errors,[Ważne] [ERPNext] Błędy automatycznego ponownego zamawiania,
+"Regards,","Pozdrowienia,",
+The following {0} were created: {1},Utworzono następujące {0}: {1},
+Work Orders,Zlecenia pracy,
+The {0} {1} created sucessfully,{0} {1} został pomyślnie utworzony,
+Work Order cannot be created for following reason: <br> {0},Nie można utworzyć zlecenia pracy z następującego powodu:<br> {0},
+Add items in the Item Locations table,Dodaj pozycje w tabeli Lokalizacje pozycji,
+Update Current Stock,Zaktualizuj aktualne zapasy,
+"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Zachowaj próbkę na podstawie partii. Zaznacz opcję Ma nr partii, aby zachować próbkę elementu",
+Empty,Pusty,
+Currently no stock available in any warehouse,Obecnie nie ma zapasów w żadnym magazynie,
+BOM Qty,BOM Qty,
+Time logs are required for {0} {1},Dzienniki czasu są wymagane dla {0} {1},
+Total Completed Qty,Całkowita ukończona ilość,
+Qty to Manufacture,Ilość do wyprodukowania,
+Repay From Salary can be selected only for term loans,Spłata z wynagrodzenia może być wybrana tylko dla pożyczek terminowych,
+No valid Loan Security Price found for {0},Nie znaleziono prawidłowej ceny zabezpieczenia pożyczki dla {0},
+Loan Account and Payment Account cannot be same,Rachunek pożyczki i rachunek płatniczy nie mogą być takie same,
+Loan Security Pledge can only be created for secured loans,Zabezpieczenie pożyczki można ustanowić tylko w przypadku pożyczek zabezpieczonych,
+Social Media Campaigns,Kampanie w mediach społecznościowych,
+From Date can not be greater than To Date,Data początkowa nie może być większa niż data początkowa,
+Please set a Customer linked to the Patient,Ustaw klienta powiązanego z pacjentem,
+Customer Not Found,Nie znaleziono klienta,
+Please Configure Clinical Procedure Consumable Item in ,Skonfiguruj materiał eksploatacyjny do procedury klinicznej w,
+Missing Configuration,Brak konfiguracji,
+Out Patient Consulting Charge Item,Out Patient Consulting Charge Item,
+Inpatient Visit Charge Item,Opłata za wizyta stacjonarna,
+OP Consulting Charge,OP Consulting Charge,
+Inpatient Visit Charge,Opłata za wizytę stacjonarną,
+Appointment Status,Status spotkania,
+Test: ,Test:,
+Collection Details: ,Szczegóły kolekcji:,
+{0} out of {1},{0} z {1},
+Select Therapy Type,Wybierz typ terapii,
+{0} sessions completed,Ukończono {0} sesje,
+{0} session completed,Sesja {0} zakończona,
+ out of {0},z {0},
+Therapy Sessions,Sesje terapeutyczne,
+Add Exercise Step,Dodaj krok ćwiczenia,
+Edit Exercise Step,Edytuj krok ćwiczenia,
+Patient Appointments,Spotkania pacjentów,
+Item with Item Code {0} already exists,Przedmiot o kodzie pozycji {0} już istnieje,
+Registration Fee cannot be negative or zero,Opłata rejestracyjna nie może być ujemna ani zerowa,
+Configure a service Item for {0},Skonfiguruj usługę dla {0},
+Temperature: ,Temperatura:,
+Pulse: ,Puls:,
+Respiratory Rate: ,Częstość oddechów:,
+BP: ,BP:,
+BMI: ,BMI:,
+Note: ,Uwaga:,
+Check Availability,Sprawdź dostępność,
+Please select Patient first,Najpierw wybierz pacjenta,
+Please select a Mode of Payment first,Najpierw wybierz sposób płatności,
+Please set the Paid Amount first,Najpierw ustaw Kwotę do zapłaty,
+Not Therapies Prescribed,Nie przepisane terapie,
+There are no Therapies prescribed for Patient {0},Nie ma przepisanych terapii dla pacjenta {0},
+Appointment date and Healthcare Practitioner are Mandatory,Data wizyty i lekarz są obowiązkowe,
+No Prescribed Procedures found for the selected Patient,Nie znaleziono przepisanych procedur dla wybranego pacjenta,
+Please select a Patient first,Najpierw wybierz pacjenta,
+There are no procedure prescribed for ,Nie ma określonej procedury,
+Prescribed Therapies,Terapie przepisane,
+Appointment overlaps with ,Termin pokrywa się z,
+{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} ma zaplanowane spotkanie z {1} na {2} trwające {3} minut (y).,
+Appointments Overlapping,Nakładające się terminy,
+Consulting Charges: {0},Opłaty za konsultacje: {0},
+Appointment Cancelled. Please review and cancel the invoice {0},Spotkanie odwołane. Sprawdź i anuluj fakturę {0},
+Appointment Cancelled.,Spotkanie odwołane.,
+Fee Validity {0} updated.,Zaktualizowano ważność opłaty {0}.,
+Practitioner Schedule Not Found,Nie znaleziono harmonogramu lekarza,
+{0} is on a Half day Leave on {1},{0} korzysta z urlopu półdniowego dnia {1},
+{0} is on Leave on {1},{0} jest na urlopie na {1},
+{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} nie ma harmonogramu lekarzy. Dodaj go do lekarza,
+Healthcare Service Units,Jednostki opieki zdrowotnej,
+Complete and Consume,Uzupełnij i zużyj,
+Complete {0} and Consume Stock?,Uzupełnić {0} i zużyć zapasy?,
+Complete {0}?,Ukończono {0}?,
+Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,Ilość zapasów potrzebna do rozpoczęcia procedury nie jest dostępna w magazynie {0}. Czy chcesz zarejestrować wejście na giełdę?,
+{0} as on {1},{0} jak w dniu {1},
+Clinical Procedure ({0}):,Procedura kliniczna ({0}):,
+Please set Customer in Patient {0},Ustaw klienta jako pacjenta {0},
+Item {0} is not active,Przedmiot {0} nie jest aktywny,
+Therapy Plan {0} created successfully.,Plan terapii {0} został utworzony pomyślnie.,
+Symptoms: ,Objawy:,
+No Symptoms,Brak objawów,
+Diagnosis: ,Diagnoza:,
+No Diagnosis,Brak diagnozy,
+Drug(s) Prescribed.,Leki przepisane.,
+Test(s) Prescribed.,Test (y) przepisane.,
+Procedure(s) Prescribed.,Procedura (-y) zalecana (-e).,
+Counts Completed: {0},Liczenie zakończone: {0},
+Patient Assessment,Ocena stanu pacjenta,
+Assessments,Oceny,
+Heads (or groups) against which Accounting Entries are made and balances are maintained.,"Heads (lub grupy), przeciwko którym zapisy księgowe są i sald są utrzymywane.",
+Account Name,Nazwa konta,
+Inter Company Account,Konto firmowe Inter,
+Parent Account,Nadrzędne konto,
+Setting Account Type helps in selecting this Account in transactions.,Ustawienie Typu Konta pomaga w wyborze tego konta w transakcji.,
+Chargeable,Odpowedni do pobierania opłaty.,
+Rate at which this tax is applied,Stawka przy użyciu której ten podatek jest aplikowany,
+Frozen,Zamrożony,
+"If the account is frozen, entries are allowed to restricted users.","Jeśli konto jest zamrożone, zapisy mogą wykonywać tylko wyznaczone osoby.",
+Balance must be,Bilans powinien wynosić,
+Lft,Lft,
+Rgt,Rgt,
+Old Parent,Stary obiekt nadrzędny,
+Include in gross,Uwzględnij w brutto,
+Auditor,Audytor,
+Accounting Dimension,Wymiar księgowy,
+Dimension Name,Nazwa wymiaru,
+Dimension Defaults,Domyślne wymiary,
+Accounting Dimension Detail,Szczegóły wymiaru księgowości,
+Default Dimension,Domyślny wymiar,
+Mandatory For Balance Sheet,Obowiązkowe dla bilansu,
+Mandatory For Profit and Loss Account,Obowiązkowe dla rachunku zysków i strat,
+Accounting Period,Okres Księgowy,
+Period Name,Nazwa okresu,
+Closed Documents,Zamknięte dokumenty,
+Accounts Settings,Ustawienia Kont,
+Settings for Accounts,Ustawienia Konta,
+Make Accounting Entry For Every Stock Movement,Tworzenie Zapisów Księgowych dla każdej zmiany stanu Magazynu,
+Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Użytkownicy z tą rolą mogą ustawiać zamrożone konta i tworzyć / modyfikować wpisy księgowe dla zamrożonych kont,
+Determine Address Tax Category From,Określ kategorię podatku adresowego od,
+Over Billing Allowance (%),Over Billing Allowance (%),
+Check Supplier Invoice Number Uniqueness,"Sprawdź, czy numer faktury dostawcy jest unikalny",
+Make Payment via Journal Entry,Wykonywanie płatności za pośrednictwem Zapisów Księgowych dziennika,
+Unlink Payment on Cancellation of Invoice,Odłączanie Przedpłata na Anulowanie faktury,
+Book Asset Depreciation Entry Automatically,Automatycznie wprowadź wartość księgowania depozytu księgowego aktywów,
+Automatically Add Taxes and Charges from Item Tax Template,Automatycznie dodawaj podatki i opłaty z szablonu podatku od towarów,
+Automatically Fetch Payment Terms,Automatycznie pobierz warunki płatności,
+Show Payment Schedule in Print,Pokaż harmonogram płatności w druku,
+Currency Exchange Settings,Ustawienia wymiany walut,
+Allow Stale Exchange Rates,Zezwalaj na Stałe Kursy walut,
+Stale Days,Stale Dni,
+Report Settings,Ustawienia raportu,
+Use Custom Cash Flow Format,Użyj niestandardowego formatu przepływu środków pieniężnych,
+Allowed To Transact With,Zezwolono na zawieranie transakcji przy użyciu,
+SWIFT number,Numer swift,
+Branch Code,Kod oddziału,
+Address and Contact,Adres i Kontakt,
+Address HTML,Adres HTML,
+Contact HTML,HTML kontaktu,
+Data Import Configuration,Konfiguracja importu danych,
+Bank Transaction Mapping,Mapowanie transakcji bankowych,
+Plaid Access Token,Token dostępu do kratki,
+Company Account,Konto firmowe,
+Account Subtype,Podtyp konta,
+Is Default Account,Jest kontem domyślnym,
+Is Company Account,Jest kontem firmowym,
+Party Details,Strona Szczegóły,
+Account Details,Szczegóły konta,
+IBAN,IBAN,
+Bank Account No,Nr konta bankowego,
+Integration Details,Szczegóły integracji,
+Integration ID,Identyfikator integracji,
+Last Integration Date,Ostatnia data integracji,
+Change this date manually to setup the next synchronization start date,"Zmień tę datę ręcznie, aby ustawić następną datę rozpoczęcia synchronizacji",
+Mask,Maska,
+Bank Account Subtype,Podtyp konta bankowego,
+Bank Account Type,Typ konta bankowego,
+Bank Guarantee,Gwarancja bankowa,
+Bank Guarantee Type,Rodzaj gwarancji bankowej,
+Receiving,Odbieranie,
+Providing,Że,
+Reference Document Name,Nazwa dokumentu referencyjnego,
+Validity in Days,Ważność w dniach,
+Bank Account Info,Informacje o koncie bankowym,
+Clauses and Conditions,Klauzule i warunki,
+Other Details,Inne szczegóły,
+Bank Guarantee Number,Numer Gwarancji Bankowej,
+Name of Beneficiary,Imię beneficjenta,
+Margin Money,Marża pieniężna,
+Charges Incurred,Naliczone opłaty,
+Fixed Deposit Number,Naprawiono numer depozytu,
+Account Currency,Waluta konta,
+Select the Bank Account to reconcile.,Wybierz konto bankowe do uzgodnienia.,
+Include Reconciled Entries,Dołącz uzgodnione wpisy,
+Get Payment Entries,Uzyskaj Wpisy płatności,
+Payment Entries,Wpisy płatności,
+Update Clearance Date,Aktualizacja daty rozliczenia,
+Bank Reconciliation Detail,Uzgodnienia z wyciągiem bankowym - szczegóły,
+Cheque Number,Numer czeku,
+Cheque Date,Data czeku,
+Statement Header Mapping,Mapowanie nagłówków instrukcji,
+Statement Headers,Nagłówki instrukcji,
+Transaction Data Mapping,Mapowanie danych transakcji,
+Mapped Items,Zmapowane elementy,
+Bank Statement Settings Item,Ustawienia wyciągu bankowego Pozycja,
+Mapped Header,Mapowany nagłówek,
+Bank Header,Nagłówek banku,
+Bank Statement Transaction Entry,Wpis transakcji z wyciągu bankowego,
+Bank Transaction Entries,Wpisy transakcji bankowych,
+New Transactions,Nowe transakcje,
+Match Transaction to Invoices,Dopasuj transakcję do faktur,
+Create New Payment/Journal Entry,Utwórz nową pozycję płatności / księgowania,
+Submit/Reconcile Payments,Wpisz/Uzgodnij płatności,
+Matching Invoices,Dopasowanie faktur,
+Payment Invoice Items,Faktury z płatności,
+Reconciled Transactions,Uzgodnione transakcje,
+Bank Statement Transaction Invoice Item,Wyciąg z rachunku bankowego,
+Payment Description,Opis płatności,
+Invoice Date,Data faktury,
+invoice,faktura,
+Bank Statement Transaction Payment Item,Wyciąg z transakcji bankowych,
+outstanding_amount,pozostająca kwota,
+Payment Reference,Referencje płatności,
+Bank Statement Transaction Settings Item,Ustawienia transakcji bankowych Pozycja,
+Bank Data,Dane bankowe,
+Mapped Data Type,Zmapowany typ danych,
+Mapped Data,Zmapowane dane,
+Bank Transaction,Transakcja bankowa,
+ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
+Transaction ID,Identyfikator transakcji,
+Unallocated Amount,Kwota nieprzydzielone,
+Field in Bank Transaction,Pole w transakcji bankowej,
+Column in Bank File,Kolumna w pliku banku,
+Bank Transaction Payments,Płatności transakcji bankowych,
+Control Action,Działanie kontrolne,
+Applicable on Material Request,Obowiązuje na wniosek materiałowy,
+Action if Annual Budget Exceeded on MR,"Działanie, jeśli budżet roczny przekroczy MR",
+Warn,Ostrzeż,
+Ignore,Ignoruj,
+Action if Accumulated Monthly Budget Exceeded on MR,"Działanie, jeżeli skumulowany budżet miesięczny przekroczył MR",
+Applicable on Purchase Order,Obowiązuje w przypadku zamówienia zakupu,
+Action if Annual Budget Exceeded on PO,"Działanie, jeśli budżet roczny został przekroczony dla zamówienia",
+Action if Accumulated Monthly Budget Exceeded on PO,"Działanie, jeśli skumulowany miesięczny budżet został przekroczony dla zamówienia",
+Applicable on booking actual expenses,Obowiązuje przy rezerwacji rzeczywistych wydatków,
+Action if Annual Budget Exceeded on Actual,"Działanie, jeśli budżet roczny przekroczyłby rzeczywisty",
+Action if Accumulated Monthly Budget Exceeded on Actual,"Działanie, jeżeli skumulowany budżet miesięczny przekroczył rzeczywisty",
+Budget Accounts,Rachunki ekonomiczne,
+Budget Account,Budżet Konta,
+Budget Amount,budżet Kwota,
+ACC-CF-.YYYY.-,ACC-CF-.RRRR.-,
+Received Date,Data Otrzymania,
+Quarter,Kwartał,
+I,ja,
+II,II,
+III,III,
+IV,IV,
+Invoice No,Nr faktury,
+Cash Flow Mapper,Mapper przepływu gotówki,
+Section Name,Nazwa sekcji,
+Section Header,Nagłówek sekcji,
+Section Leader,Kierownik sekcji,
+e.g Adjustments for:,np. korekty dla:,
+Section Subtotal,Podsuma sekcji,
+Section Footer,Sekcja stopki,
+Position,Pozycja,
+Cash Flow Mapping,Mapowanie przepływów pieniężnych,
+Select Maximum Of 1,Wybierz Maksimum 1,
+Is Finance Cost,Koszt finansowy,
+Is Working Capital,Jest kapitałem obrotowym,
+Is Finance Cost Adjustment,Czy korekta kosztów finansowych,
+Is Income Tax Liability,Jest odpowiedzialnością z tytułu podatku dochodowego,
+Is Income Tax Expense,Jest kosztem podatku dochodowego,
+Cash Flow Mapping Accounts,Konta mapowania przepływów pieniężnych,
+account,Konto,
+Cash Flow Mapping Template,Szablon mapowania przepływów pieniężnych,
+Cash Flow Mapping Template Details,Szczegóły szablonu mapowania przepływu gotówki,
+POS-CLO-,POS-CLO-,
+Custody,Opieka,
+Net Amount,Kwota netto,
+Cashier Closing Payments,Kasjer Zamykanie płatności,
+Chart of Accounts Importer,Importer planu kont,
+Import Chart of Accounts from a csv file,Importuj plan kont z pliku csv,
+Attach custom Chart of Accounts file,Dołącz niestandardowy plik planu kont,
+Chart Preview,Podgląd wykresu,
+Chart Tree,Drzewo wykresów,
+Cheque Print Template,Sprawdź Szablon druku,
+Has Print Format,Ma format wydruku,
+Primary Settings,Ustawienia podstawowe,
+Cheque Size,Czek Rozmiar,
+Regular,Regularny,
+Starting position from top edge,stanowisko od górnej krawędzi Zaczynając,
+Cheque Width,Czek Szerokość,
+Cheque Height,Czek Wysokość,
+Scanned Cheque,zeskanowanych Czek,
+Is Account Payable,Czy Account Payable,
+Distance from top edge,Odległość od górnej krawędzi,
+Distance from left edge,Odległość od lewej krawędzi,
+Message to show,Wiadomość pokazać,
+Date Settings,Data Ustawienia,
+Starting location from left edge,Zaczynając od lewej krawędzi lokalizację,
+Payer Settings,Ustawienia płatnik,
+Width of amount in word,Szerokość kwoty w słowie,
+Line spacing for amount in words,Odstępy między wierszami dla kwoty w słowach,
+Amount In Figure,Kwota Na rysunku,
+Signatory Position,Sygnatariusz Pozycja,
+Closed Document,Zamknięty dokument,
+Track separate Income and Expense for product verticals or divisions.,Śledź oddzielnie przychody i koszty dla branż produktowych lub oddziałów.,
+Cost Center Name,Nazwa Centrum Kosztów,
+Parent Cost Center,Nadrzędny dział kalkulacji kosztów,
+lft,lft,
+rgt,rgt,
+Coupon Code,Kod kuponu,
+Coupon Name,Nazwa kuponu,
+"e.g. ""Summer Holiday 2019 Offer 20""",np. „Oferta na wakacje 2019 r. 20”,
+Coupon Type,Rodzaj kuponu,
+Promotional,Promocyjny,
+Gift Card,Karta podarunkowa,
+unique e.g. SAVE20  To be used to get discount,unikatowy np. SAVE20 Do wykorzystania w celu uzyskania rabatu,
+Validity and Usage,Ważność i użycie,
+Valid From,Ważne od,
+Valid Upto,Valid Upto,
+Maximum Use,Maksymalne wykorzystanie,
+Used,Używany,
+Coupon Description,Opis kuponu,
+Discounted Invoice,Zniżka na fakturze,
+Debit to,Obciąż do,
+Exchange Rate Revaluation,Przeszacowanie kursu wymiany,
+Get Entries,Uzyskaj wpisy,
+Exchange Rate Revaluation Account,Rachunek przeszacowania kursu wymiany,
+Total Gain/Loss,Całkowity wzrost / strata,
+Balance In Account Currency,Waluta konta w walucie,
+Current Exchange Rate,Aktualny kurs wymiany,
+Balance In Base Currency,Saldo w walucie podstawowej,
+New Exchange Rate,Nowy kurs wymiany,
+New Balance In Base Currency,Nowe saldo w walucie podstawowej,
+Gain/Loss,Zysk / strata,
+**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Rok finansowy** reprezentuje rok finansowy. Wszystkie zapisy księgowe oraz inne znaczące transakcje są śledzone przed ** roku podatkowego **.,
+Year Name,Nazwa roku,
+"For e.g. 2012, 2012-13","np. 2012, 2012-13",
+Year Start Date,Data początku roku,
+Year End Date,Data końca roku,
+Companies,Firmy,
+Auto Created,Automatycznie utworzone,
+Stock User,Użytkownik magazynu,
+Fiscal Year Company,Rok podatkowy firmy,
+Debit Amount,Kwota Debit,
+Credit Amount,Kwota kredytu,
+Debit Amount in Account Currency,Kwota debetową w walucie rachunku,
+Credit Amount in Account Currency,Kwota kredytu w walucie rachunku,
+Voucher Detail No,Nr Szczegółu Bonu,
+Is Opening,Otwiera się,
+Is Advance,Zaawansowany proces,
+To Rename,Aby zmienić nazwę,
+GST Account,Konto GST,
+CGST Account,Konto CGST,
+SGST Account,Konto SGST,
+IGST Account,Konto IGST,
+CESS Account,Konto CESS,
+Loan Start Date,Data rozpoczęcia pożyczki,
+Loan Period (Days),Okres pożyczki (dni),
+Loan End Date,Data zakończenia pożyczki,
+Bank Charges,Opłaty bankowe,
+Short Term Loan Account,Konto pożyczki krótkoterminowej,
+Bank Charges Account,Rachunek opłat bankowych,
+Accounts Receivable Credit Account,Rachunek kredytowy należności,
+Accounts Receivable Discounted Account,Konto z rabatem należności,
+Accounts Receivable Unpaid Account,Niezapłacone konto należności,
+Item Tax Template,Szablon podatku od towarów,
+Tax Rates,Wysokość podatków,
+Item Tax Template Detail,Szczegóły szablonu podatku od towarów,
+Entry Type,Rodzaj wpisu,
+Inter Company Journal Entry,Dziennik firmy Inter Company,
+Bank Entry,Operacja bankowa,
+Cash Entry,Wpis gotówkowy,
+Credit Card Entry,Karta kredytowa,
+Contra Entry,Odpis aktualizujący,
+Excise Entry,Akcyza Wejścia,
+Write Off Entry,Odpis,
+Opening Entry,Wpis początkowy,
+ACC-JV-.YYYY.-,ACC-JV-.RRRR.-,
+Accounting Entries,Zapisy księgowe,
+Total Debit,Całkowita kwota debetu,
+Total Credit,Całkowita kwota kredytu,
+Difference (Dr - Cr),Różnica (Dr - Cr),
+Make Difference Entry,Wprowadź różnicę,
+Total Amount Currency,Suma Waluta Kwota,
+Total Amount in Words,Wartość całkowita słownie,
+Remark,Uwaga,
+Paid Loan,Płatna pożyczka,
+Inter Company Journal Entry Reference,Wpis w dzienniku firmy Inter Company,
+Write Off Based On,Odpis bazowano na,
+Get Outstanding Invoices,Uzyskaj zaległą fakturę,
+Write Off Amount,Kwota odpisu,
+Printing Settings,Ustawienia drukowania,
+Pay To / Recd From,Zapłać / Rachunek od,
+Payment Order,Zlecenie płatnicze,
+Subscription Section,Sekcja subskrypcji,
+Journal Entry Account,Konto zapisu,
+Account Balance,Bilans konta,
+Party Balance,Bilans Grupy,
+Accounting Dimensions,Wymiary księgowe,
+If Income or Expense,Jeśli przychód lub koszt,
+Exchange Rate,Kurs wymiany,
+Debit in Company Currency,Debet w firmie Waluta,
+Credit in Company Currency,Kredyt w walucie Spółki,
+Payroll Entry,Wpis o płace,
+Employee Advance,Advance pracownika,
+Reference Due Date,Referencyjny termin płatności,
+Loyalty Program Tier,Poziom programu lojalnościowego,
+Redeem Against,Zrealizuj przeciw,
+Expiry Date,Data ważności,
+Loyalty Point Entry Redemption,Punkt wejścia do punktu lojalnościowego,
+Redemption Date,Data wykupu,
+Redeemed Points,Wykorzystane punkty,
+Loyalty Program Name,Nazwa programu lojalnościowego,
+Loyalty Program Type,Typ programu lojalnościowego,
+Single Tier Program,Program dla jednego poziomu,
+Multiple Tier Program,Program wielopoziomowy,
+Customer Territory,Terytorium klienta,
+Auto Opt In (For all customers),Automatyczne optowanie (dla wszystkich klientów),
+Collection Tier,Poziom kolekcji,
+Collection Rules,Zasady zbierania,
+Redemption,Odkupienie,
+Conversion Factor,Współczynnik konwersji,
+1 Loyalty Points = How much base currency?,1 punkty lojalnościowe = ile waluty bazowej?,
+Expiry Duration (in days),Okres ważności (w dniach),
+Help Section,Sekcja pomocy,
+Loyalty Program Help,Pomoc programu lojalnościowego,
+Loyalty Program Collection,Kolekcja programu lojalnościowego,
+Tier Name,Nazwa warstwy,
+Minimum Total Spent,Minimalna łączna kwota wydana,
+Collection Factor (=1 LP),Współczynnik zbierania (= 1 LP),
+For how much spent = 1 Loyalty Point,Za ile zużytego = 1 punkt lojalnościowy,
+Mode of Payment Account,Konto księgowe dla tego rodzaju płatności,
+Default Account,Domyślne konto,
+Default account will be automatically updated in POS Invoice when this mode is selected.,Domyślne konto zostanie automatycznie zaktualizowane na fakturze POS po wybraniu tego trybu.,
+**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,"** Miesięczna Dystrybucja ** pomaga rozłożyć budżet/cel w miesiącach, jeśli masz okresowość w firmie.",
+Distribution Name,Nazwa Dystrybucji,
+Name of the Monthly Distribution,Nazwa dystrybucji miesięcznej,
+Monthly Distribution Percentages,Miesięczne Procenty Dystrybucja,
+Monthly Distribution Percentage,Miesięczny rozkład procentowy,
+Percentage Allocation,Przydział Procentowy,
+Create Missing Party,Utwórz brakującą imprezę,
+Create missing customer or supplier.,Utwórz brakującego klienta lub dostawcę.,
+Opening Invoice Creation Tool Item,Otwieranie narzędzia tworzenia faktury,
+Temporary Opening Account,Tymczasowe konto otwarcia,
+Party Account,Konto Grupy,
+Type of Payment,Rodzaj płatności,
+ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
+Receive,Odbierać,
+Internal Transfer,Transfer wewnętrzny,
+Payment Order Status,Status zlecenia płatniczego,
+Payment Ordered,Płatność zamówiona,
+Payment From / To,Płatność Od / Do,
+Company Bank Account,Konto bankowe firmy,
+Party Bank Account,Party Bank Account,
+Account Paid From,Konto do płatności,
+Account Paid To,Konto do zapłaty,
+Paid Amount (Company Currency),Zapłacona kwota (waluta firmy),
+Received Amount,Kwota otrzymana,
+Received Amount (Company Currency),Otrzymaną kwotą (Spółka waluty),
+Get Outstanding Invoice,Uzyskaj wyjątkową fakturę,
+Payment References,Odniesienia płatności,
+Writeoff,Writeoff,
+Total Allocated Amount,Łączna kwota przyznanego wsparcia,
+Total Allocated Amount (Company Currency),Łączna kwota przyznanego wsparcia (Spółka waluty),
+Set Exchange Gain / Loss,Ustaw Exchange Zysk / strata,
+Difference Amount (Company Currency),Różnica Kwota (waluta firmy),
+Write Off Difference Amount,Różnica Kwota odpisuje,
+Deductions or Loss,Odliczenia lub strata,
+Payment Deductions or Loss,Odliczenia płatności lub strata,
+Cheque/Reference Date,Czek / Reference Data,
+Payment Entry Deduction,Płatność Wejście Odliczenie,
+Payment Entry Reference,Wejście Płatność referencyjny,
+Allocated,Przydzielone,
+Payment Gateway Account,Płatność konto Brama,
+Payment Account,Konto Płatność,
+Default Payment Request Message,Domyślnie Płatność Zapytanie Wiadomość,
+PMO-,PMO-,
+Payment Order Type,Typ zlecenia płatniczego,
+Payment Order Reference,Referencje dotyczące płatności,
+Bank Account Details,Szczegóły konta bankowego,
+Payment Reconciliation,Uzgodnienie płatności,
+Receivable / Payable Account,Konto Należności / Zobowiązań,
+Bank / Cash Account,Rachunek Bankowy/Kasowy,
+From Invoice Date,Od daty faktury,
+To Invoice Date,Aby Data faktury,
+Minimum Invoice Amount,Minimalna kwota faktury,
+Maximum Invoice Amount,Maksymalna kwota faktury,
+System will fetch all the entries if limit value is zero.,"System pobierze wszystkie wpisy, jeśli wartość graniczna wynosi zero.",
+Get Unreconciled Entries,Pobierz Wpisy nieuzgodnione,
+Unreconciled Payment Details,Szczegóły płatności nieuzgodnione,
+Invoice/Journal Entry Details,Szczegóły Faktury / Wpisu dziennika,
+Payment Reconciliation Invoice,Płatność Wyrównawcza Faktury,
+Invoice Number,Numer faktury,
+Payment Reconciliation Payment,Płatność Wyrównawcza Płatności,
+Reference Row,Odniesienie Row,
+Allocated amount,Przyznana kwota,
+Payment Request Type,Typ żądania płatności,
+Outward,Zewnętrzny,
+Inward,Wewnętrzny,
+ACC-PRQ-.YYYY.-,ACC-PRQ-.RRRR.-,
+Transaction Details,szczegóły transakcji,
+Amount in customer's currency,Kwota w walucie klienta,
+Is a Subscription,Jest subskrypcją,
+Transaction Currency,walucie transakcji,
+Subscription Plans,Plany subskrypcji,
+SWIFT Number,Numer SWIFT,
+Recipient Message And Payment Details,Odbiorca wiadomości i szczegóły płatności,
+Make Sales Invoice,Nowa faktura sprzedaży,
+Mute Email,Wyciszenie email,
+payment_url,payment_url,
+Payment Gateway Details,Payment Gateway Szczegóły,
+Payment Schedule,Harmonogram płatności,
+Invoice Portion,Fragment faktury,
+Payment Amount,Kwota płatności,
+Payment Term Name,Nazwa terminu płatności,
+Due Date Based On,Termin wykonania oparty na,
+Day(s) after invoice date,Dzień (dni) po dacie faktury,
+Day(s) after the end of the invoice month,Dzień (dni) po zakończeniu miesiąca faktury,
+Month(s) after the end of the invoice month,Miesiąc (y) po zakończeniu miesiąca faktury,
+Credit Months,Miesiące kredytowe,
+Allocate Payment Based On Payment Terms,Przydziel płatność na podstawie warunków płatności,
+"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Jeśli to pole wyboru jest zaznaczone, zapłacona kwota zostanie podzielona i przydzielona zgodnie z kwotami w harmonogramie płatności dla każdego terminu płatności",
+Payment Terms Template Detail,Warunki płatności Szczegóły szablonu,
+Closing Fiscal Year,Zamknięcie roku fiskalnego,
+"The account head under Liability or Equity, in which Profit/Loss will be booked","Głowica konto ramach odpowiedzialności lub kapitałowe, w których zysk / strata będzie zarezerwowane",
+POS Customer Group,POS Grupa klientów,
+POS Field,Pole POS,
+POS Item Group,POS Pozycja Grupy,
+Company Address,adres spółki,
+Update Stock,Aktualizuj Stan,
+Ignore Pricing Rule,Ignoruj zasadę ustalania cen,
+Applicable for Users,Dotyczy użytkowników,
+Sales Invoice Payment,Faktura sprzedaży Płatność,
+Item Groups,Pozycja Grupy,
+Only show Items from these Item Groups,Pokazuj tylko przedmioty z tych grup przedmiotów,
+Customer Groups,Grupy klientów,
+Only show Customer of these Customer Groups,Pokazuj tylko klientów tych grup klientów,
+Write Off Account,Konto Odpisu,
+Write Off Cost Center,Centrum Kosztów Odpisu,
+Account for Change Amount,Konto dla zmiany kwoty,
+Taxes and Charges,Podatki i opłaty,
+Apply Discount On,Zastosuj RABAT,
+POS Profile User,Użytkownik profilu POS,
+Apply On,Zastosuj Na,
+Price or Product Discount,Rabat na cenę lub produkt,
+Apply Rule On Item Code,Zastosuj regułę do kodu towaru,
+Apply Rule On Item Group,Zastosuj regułę dla grupy pozycji,
+Apply Rule On Brand,Zastosuj regułę do marki,
+Mixed Conditions,Warunki mieszane,
+Conditions will be applied on all the selected items combined. ,Warunki zostaną zastosowane do wszystkich wybranych elementów łącznie.,
+Is Cumulative,Jest kumulatywny,
+Coupon Code Based,Na podstawie kodu kuponu,
+Discount on Other Item,Rabat na inny przedmiot,
+Apply Rule On Other,Zastosuj regułę do innych,
+Party Information,Informacje o imprezie,
+Quantity and Amount,Ilość i kwota,
+Min Qty,Min. ilość,
+Max Qty,Maks. Ilość,
+Min Amt,Min Amt,
+Max Amt,Max Amt,
+Period Settings,Ustawienia okresu,
+Margin Type,margines Rodzaj,
+Margin Rate or Amount,Margines szybkości lub wielkości,
+Price Discount Scheme,System rabatów cenowych,
+Rate or Discount,Stawka lub zniżka,
+Discount Percentage,Procent zniżki,
+Discount Amount,Wartość zniżki,
+For Price List,Dla Listy Cen,
+Product Discount Scheme,Program rabatów na produkty,
+Same Item,Ten sam przedmiot,
+Free Item,Bezpłatny przedmiot,
+Threshold for Suggestion,Próg dla sugestii,
+System will notify to increase or decrease quantity or amount ,System powiadomi o zwiększeniu lub zmniejszeniu ilości lub ilości,
+"Higher the number, higher the priority","Im wyższa liczba, wyższy priorytet",
+Apply Multiple Pricing Rules,Zastosuj wiele zasad ustalania cen,
+Apply Discount on Rate,Zastosuj zniżkę na stawkę,
+Validate Applied Rule,Sprawdź poprawność zastosowanej reguły,
+Rule Description,Opis reguły,
+Pricing Rule Help,Pomoc dotycząca ustalania cen,
+Promotional Scheme Id,Program promocyjny Id,
+Promotional Scheme,Program promocyjny,
+Pricing Rule Brand,Zasady ustalania ceny marki,
+Pricing Rule Detail,Szczegóły reguły cenowej,
+Child Docname,Nazwa dziecka,
+Rule Applied,Stosowana reguła,
+Pricing Rule Item Code,Kod pozycji reguły cenowej,
+Pricing Rule Item Group,Grupa pozycji Reguły cenowe,
+Price Discount Slabs,Płyty z rabatem cenowym,
+Promotional Scheme Price Discount,Zniżka cenowa programu promocyjnego,
+Product Discount Slabs,Płyty z rabatem na produkty,
+Promotional Scheme Product Discount,Rabat na program promocyjny,
+Min Amount,Min. Kwota,
+Max Amount,Maksymalna kwota,
+Discount Type,Typ rabatu,
+ACC-PINV-.YYYY.-,ACC-PINV-.RRRR.-,
+Tax Withholding Category,Kategoria odwrotnego obciążenia,
+Edit Posting Date and Time,Zmodyfikuj datę i czas dokumentu,
+Is Paid,Zapłacone,
+Is Return (Debit Note),Jest zwrotem (nota debetowa),
+Apply Tax Withholding Amount,Zastosuj kwotę podatku u źródła,
+Accounting Dimensions ,Wymiary księgowe,
+Supplier Invoice Details,Dostawca Szczegóły faktury,
+Supplier Invoice Date,Data faktury dostawcy,
+Return Against Purchase Invoice,Powrót Against dowodu zakupu,
+Select Supplier Address,Wybierz adres dostawcy,
+Contact Person,Osoba kontaktowa,
+Select Shipping Address,Wybierz adres dostawy,
+Currency and Price List,Waluta i cennik,
+Price List Currency,Waluta cennika,
+Price List Exchange Rate,Cennik Kursowy,
+Set Accepted Warehouse,Ustaw przyjęty magazyn,
+Rejected Warehouse,Odrzucony Magazyn,
+Warehouse where you are maintaining stock of rejected items,Magazyn w którym zarządzasz odrzuconymi przedmiotami,
+Raw Materials Supplied,Dostarczone surowce,
+Supplier Warehouse,Magazyn dostawcy,
+Pricing Rules,Zasady ustalania cen,
+Supplied Items,Dostarczone przedmioty,
+Total (Company Currency),Razem (Spółka Waluta),
+Net Total (Company Currency),Łączna wartość netto (waluta firmy),
+Total Net Weight,Całkowita waga netto,
+Shipping Rule,Zasada dostawy,
+Purchase Taxes and Charges Template,Szablon podatków i opłat związanych z zakupami,
+Purchase Taxes and Charges,Podatki i opłaty kupna,
+Tax Breakup,Podział podatków,
+Taxes and Charges Calculation,Obliczanie podatków i opłat,
+Taxes and Charges Added (Company Currency),Dodano podatki i opłaty (Firmowe),
+Taxes and Charges Deducted (Company Currency),Podatki i opłaty potrącone (Firmowe),
+Total Taxes and Charges (Company Currency),Łączna kwota podatków i opłat (wg Firmy),
+Taxes and Charges Added,Dodano podatki i opłaty,
+Taxes and Charges Deducted,Podatki i opłaty potrącenia,
+Total Taxes and Charges,Łączna kwota podatków i opłat,
+Additional Discount,Dodatkowe Zniżki,
+Apply Additional Discount On,Zastosuj dodatkowe zniżki na,
+Additional Discount Amount (Company Currency),Dodatkowa kwota rabatu (waluta firmy),
+Additional Discount Percentage,Dodatkowy procent rabatu,
+Additional Discount Amount,Dodatkowa kwota rabatu,
+Grand Total (Company Currency),Całkowita suma (w walucie firmy),
+Rounding Adjustment (Company Currency),Korekta zaokrąglenia (waluta firmy),
+Rounded Total (Company Currency),Końcowa zaokrąglona kwota (waluta firmy),
+In Words (Company Currency),Słownie,
+Rounding Adjustment,Dopasowanie zaokrąglania,
+In Words,Słownie,
+Total Advance,Całość zaliczka,
+Disable Rounded Total,Wyłącz Zaokrąglanie Sumy,
+Cash/Bank Account,Konto Gotówka / Bank,
+Write Off Amount (Company Currency),Kwota Odpisu (Waluta Firmy),
+Set Advances and Allocate (FIFO),Ustaw Advances and Allocate (FIFO),
+Get Advances Paid,Uzyskaj opłacone zaliczki,
+Advances,Zaliczki,
+Terms,Warunki,
+Terms and Conditions1,Warunki1,
+Group same items,Grupa same pozycje,
+Print Language,Język drukowania,
+"Once set, this invoice will be on hold till the set date",Po ustawieniu faktura ta będzie zawieszona do wyznaczonej daty,
+Credit To,Kredytowane konto (Ma),
+Party Account Currency,Partia konto Waluta,
+Against Expense Account,Konto wydatków,
+Inter Company Invoice Reference,Numer referencyjny faktury firmy,
+Is Internal Supplier,Dostawca wewnętrzny,
+Start date of current invoice's period,Początek okresu rozliczeniowego dla faktury,
+End date of current invoice's period,Data zakończenia okresu bieżącej faktury,
+Update Auto Repeat Reference,Zaktualizuj Auto Repeat Reference,
+Purchase Invoice Advance,Wyślij Fakturę Zaliczkową / Proformę,
+Purchase Invoice Item,Przedmiot Faktury Zakupu,
+Quantity and Rate,Ilość i Wskaźnik,
+Received Qty,Otrzymana ilość,
+Accepted Qty,Akceptowana ilość,
+Rejected Qty,odrzucony szt,
+UOM Conversion Factor,Współczynnik konwersji jednostki miary,
+Discount on Price List Rate (%),Zniżka Cennik Oceń (%),
+Price List Rate (Company Currency),Wartość w cenniku (waluta firmy),
+Rate ,Stawka,
+Rate (Company Currency),Stawka (waluta firmy),
+Amount (Company Currency),Kwota (Waluta firmy),
+Is Free Item,Jest darmowym przedmiotem,
+Net Rate,Cena netto,
+Net Rate (Company Currency),Cena netto (Spółka Waluta),
+Net Amount (Company Currency),Kwota netto (Waluta Spółki),
+Item Tax Amount Included in Value,Pozycja Kwota podatku zawarta w wartości,
+Landed Cost Voucher Amount,Kwota Kosztu Voucheru,
+Raw Materials Supplied Cost,Koszt dostarczonych surowców,
+Accepted Warehouse,Przyjęty magazyn,
+Serial No,Nr seryjny,
+Rejected Serial No,Odrzucony Nr Seryjny,
+Expense Head,Szef Wydatków,
+Is Fixed Asset,Czy trwałego,
+Asset Location,Lokalizacja zasobów,
+Deferred Expense,Odroczony koszt,
+Deferred Expense Account,Rachunek odroczonego obciążenia,
+Service Stop Date,Data zatrzymania usługi,
+Enable Deferred Expense,Włącz odroczony koszt,
+Service Start Date,Data rozpoczęcia usługi,
+Service End Date,Data zakończenia usługi,
+Allow Zero Valuation Rate,Zezwalaj na zerową wartość wyceny,
+Item Tax Rate,Stawka podatku dla tej pozycji,
+Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Podatki pobierane z tabeli szczegółów mistrza poz jako ciąg znaków i przechowywane w tej dziedzinie.\n Służy do podatkach i opłatach,
+Purchase Order Item,Przedmiot Zamówienia Kupna,
+Purchase Receipt Detail,Szczegóły zakupu paragonu,
+Item Weight Details,Szczegóły dotyczące wagi przedmiotu,
+Weight Per Unit,Waga na jednostkę,
+Total Weight,Waga całkowita,
+Weight UOM,Waga jednostkowa,
+Page Break,Znak końca strony,
+Consider Tax or Charge for,Rozwać Podatek albo Opłatę za,
+Valuation and Total,Wycena i kwota całkowita,
+Valuation,Wycena,
+Add or Deduct,Dodatki lub Potrącenia,
+Deduct,Odlicz,
+On Item Quantity,Na ilość przedmiotu,
+Reference Row #,Rząd Odniesienia #,
+Is this Tax included in Basic Rate?,Czy podatek wliczony jest w opłaty?,
+"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Jeśli zaznaczone, kwota podatku zostanie wliczona w cenie Drukuj Cenę / Drukuj Podsumowanie",
+Account Head,Konto główne,
+Tax Amount After Discount Amount,Kwota podatku po odliczeniu wysokości rabatu,
+Item Wise Tax Detail ,Mądre informacje podatkowe dotyczące przedmiotu,
+"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.\n10. Add or Deduct: Whether you want to add or deduct the tax.","Standardowy szablon podatek, który może być stosowany do wszystkich transakcji kupna. Ten szablon może zawierać listę szefów podatkowych, a także innych głów wydatków jak ""Żegluga"", ""Ubezpieczenia"", ""Obsługa"" itp \n\n #### Uwaga \n\n stawki podatku zdefiniować tutaj będzie standardowa stawka podatku w odniesieniu do wszystkich pozycji ** **. Jeśli istnieją ** Pozycje **, które mają różne ceny, muszą być dodane w podatku od towaru ** ** tabeli w poz ** ** mistrza.\n\n #### Opis Kolumny \n\n 1. Obliczenie Typ: \n i - może to być na całkowita ** ** (to jest suma ilości wyjściowej).\n - ** Na Poprzedni Row Całkowita / Kwota ** (dla skumulowanych podatków lub opłat). Jeśli wybierzesz tę opcję, podatek będzie stosowana jako procent poprzedniego rzędu (w tabeli podatkowej) kwoty lub łącznie.\n - ** Rzeczywista ** (jak wspomniano).\n 2. Szef konta: księga konto, na którym podatek ten zostanie zaksięgowany \n 3. Centrum koszt: Jeżeli podatek / opłata jest dochód (jak wysyłką) lub kosztów musi zostać zaliczony na centrum kosztów.\n 4. Opis: Opis podatków (które będą drukowane w faktur / cudzysłowów).\n 5. Cena: Stawka podatku.\n 6. Kwota: Kwota podatku.\n 7. Razem: Zbiorcza sumie do tego punktu.\n 8. Wprowadź Row: Jeśli na podstawie ""Razem poprzedniego wiersza"" można wybrać numer wiersza, które będą brane jako baza do tego obliczenia (domyślnie jest to poprzednia wiersz).\n 9. Zastanów podatek lub opłatę za: W tej sekcji można określić, czy podatek / opłata jest tylko dla wyceny (nie jest częścią całości) lub tylko dla całości (nie dodaje wartości do elementu) lub oba.\n 10. Dodać lub odjąć: Czy chcesz dodać lub odjąć podatek.",
+Salary Component Account,Konto Wynagrodzenie Komponent,
+Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,Domyślne konto bank / bankomat zostanie automatycznie zaktualizowana wynagrodzenia Journal Entry po wybraniu tego trybu.,
+ACC-SINV-.YYYY.-,ACC-SINV-.RRRR.-,
+Include Payment (POS),Obejmują płatności (POS),
+Offline POS Name,Offline POS Nazwa,
+Is Return (Credit Note),Jest zwrot (nota kredytowa),
+Return Against Sales Invoice,Powrót Against faktury sprzedaży,
+Update Billed Amount in Sales Order,Zaktualizuj kwotę rozliczenia w zleceniu sprzedaży,
+Customer PO Details,Szczegóły zamówienia klienta,
+Customer's Purchase Order,Klienta Zamówienia,
+Customer's Purchase Order Date,Data Zamówienia Zakupu Klienta,
+Customer Address,Adres klienta,
+Shipping Address Name,Adres do wysyłki Nazwa,
+Company Address Name,Nazwa firmy,
+Rate at which Customer Currency is converted to customer's base currency,Stawka przy użyciu której Waluta Klienta jest konwertowana do podstawowej waluty klienta,
+Rate at which Price list currency is converted to customer's base currency,Stawka przy użyciu której waluta Listy Cen jest konwertowana do podstawowej waluty klienta,
+Set Source Warehouse,Ustaw magazyn źródłowy,
+Packing List,Lista przedmiotów do spakowania,
+Packed Items,Przedmioty pakowane,
+Product Bundle Help,Produkt Bundle Pomoc,
+Time Sheet List,Czas Lista Sheet,
+Time Sheets,arkusze czasu,
+Total Billing Amount,Łączna kwota płatności,
+Sales Taxes and Charges Template,Podatki od sprzedaży i opłaty Szablon,
+Sales Taxes and Charges,Podatki i Opłaty od Sprzedaży,
+Loyalty Points Redemption,Odkupienie punktów lojalnościowych,
+Redeem Loyalty Points,Wykorzystaj punkty lojalnościowe,
+Redemption Account,Rachunek wykupu,
+Redemption Cost Center,Centrum kosztów odkupienia,
+In Words will be visible once you save the Sales Invoice.,"Słownie, będzie widoczne w fakturze sprzedaży, po zapisaniu",
+Allocate Advances Automatically (FIFO),Automatycznie przydzielaj zaliczki (FIFO),
+Get Advances Received,Uzyskaj otrzymane zaliczki,
+Base Change Amount (Company Currency),Kwota bazowa Change (Spółka waluty),
+Write Off Outstanding Amount,Nieuregulowana Wartość Odpisu,
+Terms and Conditions Details,Szczegóły regulaminu,
+Is Internal Customer,Jest klientem wewnętrznym,
+Is Discounted,Jest dyskontowany,
+Unpaid and Discounted,Nieopłacone i zniżki,
+Overdue and Discounted,Zaległe i zdyskontowane,
+Accounting Details,Dane księgowe,
+Debit To,Debetowane Konto (Winien),
+Commission Rate (%),Wartość prowizji (%),
+Sales Team1,Team Sprzedażowy1,
+Against Income Account,Konto przychodów,
+Sales Invoice Advance,Faktura Zaliczkowa,
+Advance amount,Kwota Zaliczki,
+Sales Invoice Item,Przedmiot Faktury Sprzedaży,
+Customer's Item Code,Kod Przedmiotu Klienta,
+Brand Name,Nazwa Marki,
+Qty as per Stock UOM,Ilość wg. Jednostki Miary,
+Discount and Margin,Rabat i marży,
+Rate With Margin,Rate With Margin,
+Discount (%) on Price List Rate with Margin,Zniżka (%) w Tabeli Cen Ceny z Marginesem,
+Rate With Margin (Company Currency),Stawka z depozytem zabezpieczającym (waluta spółki),
+Delivered By Supplier,Dostarczane przez Dostawcę,
+Deferred Revenue,Odroczone przychody,
+Deferred Revenue Account,Konto odroczonego przychodu,
+Enable Deferred Revenue,Włącz odroczone przychody,
+Stock Details,Zdjęcie Szczegóły,
+Customer Warehouse (Optional),Magazyn klienta (opcjonalnie),
+Available Batch Qty at Warehouse,Dostępne w Warehouse partii Ilość,
+Available Qty at Warehouse,Ilość dostępna w magazynie,
+Delivery Note Item,Przedmiot z dowodu dostawy,
+Base Amount (Company Currency),Kwota bazowa (Waluta firmy),
+Sales Invoice Timesheet,Faktura sprzedaży grafiku,
+Time Sheet,Czas Sheet,
+Billing Hours,Godziny billingowe,
+Timesheet Detail,Szczegółowy grafik,
+Tax Amount After Discount Amount (Company Currency),Kwota podatku po uwzględnieniu rabatu (waluta firmy),
+Parenttype,Typ Nadrzędności,
+"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","Standardowy szablon podatek, który może być stosowany do wszystkich transakcji sprzedaży. Ten szablon może zawierać listę szefów podatkowych, a także innych głów koszty / dochodów jak ""Żegluga"", ""Ubezpieczenia"", ""Obsługa"" itp \n\n #### Uwaga \n\n Stopa Ciebie podatku definiujemy tu będzie standardowa stawka podatku w odniesieniu do wszystkich pozycji ** **. Jeśli istnieją ** Pozycje **, które mają różne ceny, muszą być dodane w podatku od towaru ** ** tabeli w poz ** ** mistrza.\n\n #### Opis Kolumny \n\n 1. Obliczenie Typ: \n i - może to być na całkowita ** ** (to jest suma ilości wyjściowej).\n - ** Na Poprzedni Row Całkowita / Kwota ** (dla skumulowanych podatków lub opłat). Jeśli wybierzesz tę opcję, podatek będzie stosowana jako procent poprzedniego rzędu (w tabeli podatkowej) kwoty lub łącznie.\n - ** Rzeczywista ** (jak wspomniano).\n 2. Szef konta: księga konto, na którym podatek ten zostanie zaksięgowany \n 3. Centrum koszt: Jeżeli podatek / opłata jest dochód (jak wysyłką) lub kosztów musi zostać zaliczony na centrum kosztów.\n 4. Opis: Opis podatków (które będą drukowane w faktur / cudzysłowów).\n 5. Cena: Stawka podatku.\n 6. Kwota: Kwota podatku.\n 7. Razem: Zbiorcza sumie do tego punktu.\n 8. Wprowadź Row: Jeśli na podstawie ""Razem poprzedniego wiersza"" można wybrać numer wiersza, które będą brane jako baza do tego obliczenia (domyślnie jest to poprzednia wiersz).\n 9. Czy to podatki zawarte w podstawowej stawki ?: Jeśli to sprawdzić, oznacza to, że podatek ten nie będzie wyświetlany pod tabelą pozycji, ale będą włączone do stawki podstawowej w głównej tabeli poz. Jest to przydatne, gdy chcesz dać cenę mieszkania (z uwzględnieniem wszystkich podatków) cenę do klientów.",
+* Will be calculated in the transaction.,* Zostanie policzony dla transakcji.,
+From No,Od Nie,
+To No,Do Nie,
+Is Company,Czy firma,
+Current State,Stan aktulany,
+Purchased,Zakupione,
+From Shareholder,Od Akcjonariusza,
+From Folio No,Z Folio nr,
+To Shareholder,Do Akcjonariusza,
+To Folio No,Do Folio Nie,
+Equity/Liability Account,Rachunek akcyjny / zobowiązanie,
+Asset Account,Konto aktywów,
+(including),(włącznie z),
+ACC-SH-.YYYY.-,ACC-SH-.RRRR.-,
+Folio no.,Numer folio,
+Address and Contacts,Adres i kontakty,
+Contact List,Lista kontaktów,
+Hidden list maintaining the list of contacts linked to Shareholder,Ukryta lista z listą kontaktów powiązanych z Akcjonariuszem,
+Specify conditions to calculate shipping amount,Określ warunki do obliczenia kwoty wysyłki,
+Shipping Rule Label,Etykieta z zasadami wysyłki i transportu,
+example: Next Day Shipping,przykład: Wysyłka następnego dnia,
+Shipping Rule Type,Typ reguły wysyłki,
+Shipping Account,Konto dostawy,
+Calculate Based On,Obliczone na podstawie,
+Fixed,Naprawiony,
+Net Weight,Waga netto,
+Shipping Amount,Ilość dostawy,
+Shipping Rule Conditions,Warunki zasady dostawy,
+Restrict to Countries,Ogranicz do krajów,
+Valid for Countries,Ważny dla krajów,
+Shipping Rule Condition,Warunek zasady dostawy,
+A condition for a Shipping Rule,Warunki wysyłki,
+From Value,Od wartości,
+To Value,Określ wartość,
+Shipping Rule Country,Zasada Wysyłka Kraj,
+Subscription Period,Okres subskrypcji,
+Subscription Start Date,Data rozpoczęcia subskrypcji,
+Cancelation Date,Data Anulowania,
+Trial Period Start Date,Data rozpoczęcia okresu próbnego,
+Trial Period End Date,Termin zakończenia okresu próbnego,
+Current Invoice Start Date,Aktualna data rozpoczęcia faktury,
+Current Invoice End Date,Aktualna data zakończenia faktury,
+Days Until Due,Dni do końca,
+Number of days that the subscriber has to pay invoices generated by this subscription,"Liczba dni, w których subskrybent musi płacić faktury wygenerowane w ramach tej subskrypcji",
+Cancel At End Of Period,Anuluj na koniec okresu,
+Generate Invoice At Beginning Of Period,Wygeneruj fakturę na początku okresu,
+Plans,Plany,
+Discounts,Rabaty,
+Additional DIscount Percentage,Dodatkowy rabat procentowy,
+Additional DIscount Amount,Kwota dodatkowego rabatu,
+Subscription Invoice,Faktura subskrypcyjna,
+Subscription Plan,Abonament abonamentowy,
+Cost,Koszt,
+Billing Interval,Okres rozliczeniowy,
+Billing Interval Count,Liczba interwałów rozliczeń,
+"Number of intervals for the interval field e.g if Interval is 'Days' and Billing Interval Count is 3, invoices will be generated every 3 days","Liczba interwałów dla pola interwałowego, np. Jeśli Interwał to &quot;Dni&quot;, a liczba interwałów rozliczeń to 3, faktury będą generowane co 3 dni",
+Payment Plan,Plan płatności,
+Subscription Plan Detail,Szczegóły abonamentu,
+Plan,Plan,
+Subscription Settings,Ustawienia subskrypcji,
+Grace Period,Okres łaski,
+Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Liczba dni po dacie faktury upłynęła przed anulowaniem subskrypcji lub oznaczenia subskrypcji jako niepłatne,
+Prorate,Prorate,
+Tax Rule,Reguła podatkowa,
+Tax Type,Rodzaj podatku,
+Use for Shopping Cart,Służy do koszyka,
+Billing City,Rozliczenia Miasto,
+Billing County,Powiat,
+Billing State,Stan Billing,
+Billing Zipcode,Kod pocztowy do rozliczeń,
+Billing Country,Kraj fakturowania,
+Shipping City,Wysyłka Miasto,
+Shipping County,Dostawa County,
+Shipping State,Stan zakupu,
+Shipping Zipcode,Kod pocztowy wysyłki,
+Shipping Country,Wysyłka Kraj,
+Tax Withholding Account,Rachunek potrącenia podatku u źródła,
+Tax Withholding Rates,Podatki potrącane u źródła,
+Rates,Stawki,
+Tax Withholding Rate,Podatek u źródła,
+Single Transaction Threshold,Próg pojedynczej transakcji,
+Cumulative Transaction Threshold,Skumulowany próg transakcji,
+Agriculture Analysis Criteria,Kryteria analizy rolnictwa,
+Linked Doctype,Połączony Doctype,
+Water Analysis,Analiza wody,
+Soil Analysis,Analiza gleby,
+Plant Analysis,Analiza roślin,
+Fertilizer,Nawóz,
+Soil Texture,Tekstura gleby,
+Weather,Pogoda,
+Agriculture Manager,Dyrektor ds. Rolnictwa,
+Agriculture User,Użytkownik rolnictwa,
+Agriculture Task,Zadanie rolnicze,
+Task Name,Nazwa zadania,
+Start Day,Rozpocząć dzień,
+End Day,Koniec dnia,
+Holiday Management,Zarządzanie wakacjami,
+Ignore holidays,Ignoruj święta,
+Previous Business Day,Poprzedni dzień roboczy,
+Next Business Day,Następny dzień roboczy,
+Urgent,Pilne,
+Crop,Przyciąć,
+Crop Name,Nazwa uprawy,
+Scientific Name,Nazwa naukowa,
+"You can define all the tasks which need to carried out for this crop here. The day field is used to mention the day on which the task needs to be carried out, 1 being the 1st day, etc.. ","Możesz tu zdefiniować wszystkie zadania, które należy wykonać dla tego zbioru. Pole dnia jest używane do wskazania dnia, w którym należy wykonać zadanie, 1 oznacza pierwszy dzień itd.",
+Crop Spacing,Odstępy między plamami,
+Crop Spacing UOM,Odstępy między plamami UOM,
+Row Spacing,Rozstaw wierszy,
+Row Spacing UOM,Rozstaw rzędów UOM,
+Perennial,Bylina,
+Biennial,Dwuletni,
+Planting UOM,Sadzenie MOM,
+Planting Area,Obszar sadzenia,
+Yield UOM,Wydajność UOM,
+Materials Required,Wymagane materiały,
+Produced Items,Produkowane przedmioty,
+Produce,Produkować,
+Byproducts,Przez produkty,
+Linked Location,Powiązana lokalizacja,
+A link to all the Locations in which the Crop is growing,"Łącze do wszystkich lokalizacji, w których rośnie uprawa",
+This will be day 1 of the crop cycle,To będzie pierwszy dzień cyklu zbiorów,
+ISO 8601 standard,Norma ISO 8601,
+Cycle Type,Typ cyklu,
+Less than a year,Mniej niż rok,
+The minimum length between each plant in the field for optimum growth,Minimalna długość między każdą rośliną w polu dla optymalnego wzrostu,
+The minimum distance between rows of plants for optimum growth,Minimalna odległość między rzędami roślin dla optymalnego wzrostu,
+Detected Diseases,Wykryto choroby,
+List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,Lista chorób wykrytych na polu. Po wybraniu automatycznie doda listę zadań do radzenia sobie z chorobą,
+Detected Disease,Wykryto chorobę,
+LInked Analysis,Analiza LInked,
+Disease,Choroba,
+Tasks Created,Zadania utworzone,
+Common Name,Nazwa zwyczajowa,
+Treatment Task,Zadanie leczenia,
+Treatment Period,Okres leczenia,
+Fertilizer Name,Nazwa nawozu,
+Density (if liquid),Gęstość (jeśli ciecz),
+Fertilizer Contents,Zawartość nawozu,
+Fertilizer Content,Zawartość nawozu,
+Linked Plant Analysis,Połączona analiza roślin,
+Linked Soil Analysis,Powiązana analiza gleby,
+Linked Soil Texture,Połączona tekstura gleby,
+Collection Datetime,Kolekcja Datetime,
+Laboratory Testing Datetime,Testowanie laboratoryjne Datetime,
+Result Datetime,Wynik Datetime,
+Plant Analysis Criterias,Kryteria analizy roślin,
+Plant Analysis Criteria,Kryteria analizy roślin,
+Minimum Permissible Value,Minimalna dopuszczalna wartość,
+Maximum Permissible Value,Maksymalna dopuszczalna wartość,
+Ca/K,Ca / K,
+Ca/Mg,Ca / Mg,
+Mg/K,Mg / K,
+(Ca+Mg)/K,(Ca + Mg) / K,
+Ca/(K+Ca+Mg),Ca / (K + Ca + Mg),
+Soil Analysis Criterias,Kryteria analizy gleby,
+Soil Analysis Criteria,Kryteria analizy gleby,
+Soil Type,Typ gleby,
+Loamy Sand,Piasek gliniasty,
+Sandy Loam,Sandy Loam,
+Loam,Ił,
+Silt Loam,Silt Loam,
+Sandy Clay Loam,Sandy Clay Loam,
+Clay Loam,Clay Loam,
+Silty Clay Loam,Silty Clay Loam,
+Sandy Clay,Sandy Clay,
+Silty Clay,Silty Clay,
+Clay Composition (%),Skład gliny (%),
+Sand Composition (%),Skład piasku (%),
+Silt Composition (%),Skład mułu (%),
+Ternary Plot,Ternary Plot,
+Soil Texture Criteria,Kryteria tekstury gleby,
+Type of Sample,Rodzaj próbki,
+Container,Pojemnik,
+Origin,Pochodzenie,
+Collection Temperature ,Temperatura zbierania,
+Storage Temperature,Temperatura przechowywania,
+Appearance,Wygląd,
+Person Responsible,Osoba odpowiedzialna,
+Water Analysis Criteria,Kryteria analizy wody,
+Weather Parameter,Parametr pogody,
+ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
+Asset Owner,Właściciel zasobu,
+Asset Owner Company,Asset Owner Company,
+Custodian,Kustosz,
+Disposal Date,Utylizacja Data,
+Journal Entry for Scrap,Księgowanie na złom,
+Available-for-use Date,Data przydatności do użycia,
+Calculate Depreciation,Oblicz amortyzację,
+Allow Monthly Depreciation,Zezwalaj na miesięczną amortyzację,
+Number of Depreciations Booked,Ilość amortyzacją zarezerwowano,
+Finance Books,Finanse Książki,
+Straight Line,Linia prosta,
+Double Declining Balance,Podwójne Bilans Spadek,
+Manual,podręcznik,
+Value After Depreciation,Wartość po amortyzacji,
+Total Number of Depreciations,Całkowita liczba amortyzacją,
+Frequency of Depreciation (Months),Częstotliwość Amortyzacja (miesiące),
+Next Depreciation Date,Następny Amortyzacja Data,
+Depreciation Schedule,amortyzacja Harmonogram,
+Depreciation Schedules,Rozkłady amortyzacyjne,
+Insurance details,Szczegóły ubezpieczenia,
+Policy number,Numer polisy,
+Insurer,Ubezpieczający,
+Insured value,Wartość ubezpieczenia,
+Insurance Start Date,Data rozpoczęcia ubezpieczenia,
+Insurance End Date,Data zakończenia ubezpieczenia,
+Comprehensive Insurance,Kompleksowe ubezpieczenie,
+Maintenance Required,Wymagane czynności konserwacyjne,
+Check if Asset requires Preventive Maintenance or Calibration,"Sprawdź, czy Zasób wymaga konserwacji profilaktycznej lub kalibracji",
+Booked Fixed Asset,Zarezerwowany środek trwały,
+Purchase Receipt Amount,Kup kwotę odbioru,
+Default Finance Book,Domyślna księga finansowa,
+Quality Manager,Manager Jakości,
+Asset Category Name,Zaleta Nazwa kategorii,
+Depreciation Options,Opcje amortyzacji,
+Enable Capital Work in Progress Accounting,Włącz rachunkowość kapitału w toku,
+Finance Book Detail,Finanse Książka szczegółów,
+Asset Category Account,Konto Aktywów Kategoria,
+Fixed Asset Account,Konto trwałego,
+Accumulated Depreciation Account,Skumulowana Amortyzacja konta,
+Depreciation Expense Account,Konto amortyzacji wydatków,
+Capital Work In Progress Account,Kapitałowe konto w toku,
+Asset Finance Book,Książka o finansach aktywów,
+Written Down Value,Zapisana wartość,
+Expected Value After Useful Life,Przewidywany okres użytkowania wartości po,
+Rate of Depreciation,Stopa amortyzacji,
+In Percentage,W procentach,
+Maintenance Team,Zespół serwisowy,
+Maintenance Manager Name,Nazwa menedżera konserwacji,
+Maintenance Tasks,Zadania konserwacji,
+Manufacturing User,Produkcja użytkownika,
+Asset Maintenance Log,Dziennik konserwacji zasobów,
+ACC-AML-.YYYY.-,ACC-AML-.RRRR.-,
+Maintenance Type,Typ Konserwacji,
+Maintenance Status,Status Konserwacji,
+Planned,Zaplanowany,
+Has Certificate ,Posiada certyfikat,
+Certificate,Certyfikat,
+Actions performed,Wykonane akcje,
+Asset Maintenance Task,Zadanie utrzymania aktywów,
+Maintenance Task,Zadanie konserwacji,
+Preventive Maintenance,Konserwacja zapobiegawcza,
+Calibration,Kalibrowanie,
+2 Yearly,2 Rocznie,
+Certificate Required,Wymagany certyfikat,
+Assign to Name,Przypisz do nazwy,
+Next Due Date,Następna data płatności,
+Last Completion Date,Ostatnia data ukończenia,
+Asset Maintenance Team,Zespół ds. Utrzymania aktywów,
+Maintenance Team Name,Nazwa zespołu obsługi technicznej,
+Maintenance Team Members,Członkowie zespołu ds. Konserwacji,
+Purpose,Cel,
+Stock Manager,Kierownik magazynu,
+Asset Movement Item,Element ruchu zasobu,
+Source Location,Lokalizacja źródła,
+From Employee,Od pracownika,
+Target Location,Docelowa lokalizacja,
+To Employee,Do pracownika,
+Asset Repair,Naprawa aktywów,
+ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
+Failure Date,Data awarii,
+Assign To Name,Przypisywanie do nazwy,
+Repair Status,Status naprawy,
+Error Description,Opis błędu,
+Downtime,Przestój,
+Repair Cost,koszty naprawy,
+Manufacturing Manager,Kierownik Produkcji,
+Current Asset Value,Aktualna wartość aktywów,
+New Asset Value,Nowa wartość aktywów,
+Make Depreciation Entry,Bądź Amortyzacja Entry,
+Finance Book Id,Identyfikator książki finansowej,
+Location Name,Nazwa lokalizacji,
+Parent Location,Lokalizacja rodzica,
+Is Container,To kontener,
+Check if it is a hydroponic unit,"Sprawdź, czy to jednostka hydroponiczna",
+Location Details,Szczegóły lokalizacji,
+Latitude,Szerokość,
+Longitude,Długość geograficzna,
+Area,Powierzchnia,
+Area UOM,Obszar UOM,
+Tree Details,drzewo Szczegóły,
+Maintenance Team Member,Członek zespołu ds. Konserwacji,
+Team Member,Członek zespołu,
+Maintenance Role,Rola konserwacji,
+Buying Settings,Ustawienia zakupów,
+Settings for Buying Module,Ustawienia Zakup modułu,
+Supplier Naming By,Po nazwie dostawcy,
+Default Supplier Group,Domyślna grupa dostawców,
+Default Buying Price List,Domyślny cennik dla zakupów,
+Backflush Raw Materials of Subcontract Based On,Rozliczenie wsteczne materiałów podwykonawstwa,
+Material Transferred for Subcontract,Materiał przekazany do podwykonawstwa,
+Over Transfer Allowance (%),Nadwyżka limitu transferu (%),
+Percentage you are allowed to transfer more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to transfer 110 units.,"Procent, który możesz przekazać więcej w stosunku do zamówionej ilości. Na przykład: jeśli zamówiłeś 100 jednostek. a Twój zasiłek wynosi 10%, możesz przenieść 110 jednostek.",
+PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
+Get Items from Open Material Requests,Elementy z żądań Otwórz Materiał,
+Fetch items based on Default Supplier.,Pobierz elementy na podstawie domyślnego dostawcy.,
+Required By,Wymagane przez,
+Order Confirmation No,Potwierdzenie nr,
+Order Confirmation Date,Zamów datę potwierdzenia,
+Customer Mobile No,Komórka klienta Nie,
+Customer Contact Email,Kontakt z klientem e-mail,
+Set Target Warehouse,Ustaw magazyn docelowy,
+Sets 'Warehouse' in each row of the Items table.,Ustawia „Magazyn” w każdym wierszu tabeli Towary.,
+Supply Raw Materials,Zaopatrzenia w surowce,
+Purchase Order Pricing Rule,Reguła cenowa zamówienia zakupu,
+Set Reserve Warehouse,Ustaw Rezerwuj magazyn,
+In Words will be visible once you save the Purchase Order.,Słownie będzie widoczna w Zamówieniu po zapisaniu,
+Advance Paid,Zaliczka,
+Tracking,Śledzenie,
+% Billed,% rozliczonych,
+% Received,% Otrzymanych,
+Ref SQ,Ref SQ,
+Inter Company Order Reference,Informacje o zamówieniach między firmami,
+Supplier Part Number,Numer katalogowy dostawcy,
+Billed Amt,Rozliczona Ilość,
+Warehouse and Reference,Magazyn i punkt odniesienia,
+To be delivered to customer,Być dostarczone do klienta,
+Against Blanket Order,Przeciw Kocowi,
+Blanket Order,Formularz zamówienia,
+Blanket Order Rate,Ogólny koszt zamówienia,
+Returned Qty,Wrócił szt,
+Purchase Order Item Supplied,Dostarczony przedmiot zamówienia,
+BOM Detail No,BOM Numer,
+Stock Uom,Jednostka,
+Raw Material Item Code,Kod surowca,
+Supplied Qty,Dostarczane szt,
+Purchase Receipt Item Supplied,Rachunek Kupna Zaopatrzenia,
+Current Stock,Bieżący asortyment,
+PUR-RFQ-.YYYY.-,PUR-RFQ-.RRRR.-,
+For individual supplier,Dla indywidualnego dostawcy,
+Link to Material Requests,Link do żądań materiałów,
+Message for Supplier,Wiadomość dla dostawcy,
+Request for Quotation Item,Przedmiot zapytania ofertowego,
+Required Date,Data wymagana,
+Request for Quotation Supplier,Zapytanie ofertowe do dostawcy,
+Send Email,Wyślij E-mail,
+Quote Status,Status statusu,
+Download PDF,Pobierz PDF,
+Supplier of Goods or Services.,Dostawca towarów lub usług.,
+Name and Type,Nazwa i typ,
+SUP-.YYYY.-,SUP-.RRRR.-,
+Default Bank Account,Domyślne konto bankowe,
+Is Transporter,Dostarcza we własnym zakresie,
+Represents Company,Reprezentuje firmę,
+Supplier Type,Typ dostawcy,
+Allow Purchase Invoice Creation Without Purchase Order,Zezwalaj na tworzenie faktur zakupu bez zamówienia zakupu,
+Allow Purchase Invoice Creation Without Purchase Receipt,Zezwalaj na tworzenie faktur zakupu bez pokwitowania zakupu,
+Warn RFQs,Informuj o złożonych zapytaniach ofertowych,
+Warn POs,Informuj o złożonych zamówieniach,
+Prevent RFQs,Zapobiegaj złożeniu zapytania ofertowego,
+Prevent POs,Zapobiegaj złożeniu zamówienia,
+Billing Currency,Waluta rozliczenia,
+Default Payment Terms Template,Domyślny szablon warunków płatności,
+Block Supplier,Blokuj dostawcę,
+Hold Type,Hold Type,
+Leave blank if the Supplier is blocked indefinitely,"Pozostaw puste, jeśli dostawca jest blokowany na czas nieokreślony",
+Default Payable Accounts,Domyślne konta Rozrachunki z dostawcami,
+Mention if non-standard payable account,"Wspomnij, jeśli nietypowe konto płatne",
+Default Tax Withholding Config,Domyślna konfiguracja podatku u źródła,
+Supplier Details,Szczegóły dostawcy,
+Statutory info and other general information about your Supplier,Informacje prawne na temat dostawcy,
+PUR-SQTN-.YYYY.-,PUR-SQTN-.RRRR.-,
+Supplier Address,Adres dostawcy,
+Link to material requests,Link do żądań materialnych,
+Rounding Adjustment (Company Currency,Korekta zaokrągleń (waluta firmy,
+Auto Repeat Section,Sekcja automatycznego powtarzania,
+Is Subcontracted,Czy zlecony,
+Lead Time in days,Czas oczekiwania w dniach,
+Supplier Score,Ocena Dostawcy,
+Indicator Color,Kolor wskaźnika,
+Evaluation Period,Okres próbny,
+Per Week,Na tydzień,
+Per Month,Na miesiąc,
+Per Year,Na rok,
+Scoring Setup,Konfiguracja punktów,
+Weighting Function,Funkcja ważenia,
+"Scorecard variables can be used, as well as:\n{total_score} (the total score from that period),\n{period_number} (the number of periods to present day)\n","Mogą być stosowane zmienne kartoteki, a także: {total_score} (całkowity wynik z tego okresu), {period_number} (liczba okresów na dzień dzisiejszy)",
+Scoring Standings,Zaplanuj miejsca,
+Criteria Setup,Konfiguracja kryteriów,
+Load All Criteria,Załaduj wszystkie kryteria,
+Scoring Criteria,Kryteria oceny,
+Scorecard Actions,Działania kartoteki,
+Warn for new Request for Quotations,Ostrzegaj przed nowym żądaniem ofert,
+Warn for new Purchase Orders,Ostrzegaj o nowych zamówieniach zakupu,
+Notify Supplier,Powiadom o Dostawcy,
+Notify Employee,Powiadom o pracowniku,
+Supplier Scorecard Criteria,Kryteria oceny dostawcy Dostawcy,
+Criteria Name,Kryteria Nazwa,
+Max Score,Maksymalny wynik,
+Criteria Formula,Wzór Kryterium,
+Criteria Weight,Kryteria Waga,
+Supplier Scorecard Period,Okres kartoteki dostawcy,
+PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
+Period Score,Wynik okresu,
+Calculations,Obliczenia,
+Criteria,Kryteria,
+Variables,Zmienne,
+Supplier Scorecard Setup,Ustawienia karty wyników dostawcy,
+Supplier Scorecard Scoring Criteria,Kryteria oceny scoringowej dostawcy,
+Score,Wynik,
+Supplier Scorecard Scoring Standing,Dostawca Scorecard Stanowisko,
+Standing Name,Reputacja,
+Purple,Fioletowy,
+Yellow,Żółty,
+Orange,Pomarańczowy,
+Min Grade,Min. wynik,
+Max Grade,Maks. wynik,
+Warn Purchase Orders,Ostrzegaj Zamówienia Zakupu,
+Prevent Purchase Orders,Zapobiegaj zamówieniom zakupu,
+Employee ,Pracownik,
+Supplier Scorecard Scoring Variable,Dostawca Scorecard Zmienna scoringowa,
+Variable Name,Nazwa zmiennej,
+Parameter Name,Nazwa parametru,
+Supplier Scorecard Standing,Dostawca Scorecard Standing,
+Notify Other,Powiadamiaj inne,
+Supplier Scorecard Variable,Zmienną Scorecard dostawcy,
+Call Log,Rejestr połączeń,
+Received By,Otrzymane przez,
+Caller Information,Informacje o dzwoniącym,
+Contact Name,Nazwa kontaktu,
+Lead ,Prowadzić,
+Lead Name,Nazwa Tropu,
+Ringing,Dzwonienie,
+Missed,Nieodebrane,
+Call Duration in seconds,Czas trwania połączenia w sekundach,
+Recording URL,Adres URL nagrywania,
+Communication Medium,Środki komunikacji,
+Communication Medium Type,Typ medium komunikacyjnego,
+Voice,Głos,
+Catch All,Złap wszystkie,
+"If there is no assigned timeslot, then communication will be handled by this group","Jeśli nie ma przypisanej szczeliny czasowej, komunikacja będzie obsługiwana przez tę grupę",
+Timeslots,Szczeliny czasowe,
+Communication Medium Timeslot,Średni czas komunikacji,
+Employee Group,Grupa pracowników,
+Appointment,Spotkanie,
+Scheduled Time,Zaplanowany czas,
+Unverified,Niesprawdzony,
+Customer Details,Dane Klienta,
+Phone Number,Numer telefonu,
+Skype ID,Nazwa Skype,
+Linked Documents,Powiązane dokumenty,
+Appointment With,Spotkanie z,
+Calendar Event,Wydarzenie z kalendarza,
+Appointment Booking Settings,Ustawienia rezerwacji terminu,
+Enable Appointment Scheduling,Włącz harmonogram spotkań,
+Agent Details,Dane agenta,
+Availability Of Slots,Dostępność automatów,
+Number of Concurrent Appointments,Liczba jednoczesnych spotkań,
+Agents,Agenci,
+Appointment Details,Szczegóły terminu,
+Appointment Duration (In Minutes),Czas trwania spotkania (w minutach),
+Notify Via Email,Powiadom przez e-mail,
+Notify customer and agent via email on the day of the appointment.,Powiadom klienta i agenta za pośrednictwem poczty elektronicznej w dniu spotkania.,
+Number of days appointments can be booked in advance,Liczbę dni można umawiać z wyprzedzeniem,
+Success Settings,Ustawienia sukcesu,
+Success Redirect URL,Sukces Przekierowanie URL,
+"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Pozostaw puste w domu. Jest to względne w stosunku do adresu URL witryny, na przykład „about” przekieruje na „https://yoursitename.com/about”",
+Appointment Booking Slots,Terminy rezerwacji spotkań,
+Day Of Week,Dzień tygodnia,
+From Time ,Od czasu,
+Campaign Email Schedule,Harmonogram e-mailu kampanii,
+Send After (days),Wyślij po (dni),
+Signed,Podpisano,
+Party User,Użytkownik strony,
+Unsigned,Bez podpisu,
+Fulfilment Status,Status realizacji,
+N/A,Nie dotyczy,
+Unfulfilled,Niespełnione,
+Partially Fulfilled,Częściowo zrealizowane,
+Fulfilled,Spełniony,
+Lapsed,Nieaktualne,
+Contract Period,Okres umowy,
+Signee Details,Szczegóły dotyczące Signee,
+Signee,Signee,
+Signed On,Podpisano,
+Contract Details,Szczegóły umowy,
+Contract Template,Szablon umowy,
+Contract Terms,Warunki kontraktu,
+Fulfilment Details,Szczegóły realizacji,
+Requires Fulfilment,Wymaga spełnienia,
+Fulfilment Deadline,Termin realizacji,
+Fulfilment Terms,Warunki realizacji,
+Contract Fulfilment Checklist,Lista kontrolna realizacji kontraktu,
+Requirement,Wymaganie,
+Contract Terms and Conditions,Warunki umowy,
+Fulfilment Terms and Conditions,Spełnienie warunków,
+Contract Template Fulfilment Terms,Warunki realizacji szablonu umowy,
+Email Campaign,Kampania e-mailowa,
+Email Campaign For ,Kampania e-mailowa dla,
+Lead is an Organization,Ołów to organizacja,
+CRM-LEAD-.YYYY.-,CRM-LEAD-.RRRR.-,
+Person Name,Imię i nazwisko osoby,
+Lost Quotation,Przegrana notowań,
+Interested,Jestem zainteresowany,
+Converted,Przekształcono,
+Do Not Contact,Nie Kontaktuj,
+From Customer,Od klienta,
+Campaign Name,Nazwa kampanii,
+Follow Up,Zagryźć,
+Next Contact By,Następny Kontakt Po,
+Next Contact Date,Data Następnego Kontaktu,
+Ends On,Koniec w dniu,
+Address & Contact,Adres i kontakt,
+Mobile No.,Nr tel. Komórkowego,
+Lead Type,Typ Tropu,
+Consultant,Konsultant,
+Market Segment,Segment rynku,
+Industry,Przedsiębiorstwo,
+Request Type,Typ zapytania,
+Product Enquiry,Zapytanie o produkt,
+Request for Information,Prośba o informację,
+Suggestions,Sugestie,
+Blog Subscriber,Subskrybent Bloga,
+LinkedIn Settings,Ustawienia LinkedIn,
+Company ID,identyfikator firmy,
+OAuth Credentials,Poświadczenia OAuth,
+Consumer Key,Klucz klienta,
+Consumer Secret,Sekret konsumenta,
+User Details,Dane użytkownika,
+Person URN,Osoba URN,
+Session Status,Stan sesji,
+Lost Reason Detail,Szczegóły utraconego powodu,
+Opportunity Lost Reason,Możliwość utracona z powodu,
+Potential Sales Deal,Szczegóły potencjalnych sprzedaży,
+CRM-OPP-.YYYY.-,CRM-OPP-.RRRR.-,
+Opportunity From,Szansa od,
+Customer / Lead Name,Nazwa Klienta / Tropu,
+Opportunity Type,Typ szansy,
+Converted By,Przekształcony przez,
+Sales Stage,Etap sprzedaży,
+Lost Reason,Powód straty,
+Expected Closing Date,Oczekiwana data zamknięcia,
+To Discuss,Do omówienia,
+With Items,Z przedmiotami,
+Probability (%),Prawdopodobieństwo (%),
+Contact Info,Dane kontaktowe,
+Customer / Lead Address,Adres Klienta / Tropu,
+Contact Mobile No,Numer komórkowy kontaktu,
+Enter name of campaign if source of enquiry is campaign,Wpisz nazwę przeprowadzanej kampanii jeżeli źródło pytania jest kampanią,
+Opportunity Date,Data szansy,
+Opportunity Item,Przedmiot Szansy,
+Basic Rate,Podstawowy wskaźnik,
+Stage Name,Pseudonim artystyczny,
+Social Media Post,Post w mediach społecznościowych,
+Post Status,Stan publikacji,
+Posted,Wysłano,
+Share On,Podziel się na,
+Twitter,Świergot,
+LinkedIn,LinkedIn,
+Twitter Post Id,Identyfikator posta na Twitterze,
+LinkedIn Post Id,Identyfikator posta na LinkedIn,
+Tweet,Ćwierkać,
+Twitter Settings,Ustawienia Twittera,
+API Secret Key,Tajny klucz API,
+Term Name,Nazwa Term,
+Term Start Date,Termin Data rozpoczęcia,
+Term End Date,Term Data zakończenia,
+Academics User,Studenci,
+Academic Year Name,Nazwa Roku Akademickiego,
+Article,Artykuł,
+LMS User,Użytkownik LMS,
+Assessment Criteria Group,Kryteria oceny grupowej,
+Assessment Group Name,Nazwa grupy Assessment,
+Parent Assessment Group,Rodzic Assesment Group,
+Assessment Name,Nazwa ocena,
+Grading Scale,Skala ocen,
+Examiner,Egzaminator,
+Examiner Name,Nazwa Examiner,
+Supervisor,Kierownik,
+Supervisor Name,Nazwa Supervisor,
+Evaluate,Oceniać,
+Maximum Assessment Score,Maksymalny wynik oceny,
+Assessment Plan Criteria,Kryteria oceny planu,
+Maximum Score,Maksymalna liczba punktów,
+Result,Wynik,
+Total Score,Całkowity wynik,
+Grade,Stopień,
+Assessment Result Detail,Wynik oceny Szczegóły,
+Assessment Result Tool,Wynik oceny Narzędzie,
+Result HTML,wynik HTML,
+Content Activity,Aktywność treści,
+Last Activity ,Ostatnia aktywność,
+Content Question,Pytanie dotyczące treści,
+Question Link,Link do pytania,
+Course Name,Nazwa przedmiotu,
+Topics,Tematy,
+Hero Image,Obraz bohatera,
+Default Grading Scale,Domyślna skala ocen,
+Education Manager,Menedżer edukacji,
+Course Activity,Aktywność na kursie,
+Course Enrollment,Rejestracja kursu,
+Activity Date,Data aktywności,
+Course Assessment Criteria,Kryteria oceny kursu,
+Weightage,Waga/wiek,
+Course Content,Zawartość kursu,
+Quiz,Kartkówka,
+Program Enrollment,Rejestracja w programie,
+Enrollment Date,Data rejestracji,
+Instructor Name,Instruktor Nazwa,
+EDU-CSH-.YYYY.-,EDU-CSH-.RRRR.-,
+Course Scheduling Tool,Oczywiście Narzędzie Scheduling,
+Course Start Date,Data rozpoczęcia kursu,
+To TIme,Do czasu,
+Course End Date,Data zakończenia kursu,
+Course Topic,Temat kursu,
+Topic,Temat,
+Topic Name,Nazwa tematu,
+Education Settings,Ustawienia edukacji,
+Current Academic Year,Obecny Rok Akademicki,
+Current Academic Term,Obecny termin akademicki,
+Attendance Freeze Date,Data zamrożenia obecności,
+Validate Batch for Students in Student Group,Sprawdź partię dla studentów w grupie studentów,
+"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.","Dla grupy studentów opartej na partiach, partia ucznia zostanie zatwierdzona dla każdego ucznia z wpisu do programu.",
+Validate Enrolled Course for Students in Student Group,Zatwierdzić zapisany kurs dla studentów w grupie studentów,
+"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.",Dla Grupy Studenckiej na Kursie kurs zostanie sprawdzony dla każdego Uczestnika z zapisanych kursów w ramach Rejestracji Programu.,
+Make Academic Term Mandatory,Uczyń okres akademicki obowiązkowym,
+"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Jeśli opcja jest włączona, pole Akademickie oznaczenie będzie obowiązkowe w narzędziu rejestrowania programu.",
+Skip User creation for new Student,Pomiń tworzenie użytkownika dla nowego Studenta,
+"By default, a new User is created for every new Student. If enabled, no new User will be created when a new Student is created.","Domyślnie dla każdego nowego Studenta tworzony jest nowy Użytkownik. Jeśli ta opcja jest włączona, żaden nowy Użytkownik nie zostanie utworzony po utworzeniu nowego Studenta.",
+Instructor Records to be created by,"Rekord instruktorski, który zostanie utworzony przez",
+Employee Number,Numer pracownika,
+Fee Category,opłata Kategoria,
+Fee Component,opłata Komponent,
+Fees Category,Opłaty Kategoria,
+Fee Schedule,Harmonogram opłat,
+Fee Structure,Struktura opłat,
+EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
+Fee Creation Status,Status tworzenia licencji,
+In Process,W trakcie,
+Send Payment Request Email,Wyślij e-mail z zapytaniem o płatność,
+Student Category,Student Kategoria,
+Fee Breakup for each student,Podział wynagrodzenia dla każdego ucznia,
+Total Amount per Student,Łączna kwota na jednego studenta,
+Institution,Instytucja,
+Fee Schedule Program,Program planu opłat,
+Student Batch,Batch Student,
+Total Students,Wszystkich studentów,
+Fee Schedule Student Group,Plan zajęć grupy studentów,
+EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
+EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
+Include Payment,Dołącz płatności,
+Send Payment Request,Wyślij żądanie płatności,
+Student Details,Szczegóły Uczniów,
+Student Email,E-mail dla studentów,
+Grading Scale Name,Skala ocen Nazwa,
+Grading Scale Intervals,Odstępy Skala ocen,
+Intervals,przedziały,
+Grading Scale Interval,Skala ocen Interval,
+Grade Code,Kod klasy,
+Threshold,Próg,
+Grade Description,Stopień Opis,
+Guardian,Opiekun,
+Guardian Name,Nazwa Stróża,
+Alternate Number,Alternatywny numer,
+Occupation,Zawód,
+Work Address,Adres miejsca pracy,
+Guardian Of ,Strażnik,
+Students,studenci,
+Guardian Interests,opiekun Zainteresowania,
+Guardian Interest,Strażnik Odsetki,
+Interest,Zainteresowanie,
+Guardian Student,opiekun studenta,
+EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
+Instructor Log,Dziennik instruktora,
+Other details,Pozostałe szczegóły,
+Option,Opcja,
+Is Correct,Jest poprawne,
+Program Name,Nazwa programu,
+Program Abbreviation,Skrót programu,
+Courses,Pola,
+Is Published,Jest opublikowany,
+Allow Self Enroll,Zezwalaj na samodzielne zapisywanie się,
+Is Featured,Jest zawarty,
+Intro Video,Intro Video,
+Program Course,Program kursu,
+School House,school House,
+Boarding Student,Student Wyżywienia,
+Check this if the Student is residing at the Institute's Hostel.,"Sprawdź, czy Student mieszka w Hostelu Instytutu.",
+Walking,Pieszy,
+Institute's Bus,Autobus Instytutu,
+Public Transport,Transport publiczny,
+Self-Driving Vehicle,Samochód osobowy,
+Pick/Drop by Guardian,Pick / Drop przez Guardian,
+Enrolled courses,Zaplanowane kursy,
+Program Enrollment Course,Kurs rekrutacji,
+Program Enrollment Fee,Program Rejestracji Opłata,
+Program Enrollment Tool,Rejestracja w programie Narzędzie,
+Get Students From,Uzyskaj studentów z,
+Student Applicant,Student Wnioskodawca,
+Get Students,Uzyskaj Studentów,
+Enrollment Details,Szczegóły rejestracji,
+New Program,Nowy program,
+New Student Batch,Nowa partia studencka,
+Enroll Students,zapisać studentów,
+New Academic Year,Nowy rok akademicki,
+New Academic Term,Nowy okres akademicki,
+Program Enrollment Tool Student,Rejestracja w programie Narzędzie Student,
+Student Batch Name,Student Batch Nazwa,
+Program Fee,Opłata Program,
+Question,Pytanie,
+Single Correct Answer,Pojedyncza poprawna odpowiedź,
+Multiple Correct Answer,Wielokrotna poprawna odpowiedź,
+Quiz Configuration,Konfiguracja quizu,
+Passing Score,Wynik pozytywny,
+Score out of 100,Wynik na 100,
+Max Attempts,Max Próby,
+Enter 0 to waive limit,"Wprowadź 0, aby zrezygnować z limitu",
+Grading Basis,Podstawa klasyfikacji,
+Latest Highest Score,Najnowszy najwyższy wynik,
+Latest Attempt,Ostatnia próba,
+Quiz Activity,Aktywność Quiz,
+Enrollment,Rekrutacja,
+Pass,Przechodzić,
+Quiz Question,Pytanie do quizu,
+Quiz Result,Wynik testu,
+Selected Option,Wybrana opcja,
+Correct,Poprawny,
+Wrong,Źle,
+Room Name,Nazwa pokoju,
+Room Number,Numer pokoju,
+Seating Capacity,Liczba miejsc,
+House Name,Nazwa domu,
+EDU-STU-.YYYY.-,EDU-STU-.RRRR.-,
+Student Mobile Number,Student Mobile Number,
+Joining Date,Data Dołączenia,
+Blood Group,Grupa Krwi,
+A+,A+,
+A-,A-,
+B+,B +,
+B-,B-,
+O+,O +,
+O-,O-,
+AB+,AB +,
+AB-,AB-,
+Nationality,Narodowość,
+Home Address,Adres domowy,
+Guardian Details,Szczegóły Stróża,
+Guardians,Strażnicy,
+Sibling Details,rodzeństwo Szczegóły,
+Siblings,Rodzeństwo,
+Exit,Wyjście,
+Date of Leaving,Data Pozostawiając,
+Leaving Certificate Number,Pozostawiając numer certyfikatu,
+Reason For Leaving,Powód odejścia,
+Student Admission,Wstęp Student,
+Admission Start Date,Wstęp Data rozpoczęcia,
+Admission End Date,Wstęp Data zakończenia,
+Publish on website,Opublikuj na stronie internetowej,
+Eligibility and Details,Kwalifikowalność i szczegóły,
+Student Admission Program,Studencki program przyjęć,
+Minimum Age,Minimalny wiek,
+Maximum Age,Maksymalny wiek,
+Application Fee,Opłata za zgłoszenie,
+Naming Series (for Student Applicant),Naming Series (dla Studenta Wnioskodawcy),
+LMS Only,Tylko LMS,
+EDU-APP-.YYYY.-,EDU-APP-.RRRR.-,
+Application Status,Status aplikacji,
+Application Date,Data złożenia wniosku,
+Student Attendance Tool,Obecność Student Narzędzie,
+Group Based On,Grupa oparta na,
+Students HTML,studenci HTML,
+Group Based on,Grupa oparta na,
+Student Group Name,Nazwa grupy studentów,
+Max Strength,Maksymalna siła,
+Set 0 for no limit,Ustaw 0 oznacza brak limitu,
+Instructors,instruktorzy,
+Student Group Creation Tool,Narzędzie tworzenia grupy studenta,
+Leave blank if you make students groups per year,"Zostaw puste, jeśli uczysz grupy studentów rocznie",
+Get Courses,Uzyskaj kursy,
+Separate course based Group for every Batch,Oddzielna grupa kursów dla każdej partii,
+Leave unchecked if you don't want to consider batch while making course based groups. ,"Opuść zaznaczenie, jeśli nie chcesz rozważyć partii przy jednoczesnym tworzeniu grup kursów.",
+Student Group Creation Tool Course,Kurs grupy studentów Stworzenie narzędzia,
+Course Code,Kod kursu,
+Student Group Instructor,Instruktor grupy studentów,
+Student Group Student,Student Grupa Student,
+Group Roll Number,Numer grupy,
+Student Guardian,Student Stróża,
+Relation,Relacja,
+Mother,Mama,
+Father,Ojciec,
+Student Language,Student Język,
+Student Leave Application,Student Application Leave,
+Mark as Present,Oznacz jako Present,
+Student Log,Dziennik studenta,
+Academic,Akademicki,
+Achievement,Osiągnięcie,
+Student Report Generation Tool,Narzędzie do generowania raportów uczniów,
+Include All Assessment Group,Uwzględnij całą grupę oceny,
+Show Marks,Pokaż znaczniki,
+Add letterhead,Dodaj papier firmowy,
+Print Section,Sekcja drukowania,
+Total Parents Teacher Meeting,Spotkanie nauczycieli wszystkich rodziców,
+Attended by Parents,Uczestniczyli w nim rodzice,
+Assessment Terms,Warunki oceny,
+Student Sibling,Student Rodzeństwo,
+Studying in Same Institute,Studia w sam instytut,
+NO,NIE,
+YES,Tak,
+Student Siblings,Rodzeństwo studenckie,
+Topic Content,Treść tematu,
+Amazon MWS Settings,Ustawienia Amazon MWS,
+ERPNext Integrations,Integracje ERPNext,
+Enable Amazon,Włącz Amazon,
+MWS Credentials,Poświadczenia MWS,
+Seller ID,ID sprzedawcy,
+AWS Access Key ID,AWS Access Key ID,
+MWS Auth Token,MWh Auth Token,
+Market Place ID,Identyfikator rynku,
+AE,AE,
+AU,AU,
+BR,BR,
+CA,CA,
+CN,CN,
+DE,DE,
+ES,ES,
+FR,FR,
+IN,W,
+JP,JP,
+IT,TO,
+MX,MX,
+UK,Wielka Brytania,
+US,NAS,
+Customer Type,typ klienta,
+Market Place Account Group,Grupa konta rynkowego,
+After Date,Po dacie,
+Amazon will synch data updated after this date,Amazon zsynchronizuje dane zaktualizowane po tej dacie,
+Sync Taxes and Charges,Synchronizuj podatki i opłaty,
+Get financial breakup of Taxes and charges data by Amazon ,Uzyskaj rozpad finansowy danych podatkowych i obciążeń przez Amazon,
+Sync Products,Synchronizuj produkty,
+Always sync your products from Amazon MWS before synching the Orders details,Zawsze synchronizuj swoje produkty z Amazon MWS przed zsynchronizowaniem szczegółów Zamówienia,
+Sync Orders,Synchronizuj zamówienia,
+Click this button to pull your Sales Order data from Amazon MWS.,"Kliknij ten przycisk, aby pobrać dane zamówienia sprzedaży z Amazon MWS.",
+Enable Scheduled Sync,Włącz zaplanowaną synchronizację,
+Check this to enable a scheduled Daily synchronization routine via scheduler,"Zaznacz to ustawienie, aby włączyć zaplanowaną codzienną procedurę synchronizacji za pośrednictwem programu planującego",
+Max Retry Limit,Maksymalny limit ponownych prób,
+Exotel Settings,Ustawienia Exotel,
+Account SID,SID konta,
+API Token,Token API,
+GoCardless Mandate,Upoważnienie GoCardless,
+Mandate,Mandat,
+GoCardless Customer,Klient bez karty,
+GoCardless Settings,Ustawienia bez karty,
+Webhooks Secret,Sekret Webhooks,
+Plaid Settings,Ustawienia Plaid,
+Synchronize all accounts every hour,Synchronizuj wszystkie konta co godzinę,
+Plaid Client ID,Identyfikator klienta w kratkę,
+Plaid Secret,Plaid Secret,
+Plaid Environment,Plaid Environment,
+sandbox,piaskownica,
+development,rozwój,
+production,produkcja,
+QuickBooks Migrator,QuickBooks Migrator,
+Application Settings,Ustawienia aplikacji,
+Token Endpoint,Token Endpoint,
+Scope,Zakres,
+Authorization Settings,Ustawienia autoryzacji,
+Authorization Endpoint,Punkt końcowy autoryzacji,
+Authorization URL,Adres URL autoryzacji,
+Quickbooks Company ID,Quickbooks Identyfikator firmy,
+Company Settings,Ustawienia firmy,
+Default Shipping Account,Domyślne konto wysyłkowe,
+Default Warehouse,Domyślny magazyn,
+Default Cost Center,Domyślne Centrum Kosztów,
+Undeposited Funds Account,Rachunek nierozliczonych funduszy,
+Shopify Log,Shopify Log,
+Request Data,Żądaj danych,
+Shopify Settings,Zmień ustawienia,
+status html,status html,
+Enable Shopify,Włącz Shopify,
+App Type,Typ aplikacji,
+Last Sync Datetime,Ostatnia synchronizacja Datetime,
+Shop URL,URL sklepu,
+eg: frappe.myshopify.com,np .: frappe.myshopify.com,
+Shared secret,Wspólny sekret,
+Webhooks Details,Szczegóły Webhooks,
+Webhooks,Webhooks,
+Customer Settings,Ustawienia klienta,
+Default Customer,Domyślny klient,
+Customer Group will set to selected group while syncing customers from Shopify,Grupa klientów ustawi wybraną grupę podczas synchronizowania klientów z Shopify,
+For Company,Dla firmy,
+Cash Account will used for Sales Invoice creation,Konto gotówkowe zostanie użyte do utworzenia faktury sprzedaży,
+Update Price from Shopify To ERPNext Price List,Zaktualizuj cenę z Shopify To ERPNext Price List,
+Default Warehouse to to create Sales Order and Delivery Note,"Domyślny magazyn, aby utworzyć zamówienie sprzedaży i dostawę",
+Sales Order Series,Seria zamówień sprzedaży,
+Import Delivery Notes from Shopify on Shipment,Importuj notatki dostawy z Shopify w przesyłce,
+Delivery Note Series,Seria notatek dostawy,
+Import Sales Invoice from Shopify if Payment is marked,"Importuj fakturę sprzedaży z Shopify, jeśli płatność została zaznaczona",
+Sales Invoice Series,Seria faktur sprzedaży,
+Shopify Tax Account,Shopify Tax Account,
+Shopify Tax/Shipping Title,Kupuj podatek / tytuł dostawy,
+ERPNext Account,ERPNext Konto,
+Shopify Webhook Detail,Szczegółowe informacje o Shophook,
+Webhook ID,Identyfikator Webhooka,
+Tally Migration,Tally Migration,
+Master Data,Dane podstawowe,
+"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Dane wyeksportowane z Tally, które obejmują plan kont, klientów, dostawców, adresy, towary i jednostki miary",
+Is Master Data Processed,Czy przetwarzane są dane podstawowe,
+Is Master Data Imported,Czy importowane są dane podstawowe,
+Tally Creditors Account,Tally Credit Accounts,
+Creditors Account set in Tally,Konto wierzycieli ustawione w Tally,
+Tally Debtors Account,Rachunek Dłużników Tally,
+Debtors Account set in Tally,Konto dłużników ustawione w Tally,
+Tally Company,Firma Tally,
+Company Name as per Imported Tally Data,Nazwa firmy zgodnie z zaimportowanymi danymi Tally,
+Default UOM,Domyślna jednostka miary,
+UOM in case unspecified in imported data,JM w przypadku nieokreślonego w importowanych danych,
+ERPNext Company,ERPNext Company,
+Your Company set in ERPNext,Twoja firma ustawiona w ERPNext,
+Processed Files,Przetworzone pliki,
+Parties,Strony,
+UOMs,Jednostki miary,
+Vouchers,Kupony,
+Round Off Account,Konto kwot zaokrągleń,
+Day Book Data,Dane książki dziennej,
+Day Book Data exported from Tally that consists of all historic transactions,"Dane księgi dziennej wyeksportowane z Tally, które zawierają wszystkie historyczne transakcje",
+Is Day Book Data Processed,Czy przetwarzane są dane dzienników,
+Is Day Book Data Imported,Importowane są dane dzienników,
+Woocommerce Settings,Ustawienia Woocommerce,
+Enable Sync,Włącz synchronizację,
+Woocommerce Server URL,URL serwera Woocommerce,
+Secret,Sekret,
+API consumer key,Klucz konsumenta API,
+API consumer secret,Tajny klucz klienta API,
+Tax Account,Konto podatkowe,
+Freight and Forwarding Account,Konto spedycyjne i spedycyjne,
+Creation User,Użytkownik tworzenia,
+"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Użytkownik, który będzie używany do tworzenia klientów, towarów i zleceń sprzedaży. Ten użytkownik powinien mieć odpowiednie uprawnienia.",
+"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Ten magazyn będzie używany do tworzenia zamówień sprzedaży. Magazyn zapasowy to „Sklepy”.,
+"The fallback series is ""SO-WOO-"".",Seria awaryjna to „SO-WOO-”.,
+This company will be used to create Sales Orders.,Ta firma będzie używana do tworzenia zamówień sprzedaży.,
+Delivery After (Days),Dostawa po (dni),
+This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,Jest to domyślne przesunięcie (dni) dla daty dostawy w zamówieniach sprzedaży. Przesunięcie awaryjne wynosi 7 dni od daty złożenia zamówienia.,
+"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Jest to domyślna jednostka miary używana dla elementów i zamówień sprzedaży. Rezerwowym UOM jest „Nos”.,
+Endpoints,Punkty końcowe,
+Endpoint,Punkt końcowy,
+Antibiotic Name,Nazwa antybiotyku,
+Healthcare Administrator,Administrator Ochrony Zdrowia,
+Laboratory User,Użytkownik Laboratorium,
+Is Inpatient,Jest hospitalizowany,
+Default Duration (In Minutes),Domyślny czas trwania (w minutach),
+Body Part,Część ciała,
+Body Part Link,Link do części ciała,
+HLC-CPR-.YYYY.-,HLC-CPR-.RRRR.-,
+Procedure Template,Szablon procedury,
+Procedure Prescription,Procedura Recepta,
+Service Unit,Jednostka serwisowa,
+Consumables,Materiały eksploatacyjne,
+Consume Stock,Zużyj zapasy,
+Invoice Consumables Separately,Fakturuj oddzielnie materiały eksploatacyjne,
+Consumption Invoiced,Zużycie fakturowane,
+Consumable Total Amount,Łączna ilość materiałów eksploatacyjnych,
+Consumption Details,Szczegóły zużycia,
+Nursing User,Pielęgniarka,
+Clinical Procedure Item,Procedura postępowania klinicznego,
+Invoice Separately as Consumables,Faktura oddzielnie jako materiał eksploatacyjny,
+Transfer Qty,Przenieś ilość,
+Actual Qty (at source/target),Rzeczywista Ilość (u źródła/celu),
+Is Billable,Jest rozliczalny,
+Allow Stock Consumption,Zezwalaj na zużycie zapasów,
+Sample UOM,Przykładowa jednostka miary,
+Collection Details,Szczegóły kolekcji,
+Change In Item,Zmiana w pozycji,
+Codification Table,Tabela kodyfikacji,
+Complaints,Uskarżanie się,
+Dosage Strength,Siła dawkowania,
+Strength,Wytrzymałość,
+Drug Prescription,Na receptę,
+Drug Name / Description,Nazwa / opis leku,
+Dosage,Dawkowanie,
+Dosage by Time Interval,Dawkowanie według przedziału czasu,
+Interval,Interwał,
+Interval UOM,Interwał UOM,
+Hour,Godzina,
+Update Schedule,Zaktualizuj harmonogram,
+Exercise,Ćwiczenie,
+Difficulty Level,Poziom trudności,
+Counts Target,Liczy cel,
+Counts Completed,Liczenie zakończone,
+Assistance Level,Poziom pomocy,
+Active Assist,Aktywna pomoc,
+Exercise Name,Nazwa ćwiczenia,
+Body Parts,Części ciała,
+Exercise Instructions,Instrukcje do ćwiczeń,
+Exercise Video,Ćwiczenia wideo,
+Exercise Steps,Kroki ćwiczeń,
+Steps,Kroki,
+Steps Table,Tabela kroków,
+Exercise Type Step,Krok typu ćwiczenia,
+Max number of visit,Maksymalna liczba wizyt,
+Visited yet,Jeszcze odwiedziłem,
+Reference Appointments,Spotkania referencyjne,
+Valid till,Obowiązuje do,
+Fee Validity Reference,Odniesienie do ważności opłat,
+Basic Details,Podstawowe szczegóły,
+HLC-PRAC-.YYYY.-,HLC-PRAC-.YYYY.-,
+Mobile,mobilny,
+Phone (R),Telefon (R),
+Phone (Office),Telefon (Biuro),
+Employee and User Details,Dane pracownika i użytkownika,
+Hospital,Szpital,
+Appointments,Terminy,
+Practitioner Schedules,Harmonogramy praktyków,
+Charges,Opłaty,
+Out Patient Consulting Charge,Opłata za konsultacje z pacjentem zewnętrznym,
+Default Currency,Domyślna waluta,
+Healthcare Schedule Time Slot,Schemat czasu opieki zdrowotnej,
+Parent Service Unit,Jednostka usług dla rodziców,
+Service Unit Type,Rodzaj jednostki usługi,
+Allow Appointments,Zezwalaj na spotkania,
+Allow Overlap,Zezwalaj na Nakładanie,
+Inpatient Occupancy,Zajęcia stacjonarne,
+Occupancy Status,Status obłożenia,
+Vacant,Pusty,
+Occupied,Zajęty,
+Item Details,Szczegóły produktu,
+UOM Conversion in Hours,Konwersja UOM w godzinach,
+Rate / UOM,Rate / UOM,
+Change in Item,Zmień pozycję,
+Out Patient Settings,Out Ustawienia pacjenta,
+Patient Name By,Nazwisko pacjenta,
+Patient Name,Imię pacjenta,
+Link Customer to Patient,Połącz klienta z pacjentem,
+"If checked, a customer will be created, mapped to Patient.\nPatient Invoices will be created against this Customer. You can also select existing Customer while creating Patient.","Jeśli zostanie zaznaczone, zostanie utworzony klient, który będzie mapowany na pacjenta. Dla tego klienta powstanie faktury pacjenta. Można również wybrać istniejącego klienta podczas tworzenia pacjenta.",
+Default Medical Code Standard,Domyślny standard kodu medycznego,
+Collect Fee for Patient Registration,Zbierz opłatę za rejestrację pacjenta,
+Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,Zaznaczenie tej opcji spowoduje utworzenie nowych pacjentów ze statusem Wyłączony domyślnie i będzie włączone dopiero po zafakturowaniu Opłaty rejestracyjnej.,
+Registration Fee,Opłata za rejestrację,
+Automate Appointment Invoicing,Zautomatyzuj fakturowanie spotkań,
+Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Zarządzaj fakturą Powołania automatycznie przesyłaj i anuluj spotkanie z pacjentem,
+Enable Free Follow-ups,Włącz bezpłatne obserwacje,
+Number of Patient Encounters in Valid Days,Liczba spotkań pacjentów w ważne dni,
+The number of free follow ups (Patient Encounters in valid days) allowed,Dozwolona liczba bezpłatnych obserwacji (spotkań pacjentów w ważnych dniach),
+Valid Number of Days,Ważna liczba dni,
+Time period (Valid number of days) for free consultations,Okres (ważna liczba dni) na bezpłatne konsultacje,
+Default Healthcare Service Items,Domyślne pozycje usług opieki zdrowotnej,
+"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Można skonfigurować pozycje domyślne w celu rozliczenia opłat za konsultacje, pozycji dotyczących zużycia procedur i wizyt szpitalnych",
+Clinical Procedure Consumable Item,Procedura kliniczna Materiały eksploatacyjne,
+Default Accounts,Konta domyślne,
+Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,"Konta z domyślnymi dochodami, które mają być używane, jeśli nie są ustawione w Healthcare Practitioner, aby zarezerwować opłaty za spotkanie.",
+Default receivable accounts to be used to book Appointment charges.,"Domyślne konta należności, które mają być używane do księgowania opłat za spotkanie.",
+Out Patient SMS Alerts,Wypisuj alerty SMS dla pacjentów,
+Patient Registration,Rejestracja pacjenta,
+Registration Message,Wiadomość rejestracyjna,
+Confirmation Message,Wiadomość potwierdzająca,
+Avoid Confirmation,Unikaj Potwierdzenia,
+Do not confirm if appointment is created for the same day,"Nie potwierdzaj, czy spotkanie zostanie utworzone na ten sam dzień",
+Appointment Reminder,Przypomnienie o spotkaniu,
+Reminder Message,Komunikat Przypomnienia,
+Remind Before,Przypomnij wcześniej,
+Laboratory Settings,Ustawienia laboratoryjne,
+Create Lab Test(s) on Sales Invoice Submission,Utwórz testy laboratoryjne podczas przesyłania faktur sprzedaży,
+Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,Zaznaczenie tego spowoduje utworzenie testów laboratoryjnych określonych na fakturze sprzedaży podczas przesyłania.,
+Create Sample Collection document for Lab Test,Utwórz dokument pobierania próbek do testu laboratoryjnego,
+Checking this will create a Sample Collection document  every time you create a Lab Test,"Zaznaczenie tego spowoduje utworzenie dokumentu pobierania próbek za każdym razem, gdy utworzysz test laboratoryjny",
+Employee name and designation in print,Nazwisko pracownika i oznaczenie w druku,
+Check this if you want the Name and Designation of the Employee associated with the User who submits the document to be printed in the Lab Test Report.,"Zaznacz tę opcję, jeśli chcesz, aby nazwa i oznaczenie pracownika skojarzone z użytkownikiem przesyłającym dokument zostały wydrukowane w raporcie z testu laboratoryjnego.",
+Do not print or email Lab Tests without Approval,Nie drukuj ani nie wysyłaj e-mailem testów laboratoryjnych bez zgody,
+Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,"Zaznaczenie tego ograniczy drukowanie i wysyłanie pocztą elektroniczną dokumentów testów laboratoryjnych, chyba że mają one status Zatwierdzone.",
+Custom Signature in Print,Podpis niestandardowy w druku,
+Laboratory SMS Alerts,Laboratorium SMS Alerts,
+Result Printed Message,Wynik wydrukowany komunikat,
+Result Emailed Message,Wiadomość e-mail z wynikami,
+Check In,Zameldować się,
+Check Out,Sprawdzić,
+HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
+A Positive,Pozytywny,
+A Negative,Negatywny,
+AB Positive,AB Pozytywne,
+AB Negative,AB Negatywne,
+B Positive,B dodatni,
+B Negative,B Negatywne,
+O Positive,O pozytywne,
+O Negative,O negatywne,
+Date of birth,Data urodzenia,
+Admission Scheduled,Wstęp Zaplanowany,
+Discharge Scheduled,Rozładowanie Zaplanowane,
+Discharged,Rozładowany,
+Admission Schedule Date,Harmonogram przyjęcia,
+Admitted Datetime,Przyjęto Datetime,
+Expected Discharge,Oczekiwany zrzut,
+Discharge Date,Data rozładowania,
+Lab Prescription,Lekarz na receptę,
+Lab Test Name,Nazwa testu laboratoryjnego,
+Test Created,Utworzono test,
+Submitted Date,Zaakceptowana Data,
+Approved Date,Zatwierdzona data,
+Sample ID,Identyfikator wzorcowy,
+Lab Technician,Technik laboratoryjny,
+Report Preference,Preferencje raportu,
+Test Name,Nazwa testu,
+Test Template,Szablon testu,
+Test Group,Grupa testowa,
+Custom Result,Wynik niestandardowy,
+LabTest Approver,Przybliżenie LabTest,
+Add Test,Dodaj test,
+Normal Range,Normalny zakres,
+Result Format,Format wyników,
+Single,Pojedynczy,
+Compound,Złożony,
+Descriptive,Opisowy,
+Grouped,Zgrupowane,
+No Result,Brak wyników,
+This value is updated in the Default Sales Price List.,Ta wartość jest aktualizowana w Domyślnym Cenniku Sprzedaży.,
+Lab Routine,Lab Rutyna,
+Result Value,Wartość wyniku,
+Require Result Value,Wymagaj wartości,
+Normal Test Template,Normalny szablon testu,
+Patient Demographics,Dane demograficzne pacjenta,
+HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
+Middle Name (optional),Drugie imię (opcjonalnie),
+Inpatient Status,Status stacjonarny,
+"If ""Link Customer to Patient"" is checked in Healthcare Settings and an existing Customer is not selected then, a Customer will be created for this Patient for recording transactions in Accounts module.","Jeśli w Ustawieniach opieki zdrowotnej zaznaczono opcję „Połącz klienta z pacjentem”, a istniejący klient nie zostanie wybrany, zostanie utworzony klient dla tego pacjenta w celu rejestrowania transakcji w module kont.",
+Personal and Social History,Historia osobista i społeczna,
+Marital Status,Stan cywilny,
+Married,Żonaty / Zamężna,
+Divorced,Rozwiedziony,
+Widow,Wdowa,
+Patient Relation,Relacja pacjenta,
+"Allergies, Medical and Surgical History","Alergie, historia medyczna i chirurgiczna",
+Allergies,Alergie,
+Medication,Lek,
+Medical History,Historia medyczna,
+Surgical History,Historia chirurgiczna,
+Risk Factors,Czynniki ryzyka,
+Occupational Hazards and Environmental Factors,Zagrożenia zawodowe i czynniki środowiskowe,
+Other Risk Factors,Inne czynniki ryzyka,
+Patient Details,Szczegóły pacjenta,
+Additional information regarding the patient,Dodatkowe informacje dotyczące pacjenta,
+HLC-APP-.YYYY.-,HLC-APP-.YYYY.-,
+Patient Age,Wiek pacjenta,
+Get Prescribed Clinical Procedures,Uzyskaj przepisane procedury kliniczne,
+Therapy,Terapia,
+Get Prescribed Therapies,Uzyskaj przepisane terapie,
+Appointment Datetime,Data spotkania,
+Duration (In Minutes),Czas trwania (w minutach),
+Reference Sales Invoice,Referencyjna faktura sprzedaży,
+More Info,Więcej informacji,
+Referring Practitioner,Polecający praktykujący,
+Reminded,Przypomnij,
+HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
+Assessment Template,Szablon oceny,
+Assessment Datetime,Czas oceny,
+Assessment Description,Opis oceny,
+Assessment Sheet,Arkusz oceny,
+Total Score Obtained,Całkowity wynik uzyskany,
+Scale Min,Skala min,
+Scale Max,Skala Max,
+Patient Assessment Detail,Szczegóły oceny pacjenta,
+Assessment Parameter,Parametr oceny,
+Patient Assessment Parameter,Parametr oceny pacjenta,
+Patient Assessment Sheet,Arkusz oceny pacjenta,
+Patient Assessment Template,Szablon oceny pacjenta,
+Assessment Parameters,Parametry oceny,
+Parameters,Parametry,
+Assessment Scale,Skala oceny,
+Scale Minimum,Minimalna skala,
+Scale Maximum,Skala maksymalna,
+HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
+Encounter Date,Data spotkania,
+Encounter Time,Czas spotkania,
+Encounter Impression,Encounter Impression,
+Symptoms,Objawy,
+In print,W druku,
+Medical Coding,Kodowanie medyczne,
+Procedures,Procedury,
+Therapies,Terapie,
+Review Details,Szczegóły oceny,
+Patient Encounter Diagnosis,Diagnoza spotkania pacjenta,
+Patient Encounter Symptom,Objaw spotkania pacjenta,
+HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
+Attach Medical Record,Dołącz dokumentację medyczną,
+Reference DocType,Odniesienie do DocType,
+Spouse,Małżonka,
+Family,Rodzina,
+Schedule Details,Szczegóły harmonogramu,
+Schedule Name,Nazwa harmonogramu,
+Time Slots,Szczeliny czasowe,
+Practitioner Service Unit Schedule,Harmonogram jednostki służby zdrowia,
+Procedure Name,Nazwa procedury,
+Appointment Booked,Spotkanie zarezerwowane,
+Procedure Created,Procedura Utworzono,
+HLC-SC-.YYYY.-,HLC-SC-.RRRR.-,
+Collected By,Zbierane przez,
+Particulars,Szczegóły,
+Result Component,Komponent wyników,
+HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
+Therapy Plan Details,Szczegóły planu terapii,
+Total Sessions,Całkowita liczba sesji,
+Total Sessions Completed,Całkowita liczba ukończonych sesji,
+Therapy Plan Detail,Szczegóły planu terapii,
+No of Sessions,Liczba sesji,
+Sessions Completed,Sesje zakończone,
+Tele,Tele,
+Exercises,Ćwiczenia,
+Therapy For,Terapia dla,
+Add Exercises,Dodaj ćwiczenia,
+Body Temperature,Temperatura ciała,
+Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),"Obecność gorączki (temp.&gt; 38,5 ° C / 101,3 ° F lub trwała temperatura&gt; 38 ° C / 100,4 ° F)",
+Heart Rate / Pulse,Częstość tętna / impuls,
+Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Częstość tętna wynosi od 50 do 80 uderzeń na minutę.,
+Respiratory rate,Oddechowy,
+Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Normalny zakres referencyjny dla dorosłych wynosi 16-20 oddech / minutę (RCP 2012),
+Tongue,Język,
+Coated,Pokryty,
+Very Coated,Bardzo powlekane,
+Normal,Normalna,
+Furry,Futrzany,
+Cuts,Cięcia,
+Abdomen,Brzuch,
+Bloated,Nadęty,
+Fluid,Płyn,
+Constipated,Mający zaparcie,
+Reflexes,Odruchy,
+Hyper,Hyper,
+Very Hyper,Bardzo Hyper,
+One Sided,Jednostronny,
+Blood Pressure (systolic),Ciśnienie krwi (skurczowe),
+Blood Pressure (diastolic),Ciśnienie krwi (rozkurczowe),
+Blood Pressure,Ciśnienie krwi,
+"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","Normalne spoczynkowe ciśnienie krwi u dorosłych wynosi około 120 mmHg skurczowe, a rozkurczowe 80 mmHg, skrócone &quot;120/80 mmHg&quot;",
+Nutrition Values,Wartości odżywcze,
+Height (In Meter),Wysokość (w metrze),
+Weight (In Kilogram),Waga (w kilogramach),
+BMI,BMI,
+Hotel Room,Pokój hotelowy,
+Hotel Room Type,Rodzaj pokoju hotelowego,
+Capacity,Pojemność,
+Extra Bed Capacity,Wydajność dodatkowego łóżka,
+Hotel Manager,Kierownik hotelu,
+Hotel Room Amenity,Udogodnienia w pokoju hotelowym,
+Billable,Rozliczalny,
+Hotel Room Package,Pakiet hotelowy,
+Amenities,Udogodnienia,
+Hotel Room Pricing,Ceny pokoi w hotelu,
+Hotel Room Pricing Item,Cennik pokoi hotelowych,
+Hotel Room Pricing Package,Pakiet cen pokoi hotelowych,
+Hotel Room Reservation,Rezerwacja pokoju hotelowego,
+Guest Name,Imię gościa,
+Late Checkin,Późne zameldowanie,
+Booked,Zarezerwowane,
+Hotel Reservation User,Użytkownik rezerwacji hotelu,
+Hotel Room Reservation Item,Rezerwacja pokoju hotelowego,
+Hotel Settings,Ustawienia hotelu,
+Default Taxes and Charges,Domyślne podatków i opłat,
+Default Invoice Naming Series,Domyślna seria nazewnictwa faktur,
+Additional Salary,Dodatkowe wynagrodzenie,
+HR,HR,
+HR-ADS-.YY.-.MM.-,HR-ADS-.YY .-. MM.-,
+Salary Component,Wynagrodzenie Komponent,
+Overwrite Salary Structure Amount,Nadpisz ilość wynagrodzenia,
+Deduct Full Tax on Selected Payroll Date,Odliczenie pełnego podatku od wybranej daty płac,
+Payroll Date,Data płacy,
+Date on which this component is applied,Data zastosowania tego komponentu,
+Salary Slip,Pasek wynagrodzenia,
+Salary Component Type,Typ składnika wynagrodzenia,
+HR User,Kadry - użytkownik,
+Appointment Letter,List z terminem spotkania,
+Job Applicant,Aplikujący o pracę,
+Applicant Name,Imię Aplikanta,
+Appointment Date,Data spotkania,
+Appointment Letter Template,Szablon listu z terminami,
+Body,Ciało,
+Closing Notes,Uwagi końcowe,
+Appointment Letter content,Treść listu z terminem,
+Appraisal,Ocena,
+HR-APR-.YY.-.MM.,HR-APR-.YY.-.MM.,
+Appraisal Template,Szablon oceny,
+For Employee Name,Dla Imienia Pracownika,
+Goals,Cele,
+Total Score (Out of 5),Łączny wynik (w skali do 5),
+"Any other remarks, noteworthy effort that should go in the records.","Wszelkie inne uwagi, zauważyć, że powinien iść nakładu w ewidencji.",
+Appraisal Goal,Cel oceny,
+Key Responsibility Area,Kluczowy obszar obowiązków,
+Weightage (%),Waga/wiek (%),
+Score (0-5),Wynik (0-5),
+Score Earned,Ilość zdobytych punktów,
+Appraisal Template Title,Tytuł szablonu oceny,
+Appraisal Template Goal,Cel szablonu oceny,
+KRA,KRA,
+Key Performance Area,Kluczowy obszar wyników,
+HR-ATT-.YYYY.-,HR-ATT-.RRRR.-,
+On Leave,Na urlopie,
+Work From Home,Praca w domu,
+Leave Application,Wniosek o Nieobecność,
+Attendance Date,Data usługi,
+Attendance Request,Żądanie obecności,
+Late Entry,Późne wejście,
+Early Exit,Wczesne wyjście,
+Half Day Date,Pół Dzień Data,
+On Duty,Na służbie,
+Explanation,Wyjaśnienie,
+Compensatory Leave Request,Wniosek o urlop Wyrównawczy,
+Leave Allocation,Alokacja Nieobecności,
+Worked On Holiday,Pracowałem w wakacje,
+Work From Date,Praca od daty,
+Work End Date,Data zakończenia pracy,
+Email Sent To,Email wysłany do,
+Select Users,Wybierz użytkowników,
+Send Emails At,Wyślij pocztę elektroniczną w,
+Reminder,Przypomnienie,
+Daily Work Summary Group User,Codzienny użytkownik grupy roboczej,
+email,e-mail,
+Parent Department,Departament rodziców,
+Leave Block List,Lista Blokowanych Nieobecności,
+Days for which Holidays are blocked for this department.,Dni kiedy urlop jest zablokowany dla tego departamentu,
+Leave Approver,Zatwierdzający Nieobecność,
+Expense Approver,Osoba zatwierdzająca wydatki,
+Department Approver,Departament zatwierdzający,
+Approver,Osoba zatwierdzająca,
+Required Skills,Wymagane umiejętności,
+Skills,Umiejętności,
+Designation Skill,Umiejętność oznaczania,
+Skill,Umiejętność,
+Driver,Kierowca,
+HR-DRI-.YYYY.-,HR-DRI-.RRRR.-,
+Suspended,Zawieszony,
+Transporter,Transporter,
+Applicable for external driver,Dotyczy zewnętrznego sterownika,
+Cellphone Number,numer telefonu komórkowego,
+License Details,Szczegóły licencji,
+License Number,Numer licencji,
+Issuing Date,Data emisji,
+Driving License Categories,Kategorie prawa jazdy,
+Driving License Category,Kategoria prawa jazdy,
+Fleet Manager,Menedżer floty,
+Driver licence class,Klasa prawa jazdy,
+HR-EMP-,HR-EMP-,
+Employment Type,Typ zatrudnienia,
+Emergency Contact,Kontakt na wypadek nieszczęśliwych wypadków,
+Emergency Contact Name,kontakt do osoby w razie wypadku,
+Emergency Phone,Telefon bezpieczeństwa,
+ERPNext User,ERPNext Użytkownik,
+"System User (login) ID. If set, it will become default for all HR forms.","Użytkownik systemu (login) ID. Jeśli ustawiono, stanie się on domyślnym dla wszystkich formularzy HR",
+Create User Permission,Utwórz uprawnienia użytkownika,
+This will restrict user access to other employee records,To ograniczy dostęp użytkowników do innych rekordów pracowników,
+Joining Details,Łączenie szczegółów,
+Offer Date,Data oferty,
+Confirmation Date,Data potwierdzenia,
+Contract End Date,Data końcowa kontraktu,
+Notice (days),Wymówienie (dni),
+Date Of Retirement,Data przejścia na emeryturę,
+Department and Grade,Wydział i stopień,
+Reports to,Raporty do,
+Attendance and Leave Details,Frekwencja i szczegóły urlopu,
+Leave Policy,Polityka Nieobecności,
+Attendance Device ID (Biometric/RF tag ID),Identyfikator urządzenia obecności (identyfikator biometryczny / RF),
+Applicable Holiday List,Stosowna Lista Urlopów,
+Default Shift,Domyślne przesunięcie,
+Salary Details,Szczegóły wynagrodzeń,
+Salary Mode,Moduł Wynagrodzenia,
+Bank A/C No.,Numer rachunku bankowego,
+Health Insurance,Ubezpieczenie zdrowotne,
+Health Insurance Provider,Dostawca ubezpieczenia zdrowotnego,
+Health Insurance No,Numer ubezpieczenia zdrowotnego,
+Prefered Email,Zalecany email,
+Personal Email,Osobisty E-mail,
+Permanent Address Is,Stały adres to,
+Rented,Wynajęty,
+Owned,Zawłaszczony,
+Permanent Address,Stały adres,
+Prefered Contact Email,Preferowany kontakt e-mail,
+Company Email,Email do firmy,
+Provide Email Address registered in company,Podać adres e-mail zarejestrowany w firmie,
+Current Address Is,Obecny adres to,
+Current Address,Obecny adres,
+Personal Bio,Personal Bio,
+Bio / Cover Letter,Bio / List motywacyjny,
+Short biography for website and other publications.,Krótka notka na stronę i do innych publikacji,
+Passport Number,Numer Paszportu,
+Date of Issue,Data wydania,
+Place of Issue,Miejsce wydania,
+Widowed,Wdowiec / Wdowa,
+Family Background,Tło rodzinne,
+Health Details,Szczegóły Zdrowia,
+"Here you can maintain height, weight, allergies, medical concerns etc","Tutaj wypełnij i przechowaj dane takie jak wzrost, waga, alergie, problemy medyczne itd",
+Educational Qualification,Kwalifikacje edukacyjne,
+Previous Work Experience,Poprzednie doświadczenie zawodowe,
+External Work History,Historia Zewnętrzna Pracy,
+History In Company,Historia Firmy,
+Internal Work History,Wewnętrzne Historia Pracuj,
+Resignation Letter Date,Data wypowiedzenia,
+Relieving Date,Data zwolnienia,
+Reason for Leaving,Powód odejścia,
+Leave Encashed?,"Jesteś pewien, że chcesz wyjść z Wykupinych?",
+Encashment Date,Data Inkaso,
+New Workplace,Nowe Miejsce Pracy,
+HR-EAD-.YYYY.-,HR-EAD-.RRRR.-,
+Returned Amount,Zwrócona kwota,
+Claimed,Roszczenie,
+Advance Account,Rachunek zaawansowany,
+Employee Attendance Tool,Narzędzie Frekwencji,
+Unmarked Attendance,Obecność nieoznaczona,
+Employees HTML,Pracownicy HTML,
+Marked Attendance,Zaznaczona Obecność,
+Marked Attendance HTML,Zaznaczona Obecność HTML,
+Employee Benefit Application,Świadczenie pracownicze,
+Max Benefits (Yearly),Maksymalne korzyści (rocznie),
+Remaining Benefits (Yearly),Pozostałe korzyści (rocznie),
+Payroll Period,Okres płacy,
+Benefits Applied,Korzyści zastosowane,
+Dispensed Amount (Pro-rated),Dawka dodana (zaszeregowana),
+Employee Benefit Application Detail,Szczegóły zastosowania świadczeń pracowniczych,
+Earning Component,Zarabianie na komponent,
+Pay Against Benefit Claim,Zapłać na poczet zasiłku,
+Max Benefit Amount,Kwota maksymalnego świadczenia,
+Employee Benefit Claim,Świadczenie pracownicze,
+Claim Date,Data roszczenia,
+Benefit Type and Amount,Rodzaj świadczenia i kwota,
+Claim Benefit For,Zasiłek roszczenia dla,
+Max Amount Eligible,Maksymalna kwota kwalifikująca się,
+Expense Proof,Dowód wydatków,
+Employee Boarding Activity,Działalność Boarding pracownika,
+Activity Name,Nazwa działania,
+Task Weight,Zadanie waga,
+Required for Employee Creation,Wymagany w przypadku tworzenia pracowników,
+Applicable in the case of Employee Onboarding,Ma zastosowanie w przypadku wprowadzenia pracownika na rynek,
+Employee Checkin,Checkin pracownika,
+Log Type,Typ dziennika,
+OUT,NA ZEWNĄTRZ,
+Location / Device ID,Lokalizacja / identyfikator urządzenia,
+Skip Auto Attendance,Pomiń automatyczne uczestnictwo,
+Shift Start,Shift Start,
+Shift End,Shift End,
+Shift Actual Start,Shift Actual Start,
+Shift Actual End,Shift Actual End,
+Employee Education,Wykształcenie pracownika,
+School/University,Szkoła/Uniwersytet,
+Graduate,Absolwent,
+Post Graduate,Podyplomowe,
+Under Graduate,Absolwent,
+Year of Passing,Mijający rok,
+Major/Optional Subjects,Główne/Opcjonalne Tematy,
+Employee External Work History,Historia zatrudnienia pracownika poza firmą,
+Total Experience,Całkowita kwota wydatków,
+Default Leave Policy,Domyślna Polityka Nieobecności,
+Default Salary Structure,Domyślna struktura wynagrodzenia,
+Employee Group Table,Tabela grup pracowników,
+ERPNext User ID,ERPNext Identyfikator użytkownika,
+Employee Health Insurance,Ubezpieczenie zdrowotne pracownika,
+Health Insurance Name,Nazwa ubezpieczenia zdrowotnego,
+Employee Incentive,Zachęta dla pracowników,
+Incentive Amount,Kwota motywacyjna,
+Employee Internal Work History,Historia zatrudnienia pracownika w firmie,
+Employee Onboarding,Wprowadzanie pracowników,
+Notify users by email,Powiadom użytkowników pocztą e-mail,
+Employee Onboarding Template,Szablon do wprowadzania pracowników,
+Activities,Zajęcia,
+Employee Onboarding Activity,Aktywność pracownika na pokładzie,
+Employee Other Income,Inne dochody pracownika,
+Employee Promotion,Promocja pracowników,
+Promotion Date,Data promocji,
+Employee Promotion Details,Szczegóły promocji pracowników,
+Employee Promotion Detail,Szczegóły promocji pracowników,
+Employee Property History,Historia nieruchomości pracownika,
+Employee Separation,Separacja pracowników,
+Employee Separation Template,Szablon separacji pracowników,
+Exit Interview Summary,Wyjdź z podsumowania wywiadu,
+Employee Skill,Umiejętność pracownika,
+Proficiency,Biegłość,
+Evaluation Date,Data oceny,
+Employee Skill Map,Mapa umiejętności pracowników,
+Employee Skills,Umiejętności pracowników,
+Trainings,Szkolenia,
+Employee Tax Exemption Category,Kategoria zwolnienia z podatku dochodowego od pracowników,
+Max Exemption Amount,Maksymalna kwota zwolnienia,
+Employee Tax Exemption Declaration,Deklaracja zwolnienia z podatku od pracowników,
+Declarations,Deklaracje,
+Total Declared Amount,Całkowita zadeklarowana kwota,
+Total Exemption Amount,Całkowita kwota zwolnienia,
+Employee Tax Exemption Declaration Category,Kategoria deklaracji zwolnienia podatkowego dla pracowników,
+Exemption Sub Category,Kategoria zwolnienia,
+Exemption Category,Kategoria zwolnienia,
+Maximum Exempted Amount,Maksymalna kwota zwolniona,
+Declared Amount,Zadeklarowana kwota,
+Employee Tax Exemption Proof Submission,Świadectwo zwolnienia podatkowego dla pracowników,
+Submission Date,Termin składania,
+Tax Exemption Proofs,Dowody zwolnienia podatkowego,
+Total Actual Amount,Całkowita rzeczywista kwota,
+Employee Tax Exemption Proof Submission Detail,Szczegółowe informacje dotyczące złożenia zeznania podatkowego dla pracowników,
+Maximum Exemption Amount,Maksymalna kwota zwolnienia,
+Type of Proof,Rodzaj dowodu,
+Actual Amount,Rzeczywista kwota,
+Employee Tax Exemption Sub Category,Podkategoria zwolnień podatkowych dla pracowników,
+Tax Exemption Category,Kategoria zwolnienia podatkowego,
+Employee Training,Szkolenie pracowników,
+Training Date,Data szkolenia,
+Employee Transfer,Przeniesienie pracownika,
+Transfer Date,Data przeniesienia,
+Employee Transfer Details,Dane dotyczące przeniesienia pracownika,
+Employee Transfer Detail,Dane dotyczące przeniesienia pracownika,
+Re-allocate Leaves,Realokuj Nieobeności,
+Create New Employee Id,Utwórz nowy identyfikator pracownika,
+New Employee ID,Nowy identyfikator pracownika,
+Employee Transfer Property,Usługa przenoszenia pracowniczych,
+HR-EXP-.YYYY.-,HR-EXP-.RRRR.-,
+Expense Taxes and Charges,Podatki i opłaty z tytułu kosztów,
+Total Sanctioned Amount,Całkowita kwota uznań,
+Total Advance Amount,Łączna kwota zaliczki,
+Total Claimed Amount,Całkowita kwota roszczeń,
+Total Amount Reimbursed,Całkowitej kwoty zwrotów,
+Vehicle Log,pojazd Log,
+Employees Email Id,Email ID pracownika,
+More Details,Więcej szczegółów,
+Expense Claim Account,Konto Koszty Roszczenie,
+Expense Claim Advance,Advance Claim Advance,
+Unclaimed amount,Nie zgłoszona kwota,
+Expense Claim Detail,Szczegóły o zwrotach kosztów,
+Expense Date,Data wydatku,
+Expense Claim Type,Typ Zwrotu Kosztów,
+Holiday List Name,Nazwa dla Listy Świąt,
+Total Holidays,Suma dni świątecznych,
+Add Weekly Holidays,Dodaj cotygodniowe święta,
+Weekly Off,Tygodniowy wyłączony,
+Add to Holidays,Dodaj do świąt,
+Holidays,Wakacje,
+Clear Table,Wyczyść tabelę,
+HR Settings,Ustawienia HR,
+Employee Settings,Ustawienia pracownika,
+Retirement Age,Wiek emerytalny,
+Enter retirement age in years,Podaj wiek emerytalny w latach,
+Stop Birthday Reminders,Zatrzymaj przypomnienia o urodzinach,
+Expense Approver Mandatory In Expense Claim,Potwierdzenie wydatków Obowiązkowe w rachunku kosztów,
+Payroll Settings,Ustawienia Listy Płac,
+Leave,Pozostawiać,
+Max working hours against Timesheet,Maksymalny czas pracy przed grafiku,
+Include holidays in Total no. of Working Days,Dolicz święta do całkowitej liczby dni pracujących,
+"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Jeśli zaznaczone, Całkowita liczba Dni Roboczych obejmie święta, a to zmniejsza wartość Wynagrodzenie za dzień",
+"If checked, hides and disables Rounded Total field in Salary Slips","Jeśli zaznaczone, ukrywa i wyłącza pole Zaokrąglona suma w kuponach wynagrodzeń",
+The fraction of daily wages to be paid for half-day attendance,Część dziennego wynagrodzenia za obecność na pół dnia,
+Email Salary Slip to Employee,Email Wynagrodzenie Slip pracownikowi,
+Emails salary slip to employee based on preferred email selected in Employee,Emaile wynagrodzenia poślizgu pracownikowi na podstawie wybranego w korzystnej email Pracownika,
+Encrypt Salary Slips in Emails,Szyfruj poświadczenia wynagrodzenia w wiadomościach e-mail,
+"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","Ślad wynagrodzenia przesłany pocztą elektroniczną do pracownika będzie chroniony hasłem, hasło zostanie wygenerowane na podstawie polityki haseł.",
+Password Policy,Polityka haseł,
+<b>Example:</b> SAL-{first_name}-{date_of_birth.year} <br>This will generate a password like SAL-Jane-1972,<b>Przykład:</b> SAL- {first_name} - {date_of_birth.year} <br> Spowoduje to wygenerowanie hasła takiego jak SAL-Jane-1972,
+Leave Settings,Ustawienia Nieobecności,
+Leave Approval Notification Template,Pozostaw szablon powiadomienia o zatwierdzeniu,
+Leave Status Notification Template,Pozostaw szablon powiadomienia o statusie,
+Role Allowed to Create Backdated Leave Application,Rola dozwolona do utworzenia aplikacji urlopowej z datą wsteczną,
+Leave Approver Mandatory In Leave Application,Pozostaw zatwierdzającego obowiązkowo w aplikacji opuszczającej,
+Show Leaves Of All Department Members In Calendar,Pokaż Nieobecności Wszystkich Członków Działu w Kalendarzu,
+Auto Leave Encashment,Auto Leave Encashment,
+Hiring Settings,Ustawienia wynajmu,
+Check Vacancies On Job Offer Creation,Sprawdź oferty pracy w tworzeniu oferty pracy,
+Identification Document Type,Typ dokumentu tożsamości,
+Effective from,Obowiązuje od,
+Allow Tax Exemption,Zezwalaj na zwolnienie z podatku,
+"If enabled, Tax Exemption Declaration will be considered for income tax calculation.","Jeśli ta opcja jest włączona, deklaracja zwolnienia z podatku będzie brana pod uwagę przy obliczaniu podatku dochodowego.",
+Standard Tax Exemption Amount,Kwota zwolnienia z podatku standardowego,
+Taxable Salary Slabs,Podatki podlegające opodatkowaniu,
+Taxes and Charges on Income Tax,Podatki i opłaty od podatku dochodowego,
+Other Taxes and Charges,Inne podatki i opłaty,
+Income Tax Slab Other Charges,Płyta podatku dochodowego Inne opłaty,
+Min Taxable Income,Min. Dochód podlegający opodatkowaniu,
+Max Taxable Income,Maksymalny dochód podlegający opodatkowaniu,
+Applicant for a Job,Aplikant do Pracy,
+Accepted,Przyjęte,
+Job Opening,Otwarcie naboru na stanowisko,
+Cover Letter,List motywacyjny,
+Resume Attachment,W skrócie Załącznik,
+Job Applicant Source,Źródło wniosku o pracę,
+Applicant Email Address,Adres e-mail wnioskodawcy,
+Awaiting Response,Oczekuje na Odpowiedź,
+Job Offer Terms,Warunki oferty pracy,
+Select Terms and Conditions,Wybierz Regulamin,
+Printing Details,Szczegóły Wydruku,
+Job Offer Term,Okres oferty pracy,
+Offer Term,Oferta Term,
+Value / Description,Wartość / Opis,
+Description of a Job Opening,Opis Ogłoszenia o Pracę,
+Job Title,Nazwa stanowiska pracy,
+Staffing Plan,Plan zatrudnienia,
+Planned number of Positions,Planowana liczba pozycji,
+"Job profile, qualifications required etc.","Profil stanowiska pracy, wymagane kwalifikacje itp.",
+HR-LAL-.YYYY.-,HR-LAL-.RRRR.-,
+Allocation,Przydział,
+New Leaves Allocated,Nowe Nieobecności Zaalokowane,
+Add unused leaves from previous allocations,Dodaj niewykorzystane nieobecności z poprzednich alokacji,
+Unused leaves,Niewykorzystane Nieobecności,
+Total Leaves Allocated,Całkowita ilość przyznanych dni zwolnienia od pracy,
+Total Leaves Encashed,Total Leaves Encashed,
+Leave Period,Okres Nieobecności,
+Apply / Approve Leaves,Zastosuj / Zatwierdź Nieobecności,
+HR-LAP-.YYYY.-,HR-LAP-.YYYY.-,
+Leave Balance Before Application,Status Nieobecności przed Wnioskiem,
+Total Leave Days,Całkowita liczba Dni Nieobecności,
+Leave Approver Name,Nazwa Zatwierdzającego Nieobecność,
+Follow via Email,Odpowiedz za pomocą E-maila,
+Block Holidays on important days.,Blok Wakacje na ważne dni.,
+Leave Block List Name,Nazwa Listy Blokowanych Nieobecności,
+Applies to Company,Dotyczy Firmy,
+"If not checked, the list will have to be added to each Department where it has to be applied.","Jeśli nie jest zaznaczone, lista będzie musiała być dodana do każdego Działu, w którym ma zostać zastosowany.",
+Block Days,Zablokowany Dzień,
+Stop users from making Leave Applications on following days.,Zatrzymaj możliwość składania zwolnienia chorobowego użytkownikom w następujące dni.,
+Leave Block List Dates,Daty dopuszczenia na Liście Blokowanych Nieobecności,
+Allow Users,Zezwól Użytkownikom,
+Leave Block List Allowed,Dopuszczone na Liście Blokowanych Nieobecności,
+Leave Block List Allow,Dopuść na Liście Blokowanych Nieobecności,
+Allow User,Zezwól Użytkownikowi,
+Leave Block List Date,Data dopuszczenia na Liście Blokowanych Nieobecności,
+Block Date,Zablokowana Data,
+Leave Control Panel,Panel do obsługi Nieobecności,
+Select Employees,Wybierz Pracownicy,
+Employment Type (optional),Rodzaj zatrudnienia (opcjonalnie),
+Branch (optional),Oddział (opcjonalnie),
+Department (optional),Dział (opcjonalnie),
+Designation (optional),Oznaczenie (opcjonalnie),
+Employee Grade (optional),Stopień pracownika (opcjonalnie),
+Employee (optional),Pracownik (opcjonalnie),
+Allocate Leaves,Przydziel liście,
+Carry Forward,Przeniesienie,
+Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Proszę wybrać Przeniesienie jeżeli chcesz uwzględnić balans poprzedniego roku rozliczeniowego do tego roku rozliczeniowego,
+New Leaves Allocated (In Days),Nowe Nieobecności Zaalokowane (W Dniach),
+Allocate,Przydziel,
+Leave Balance,Pozostaw saldo,
+Encashable days,Szykowne dni,
+Encashment Amount,Kwota rabatu,
+Leave Ledger Entry,Pozostaw wpis księgi głównej,
+Transaction Name,Nazwa transakcji,
+Is Expired,Straciła ważność,
+Is Leave Without Pay,jest Urlopem Bezpłatnym,
+Holiday List for Optional Leave,Lista urlopowa dla Opcjonalnej Nieobecności,
+Leave Allocations,Alokacje Nieobecności,
+Leave Policy Details,Szczegóły Polityki Nieobecności,
+Leave Policy Detail,Szczegół Polityki Nieobecności,
+Annual Allocation,Roczna alokacja,
+Leave Type Name,Nazwa Typu Urlopu,
+Max Leaves Allowed,"Maksymalna, dozwolona liczba Nieobecności",
+Applicable After (Working Days),Dotyczy After (dni robocze),
+Maximum Continuous Days Applicable,Maksymalne ciągłe dni obowiązujące,
+Is Optional Leave,jest Nieobecnością Opcjonalną,
+Allow Negative Balance,Dozwolony ujemny bilans,
+Include holidays within leaves as leaves,Uwzględniaj święta w ramach Nieobecności,
+Is Compensatory,Jest kompensacyjny,
+Maximum Carry Forwarded Leaves,Maksymalna liczba przeniesionych liści,
+Expire Carry Forwarded Leaves (Days),Wygasają przenoszenie przekazanych liści (dni),
+Calculated in days,Obliczany w dniach,
+Encashment,Napad,
+Allow Encashment,Zezwól na Osadzanie,
+Encashment Threshold Days,Progi prolongaty,
+Earned Leave,Urlop w ramach nagrody,
+Is Earned Leave,jest Urlopem w ramach Nagrody,
+Earned Leave Frequency,Częstotliwość Urlopu w ramach nagrody,
+Rounding,Zaokrąglanie,
+Payroll Employee Detail,Szczegóły dotyczące kadry płacowej,
+Payroll Frequency,Częstotliwość Płace,
+Fortnightly,Dwutygodniowy,
+Bimonthly,Dwumiesięczny,
+Employees,Pracowników,
+Number Of Employees,Liczba pracowników,
+Validate Attendance,Zweryfikuj Frekfencję,
+Salary Slip Based on Timesheet,Slip Wynagrodzenie podstawie grafiku,
+Select Payroll Period,Wybierz Okres Payroll,
+Deduct Tax For Unclaimed Employee Benefits,Odliczanie podatku za nieodebrane świadczenia pracownicze,
+Deduct Tax For Unsubmitted Tax Exemption Proof,Odliczanie podatku za nieprzedstawiony dowód zwolnienia podatkowego,
+Select Payment Account to make Bank Entry,Wybierz Konto Płatność aby bankowego Entry,
+Salary Slips Created,Utworzono zarobki,
+Salary Slips Submitted,Przesłane wynagrodzenie,
+Payroll Periods,Okresy płac,
+Payroll Period Date,Okres listy płac,
+Purpose of Travel,Cel podróży,
+Retention Bonus,Premia z zatrzymania,
+Bonus Payment Date,Data wypłaty bonusu,
+Bonus Amount,Kwota Bonusu,
+Abbr,Skrót,
+Depends on Payment Days,Zależy od dni płatności,
+Is Tax Applicable,Podatek obowiązuje,
+Variable Based On Taxable Salary,Zmienna oparta na podlegającym opodatkowaniu wynagrodzeniu,
+Exempted from Income Tax,Zwolnione z podatku dochodowego,
+Round to the Nearest Integer,Zaokrąglij do najbliższej liczby całkowitej,
+Statistical Component,Składnik statystyczny,
+"If selected, the value specified or calculated in this component will not contribute to the earnings or deductions. However, it's value can be referenced by other components that can be added or deducted. ","Jeśli zostanie wybrana, wartość określona lub obliczona w tym składniku nie przyczyni się do zarobków ani odliczeń. Jednak wartością tę można odwoływać się do innych składników, które można dodawać lub potrącać.",
+Do Not Include in Total,Nie uwzględniaj w sumie,
+Flexible Benefits,Elastyczne korzyści,
+Is Flexible Benefit,Elastyczna korzyść,
+Max Benefit Amount (Yearly),Kwota maksymalnego świadczenia (rocznie),
+Only Tax Impact (Cannot Claim But Part of Taxable Income),Tylko wpływ podatkowy (nie można domagać się części dochodu podlegającego opodatkowaniu),
+Create Separate Payment Entry Against Benefit Claim,Utwórz oddzielne zgłoszenie wpłaty na poczet roszczenia o zasiłek,
+Condition and Formula,Stan i wzór,
+Amount based on formula,Kwota wg wzoru,
+Formula,Formuła,
+Salary Detail,Wynagrodzenie Szczegóły,
+Component,Składnik,
+Do not include in total,Nie obejmują łącznie,
+Default Amount,Domyślnie Kwota,
+Additional Amount,Dodatkowa ilość,
+Tax on flexible benefit,Podatek od elastycznej korzyści,
+Tax on additional salary,Podatek od dodatkowego wynagrodzenia,
+Salary Structure,Struktura Wynagrodzenia,
+Working Days,Dni robocze,
+Salary Slip Timesheet,Slip Wynagrodzenie grafiku,
+Total Working Hours,Całkowita liczba godzin pracy,
+Hour Rate,Stawka godzinowa,
+Bank Account No.,Nr konta bankowego,
+Earning & Deduction,Dochód i Odliczenie,
+Earnings,Dochody,
+Deductions,Odliczenia,
+Loan repayment,Spłata pożyczki,
+Employee Loan,pracownik Kredyt,
+Total Principal Amount,Łączna kwota główna,
+Total Interest Amount,Łączna kwota odsetek,
+Total Loan Repayment,Suma spłaty kredytu,
+net pay info,Informacje o wynagrodzeniu netto,
+Gross Pay - Total Deduction - Loan Repayment,Gross Pay - Razem Odliczenie - Spłata kredytu,
+Total in words,Ogółem słownie,
+Net Pay (in words) will be visible once you save the Salary Slip.,Wynagrodzenie netto (słownie) będzie widoczna po zapisaniu na Liście Płac.,
+Salary Component for timesheet based payroll.,Składnik wynagrodzenia za płac opartego grafik.,
+Leave Encashment Amount Per Day,Zostaw kwotę za dzieło na dzień,
+Max Benefits (Amount),Maksymalne korzyści (kwota),
+Salary breakup based on Earning and Deduction.,Średnie wynagrodzenie w oparciu o zarobki i odliczenia,
+Total Earning,Całkowita kwota zarobku,
+Salary Structure Assignment,Przydział struktury wynagrodzeń,
+Shift Assignment,Przydział Shift,
+Shift Type,Typ zmiany,
+Shift Request,Żądanie zmiany,
+Enable Auto Attendance,Włącz automatyczne uczestnictwo,
+Mark attendance based on 'Employee Checkin' for Employees assigned to this shift.,Oznacz obecność na podstawie „Checkin pracownika” dla pracowników przypisanych do tej zmiany.,
+Auto Attendance Settings,Ustawienia automatycznej obecności,
+Determine Check-in and Check-out,Określ odprawę i wymeldowanie,
+Alternating entries as IN and OUT during the same shift,Naprzemienne wpisy jako IN i OUT podczas tej samej zmiany,
+Strictly based on Log Type in Employee Checkin,Ściśle na podstawie typu dziennika w Checkin pracownika,
+Working Hours Calculation Based On,Obliczanie godzin pracy na podstawie,
+First Check-in and Last Check-out,Pierwsze zameldowanie i ostatnie wymeldowanie,
+Every Valid Check-in and Check-out,Każde ważne zameldowanie i wymeldowanie,
+Begin check-in before shift start time (in minutes),Rozpocznij odprawę przed czasem rozpoczęcia zmiany (w minutach),
+The time before the shift start time during which Employee Check-in is considered for attendance.,"Czas przed rozpoczęciem zmiany, podczas którego odprawa pracownicza jest brana pod uwagę przy uczestnictwie.",
+Allow check-out after shift end time (in minutes),Zezwól na wymeldowanie po zakończeniu czasu zmiany (w minutach),
+Time after the end of shift during which check-out is considered for attendance.,"Czas po zakończeniu zmiany, w trakcie którego wymeldowanie jest brane pod uwagę.",
+Working Hours Threshold for Half Day,Próg godzin pracy na pół dnia,
+Working hours below which Half Day is marked. (Zero to disable),"Godziny pracy, poniżej których zaznaczono pół dnia. (Zero, aby wyłączyć)",
+Working Hours Threshold for Absent,Próg godzin pracy dla nieobecności,
+Working hours below which Absent is marked. (Zero to disable),"Godziny pracy poniżej których nieobecność jest zaznaczona. (Zero, aby wyłączyć)",
+Process Attendance After,Uczestnictwo w procesie po,
+Attendance will be marked automatically only after this date.,Obecność zostanie oznaczona automatycznie dopiero po tej dacie.,
+Last Sync of Checkin,Ostatnia synchronizacja odprawy,
+Last Known Successful Sync of Employee Checkin. Reset this only if you are sure that all Logs are synced from all the locations. Please don't modify this if you are unsure.,"Ostatnia znana udana synchronizacja odprawy pracownika. Zresetuj to tylko wtedy, gdy masz pewność, że wszystkie dzienniki są synchronizowane ze wszystkich lokalizacji. Nie zmieniaj tego, jeśli nie jesteś pewien.",
+Grace Period Settings For Auto Attendance,Ustawienia okresu Grace dla automatycznej obecności,
+Enable Entry Grace Period,Włącz okres ważności wpisu,
+Late Entry Grace Period,Okres późnego wejścia,
+The time after the shift start time when check-in is considered as late (in minutes).,"Czas po godzinie rozpoczęcia zmiany, gdy odprawa jest uważana za późną (w minutach).",
+Enable Exit Grace Period,Włącz okres wyjścia Grace,
+Early Exit Grace Period,Wczesny okres wyjścia z inwestycji,
+The time before the shift end time when check-out is considered as early (in minutes).,"Czas przed czasem zakończenia zmiany, gdy wymeldowanie jest uważane za wczesne (w minutach).",
+Skill Name,Nazwa umiejętności,
+Staffing Plan Details,Szczegółowy plan zatrudnienia,
+Staffing Plan Detail,Szczegółowy plan zatrudnienia,
+Total Estimated Budget,Całkowity szacunkowy budżet,
+Vacancies,Wakaty,
+Estimated Cost Per Position,Szacowany koszt na stanowisko,
+Total Estimated Cost,Całkowity szacunkowy koszt,
+Current Count,Bieżąca liczba,
+Current Openings,Aktualne otwarcia,
+Number Of Positions,Liczba pozycji,
+Taxable Salary Slab,Podatki podlegające opodatkowaniu,
+From Amount,Od kwoty,
+To Amount,Do kwoty,
+Percent Deduction,Odliczenie procentowe,
+Training Program,Program treningowy,
+Event Status,zdarzenia,
+Has Certificate,Ma certyfikat,
+Seminar,Seminarium,
+Theory,Teoria,
+Workshop,Warsztat,
+Conference,Konferencja,
+Exam,Egzamin,
+Internet,Internet,
+Self-Study,Samokształcenie,
+Advance,Zaliczka,
+Trainer Name,Nazwa Trainer,
+Trainer Email,Trener email,
+Attendees,Uczestnicy,
+Employee Emails,E-maile z pracownikami,
+Training Event Employee,Training Event urzędnik,
+Invited,Zaproszony,
+Feedback Submitted,Zgłoszenie Zgłoszony,
+Optional,Opcjonalny,
+Training Result Employee,Wynik szkolenia pracowników,
+Travel Itinerary,Plan podróży,
+Travel From,Podróżuj z,
+Travel To,Podróż do,
+Mode of Travel,Tryb podróży,
+Flight,Lot,
+Train,Pociąg,
+Taxi,Taxi,
+Rented Car,Wynajęty samochód,
+Meal Preference,Preferencje Posiłków,
+Vegetarian,Wegetariański,
+Non-Vegetarian,Nie wegetarianskie,
+Gluten Free,Bezglutenowe,
+Non Diary,Non Diary,
+Travel Advance Required,Wymagane wcześniejsze podróżowanie,
+Departure Datetime,Data wyjazdu Datetime,
+Arrival Datetime,Przybycie Datetime,
+Lodging Required,Wymagane zakwaterowanie,
+Preferred Area for Lodging,Preferowany obszar zakwaterowania,
+Check-in Date,Sprawdź w terminie,
+Check-out Date,Sprawdź datę,
+Travel Request,Wniosek o podróż,
+Travel Type,Rodzaj podróży,
+Domestic,Krajowy,
+International,Międzynarodowy,
+Travel Funding,Finansowanie podróży,
+Require Full Funding,Wymagaj pełnego finansowania,
+Fully Sponsored,W pełni sponsorowane,
+"Partially Sponsored, Require Partial Funding","Częściowo sponsorowane, wymagające częściowego finansowania",
+Copy of Invitation/Announcement,Kopia zaproszenia / ogłoszenia,
+"Details of Sponsor (Name, Location)","Dane sponsora (nazwa, lokalizacja)",
+Identification Document Number,Numer identyfikacyjny dokumentu,
+Any other details,Wszelkie inne szczegóły,
+Costing Details,Szczegóły dotyczące kalkulacji kosztów,
+Costing,Zestawienie kosztów,
+Event Details,Szczegóły wydarzenia,
+Name of Organizer,Nazwa organizatora,
+Address of Organizer,Adres Organizatora,
+Travel Request Costing,Koszt wniosku podróży,
+Expense Type,Typ wydatków,
+Sponsored Amount,Sponsorowana kwota,
+Funded Amount,Kwota dofinansowania,
+Upload Attendance,Wyślij obecność,
+Attendance From Date,Obecność od Daty,
+Attendance To Date,Obecność do Daty,
+Get Template,Pobierz szablon,
+Import Attendance,Importuj Frekwencję,
+Upload HTML,Wyślij HTML,
+Vehicle,Pojazd,
+License Plate,Tablica rejestracyjna,
+Odometer Value (Last),Drogomierz Wartość (Ostatni),
+Acquisition Date,Data nabycia,
+Chassis No,Podwozie Nie,
+Vehicle Value,Wartość pojazdu,
+Insurance Details,Szczegóły ubezpieczenia,
+Insurance Company,Firma ubezpieczeniowa,
+Policy No,Polityka nr,
+Additional Details,Dodatkowe Szczegóły,
+Fuel Type,Typ paliwa,
+Petrol,Benzyna,
+Diesel,Diesel,
+Natural Gas,Gazu ziemnego,
+Electric,Elektryczny,
+Fuel UOM,Jednostka miary paliwa,
+Last Carbon Check,Ostatni Carbon Sprawdź,
+Wheels,Koła,
+Doors,drzwi,
+HR-VLOG-.YYYY.-,HR-VLOG-.YYYY.-,
+Odometer Reading,Stan licznika,
+Current Odometer value ,Aktualna wartość licznika przebiegu,
+last Odometer Value ,ostatnia wartość licznika przebiegu,
+Refuelling Details,Szczegóły tankowania,
+Invoice Ref,faktura Ref,
+Service Details,Szczegóły usługi,
+Service Detail,Szczegóły usługi,
+Vehicle Service,Obsługa pojazdu,
+Service Item,service Element,
+Brake Oil,Olej hamulcowy,
+Brake Pad,Klocek hamulcowy,
+Clutch Plate,sprzęgło,
+Engine Oil,Olej silnikowy,
+Oil Change,Wymiana oleju,
+Inspection,Kontrola,
+Mileage,Przebieg,
+Hub Tracked Item,Hub Tracked Item,
+Hub Node,Hub Węzeł,
+Image List,Lista obrazów,
+Item Manager,Pozycja menedżera,
+Hub User,Użytkownik centrum,
+Hub Password,Hasło koncentratora,
+Hub Users,Użytkownicy centrum,
+Marketplace Settings,Ustawienia Marketplace,
+Disable Marketplace,Wyłącz Marketplace,
+Marketplace URL (to hide and update label),Adres URL rynku (aby ukryć i zaktualizować etykietę),
+Registered,Zarejestrowany,
+Sync in Progress,Synchronizacja w toku,
+Hub Seller Name,Nazwa sprzedawcy Hub,
+Custom Data,Dane niestandardowe,
+Member,Członek,
+Partially Disbursed,częściowo wypłacona,
+Loan Closure Requested,Zażądano zamknięcia pożyczki,
+Repay From Salary,Spłaty z pensji,
+Loan Details,pożyczka Szczegóły,
+Loan Type,Rodzaj kredytu,
+Loan Amount,Kwota kredytu,
+Is Secured Loan,Jest zabezpieczona pożyczka,
+Rate of Interest (%) / Year,Stopa procentowa (% / rok),
+Disbursement Date,wypłata Data,
+Disbursed Amount,Kwota wypłacona,
+Is Term Loan,Jest pożyczką terminową,
+Repayment Method,Sposób spłaty,
+Repay Fixed Amount per Period,Spłacić ustaloną kwotę za okres,
+Repay Over Number of Periods,Spłaty przez liczbę okresów,
+Repayment Period in Months,Spłata Okres w miesiącach,
+Monthly Repayment Amount,Miesięczna kwota spłaty,
+Repayment Start Date,Data rozpoczęcia spłaty,
+Loan Security Details,Szczegóły bezpieczeństwa pożyczki,
+Maximum Loan Value,Maksymalna wartość pożyczki,
+Account Info,Informacje o koncie,
+Loan Account,Konto kredytowe,
+Interest Income Account,Konto przychodów odsetkowych,
+Penalty Income Account,Rachunek dochodów z kar,
+Repayment Schedule,Harmonogram spłaty,
+Total Payable Amount,Całkowita należna kwota,
+Total Principal Paid,Łącznie wypłacone główne zlecenie,
+Total Interest Payable,Razem odsetki płatne,
+Total Amount Paid,Łączna kwota zapłacona,
+Loan Manager,Menedżer pożyczek,
+Loan Info,pożyczka Info,
+Rate of Interest,Stopa procentowa,
+Proposed Pledges,Proponowane zobowiązania,
+Maximum Loan Amount,Maksymalna kwota kredytu,
+Repayment Info,Informacje spłata,
+Total Payable Interest,Całkowita zapłata odsetek,
+Against Loan ,Przed pożyczką,
+Loan Interest Accrual,Narosłe odsetki od pożyczki,
+Amounts,Kwoty,
+Pending Principal Amount,Oczekująca kwota główna,
+Payable Principal Amount,Kwota główna do zapłaty,
+Paid Principal Amount,Zapłacona kwota główna,
+Paid Interest Amount,Kwota zapłaconych odsetek,
+Process Loan Interest Accrual,Przetwarzanie naliczonych odsetek od kredytu,
+Repayment Schedule Name,Nazwa harmonogramu spłaty,
+Regular Payment,Regularna płatność,
+Loan Closure,Zamknięcie pożyczki,
+Payment Details,Szczegóły płatności,
+Interest Payable,Odsetki płatne,
+Amount Paid,Kwota zapłacona,
+Principal Amount Paid,Kwota główna wypłacona,
+Repayment Details,Szczegóły spłaty,
+Loan Repayment Detail,Szczegóły spłaty pożyczki,
+Loan Security Name,Nazwa zabezpieczenia pożyczki,
+Unit Of Measure,Jednostka miary,
+Loan Security Code,Kod bezpieczeństwa pożyczki,
+Loan Security Type,Rodzaj zabezpieczenia pożyczki,
+Haircut %,Strzyżenie%,
+Loan  Details,Szczegóły pożyczki,
+Unpledged,Niepowiązane,
+Pledged,Obiecał,
+Partially Pledged,Częściowo obiecane,
+Securities,Papiery wartościowe,
+Total Security Value,Całkowita wartość bezpieczeństwa,
+Loan Security Shortfall,Niedobór bezpieczeństwa pożyczki,
+Loan ,Pożyczka,
+Shortfall Time,Czas niedoboru,
+America/New_York,America / New_York,
+Shortfall Amount,Kwota niedoboru,
+Security Value ,Wartość bezpieczeństwa,
+Process Loan Security Shortfall,Niedobór bezpieczeństwa pożyczki procesowej,
+Loan To Value Ratio,Wskaźnik pożyczki do wartości,
+Unpledge Time,Unpledge Time,
+Loan Name,pożyczka Nazwa,
+Rate of Interest (%) Yearly,Stopa procentowa (%) Roczne,
+Penalty Interest Rate (%) Per Day,Kara odsetkowa (%) dziennie,
+Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,Kara odsetkowa naliczana jest codziennie od oczekującej kwoty odsetek w przypadku opóźnionej spłaty,
+Grace Period in Days,Okres karencji w dniach,
+No. of days from due date until which penalty won't be charged in case of delay in loan repayment,"Liczba dni od daty wymagalności, do której kara nie będzie naliczana w przypadku opóźnienia w spłacie kredytu",
+Pledge,Zastaw,
+Post Haircut Amount,Kwota po ostrzyżeniu,
+Process Type,Typ procesu,
+Update Time,Czas aktualizacji,
+Proposed Pledge,Proponowane zobowiązanie,
+Total Payment,Całkowita płatność,
+Balance Loan Amount,Kwota salda kredytu,
+Is Accrued,Jest naliczony,
+Salary Slip Loan,Salary Slip Loan,
+Loan Repayment Entry,Wpis spłaty kredytu,
+Sanctioned Loan Amount,Kwota udzielonej sankcji,
+Sanctioned Amount Limit,Sankcjonowany limit kwoty,
+Unpledge,Unpledge,
+Haircut,Ostrzyżenie,
+MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
+Generate Schedule,Utwórz Harmonogram,
+Schedules,Harmonogramy,
+Maintenance Schedule Detail,Szczegóły Planu Konserwacji,
+Scheduled Date,Zaplanowana Data,
+Actual Date,Rzeczywista Data,
+Maintenance Schedule Item,Przedmiot Planu Konserwacji,
+Random,Losowy,
+No of Visits,Numer wizyt,
+MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
+Maintenance Date,Data Konserwacji,
+Maintenance Time,Czas Konserwacji,
+Completion Status,Status ukończenia,
+Partially Completed,Częściowo Ukończony,
+Fully Completed,Całkowicie ukończono,
+Unscheduled,Nieplanowany,
+Breakdown,Rozkład,
+Purposes,Cele,
+Customer Feedback,Informacja zwrotna Klienta,
+Maintenance Visit Purpose,Cel Wizyty Konserwacji,
+Work Done,Praca wykonana,
+MFG-BLR-.YYYY.-,MFG-BLR-.RRRR.-,
+Order Type,Typ zamówienia,
+Blanket Order Item,Koc Zamówienie przedmiotu,
+Ordered Quantity,Zamówiona Ilość,
+Item to be manufactured or repacked,"Produkt, który ma zostać wyprodukowany lub przepakowany",
+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,
+Set rate of sub-assembly item based on BOM,Ustaw stawkę pozycji podzakresu na podstawie BOM,
+Allow Alternative Item,Zezwalaj na alternatywną pozycję,
+Item UOM,Jednostka miary produktu,
+Conversion Rate,Współczynnik konwersji,
+Rate Of Materials Based On,Stawka Materiałów Wzorowana na,
+With Operations,Wraz z działaniami,
+Manage cost of operations,Zarządzaj kosztami działań,
+Transfer Material Against,Materiał transferowy przeciwko,
+Routing,Routing,
+Materials,Materiały,
+Quality Inspection Required,Wymagana kontrola jakości,
+Quality Inspection Template,Szablon kontroli jakości,
+Scrap,Skrawek,
+Scrap Items,złom przedmioty,
+Operating Cost,Koszty Operacyjne,
+Raw Material Cost,Koszt surowców,
+Scrap Material Cost,Złom Materiał Koszt,
+Operating Cost (Company Currency),Koszty operacyjne (Spółka waluty),
+Raw Material Cost (Company Currency),Koszt surowców (waluta spółki),
+Scrap Material Cost(Company Currency),Złom koszt materiału (Spółka waluty),
+Total Cost,Koszt całkowity,
+Total Cost (Company Currency),Koszt całkowity (waluta firmy),
+Materials Required (Exploded),Materiał Wymaga (Rozdzielony),
+Exploded Items,Przedmioty wybuchowe,
+Show in Website,Pokaż w witrynie,
+Item Image (if not slideshow),Element Obrazek (jeśli nie slideshow),
+Thumbnail,Miniaturka,
+Website Specifications,Specyfikacja strony WWW,
+Show Items,jasnowidze,
+Show Operations,Pokaż Operations,
+Website Description,Opis strony WWW,
+Qty Consumed Per Unit,Ilość skonsumowana na Jednostkę,
+Include Item In Manufacturing,Dołącz przedmiot do produkcji,
+Item operation,Obsługa przedmiotu,
+Rate & Amount,Stawka i kwota,
+Basic Rate (Company Currency),Podstawowy wskaźnik (Waluta Firmy),
+Original Item,Oryginalna pozycja,
+BOM Operation,BOM Operacja,
+Operation Time ,Czas operacji,
+In minutes,W minutach,
+Batch Size,Wielkość partii,
+Base Hour Rate(Company Currency),Baza Hour Rate (Spółka waluty),
+Operating Cost(Company Currency),Koszty operacyjne (Spółka waluty),
+BOM Scrap Item,BOM Złom Item,
+Basic Amount (Company Currency),Kwota podstawowa (Spółka waluty),
+BOM Update Tool,Narzędzie aktualizacji BOM,
+"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM.\nIt also updates latest price in all the BOMs.","Zastąp wymień płytę BOM we wszystkich pozostałych zestawieniach, w których jest używany. Zastąpi stary link BOM, aktualizuje koszt i zregeneruje tabelę &quot;BOM Explosion Item&quot; w nowym zestawieniu firm. Uaktualnia także najnowszą cenę we wszystkich materiałach.",
+Replace BOM,Wymień moduł,
+Current BOM,Obecny BOM,
+The BOM which will be replaced,BOM zostanie zastąpiony,
+The new BOM after replacement,Nowy BOM po wymianie,
+Replace,Zamień,
+Update latest price in all BOMs,Zaktualizuj ostatnią cenę we wszystkich biuletynach,
+BOM Website Item,BOM Website Element,
+BOM Website Operation,BOM Operacja WWW,
+Operation Time,Czas operacji,
+PO-JOB.#####,PO-JOB. #####,
+Timing Detail,Szczegóły dotyczące czasu,
+Time Logs,Logi czasu,
+Total Time in Mins,Całkowity czas w minutach,
+Operation ID,Identyfikator operacji,
+Transferred Qty,Przeniesione ilości,
+Job Started,Rozpoczęto pracę,
+Started Time,Rozpoczęty czas,
+Current Time,Obecny czas,
+Job Card Item,Element karty pracy,
+Job Card Time Log,Dziennik czasu pracy karty,
+Time In Mins,Czas w minutach,
+Completed Qty,Ukończona wartość,
+Manufacturing Settings,Ustawienia produkcyjne,
+Raw Materials Consumption,Zużycie surowców,
+Allow Multiple Material Consumption,Zezwalaj na wielokrotne zużycie materiałów,
+Backflush Raw Materials Based On,Płukanie surowce na podstawie,
+Material Transferred for Manufacture,Materiał Przeniesiony do Produkcji,
+Capacity Planning,Planowanie Pojemności,
+Disable Capacity Planning,Wyłącz planowanie wydajności,
+Allow Overtime,Pozwól na Nadgodziny,
+Allow Production on Holidays,Pozwól Produkcja na święta,
+Capacity Planning For (Days),Planowanie Pojemności Dla (dni),
+Default Warehouses for Production,Domyślne magazyny do produkcji,
+Default Work In Progress Warehouse,Domyślnie Work In Progress Warehouse,
+Default Finished Goods Warehouse,Magazyn wyrobów gotowych domyślne,
+Default Scrap Warehouse,Domyślny magazyn złomu,
+Overproduction Percentage For Sales Order,Procent nadprodukcji dla zamówienia sprzedaży,
+Overproduction Percentage For Work Order,Nadwyżka produkcyjna Procent zamówienia na pracę,
+Other Settings,Inne ustawienia,
+Update BOM Cost Automatically,Zaktualizuj automatycznie koszt BOM,
+Material Request Plan Item,Material Request Plan Item,
+Material Request Type,Typ zamówienia produktu,
+Material Issue,Wydanie materiałów,
+Customer Provided,Dostarczony Klient,
+Minimum Order Quantity,Minimalna ilość zamówienia,
+Default Workstation,Domyślne miejsce pracy,
+Production Plan,Plan produkcji,
+MFG-PP-.YYYY.-,MFG-PP-.RRRR.-,
+Get Items From,Pobierz zawartość z,
+Get Sales Orders,Pobierz zamówienia sprzedaży,
+Material Request Detail,Szczegółowy wniosek o materiał,
+Get Material Request,Uzyskaj Materiał Zamówienie,
+Material Requests,materiał Wnioski,
+Get Items For Work Order,Zdobądź przedmioty na zlecenie pracy,
+Material Request Planning,Planowanie zapotrzebowania materiałowego,
+Include Non Stock Items,Uwzględnij pozycje niepubliczne,
+Include Subcontracted Items,Uwzględnij elementy podwykonawstwa,
+Ignore Existing Projected Quantity,Ignoruj istniejącą przewidywaną ilość,
+"To know more about projected quantity, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">click here</a>.","Aby dowiedzieć się więcej o przewidywanej ilości, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">kliknij tutaj</a> .",
+Download Required Materials,Pobierz wymagane materiały,
+Get Raw Materials For Production,Zdobądź surowce do produkcji,
+Total Planned Qty,Całkowita planowana ilość,
+Total Produced Qty,Całkowita ilość wyprodukowanej,
+Material Requested,Żądany materiał,
+Production Plan Item,Przedmiot planu produkcji,
+Make Work Order for Sub Assembly Items,Wykonaj zlecenie pracy dla elementów podzespołu,
+"If enabled, system will create the work order for the exploded items against which BOM is available.","Jeśli ta opcja jest włączona, system utworzy zlecenie pracy dla rozstrzelonych elementów, dla których dostępna jest LM.",
+Planned Start Date,Planowana data rozpoczęcia,
+Quantity and Description,Ilość i opis,
+material_request_item,material_request_item,
+Product Bundle Item,Pakiet produktów Artykuł,
+Production Plan Material Request,Produkcja Plan Materiał Zapytanie,
+Production Plan Sales Order,Zamówienie sprzedaży plany produkcji,
+Sales Order Date,Data Zlecenia,
+Routing Name,Nazwa trasy,
+MFG-WO-.YYYY.-,MFG-WO-.RRRR.-,
+Item To Manufacture,Rzecz do wyprodukowania,
+Material Transferred for Manufacturing,Materiał Przeniesiony do Produkowania,
+Manufactured Qty,Ilość wyprodukowanych,
+Use Multi-Level BOM,Używaj wielopoziomowych zestawień materiałowych,
+Plan material for sub-assemblies,Materiał plan podzespołów,
+Skip Material Transfer to WIP Warehouse,Pomiń transfer materiałów do magazynu WIP,
+Check if material transfer entry is not required,"Sprawdź, czy nie ma konieczności wczytywania materiału",
+Backflush Raw Materials From Work-in-Progress Warehouse,Surowiec do płukania zwrotnego z magazynu w toku,
+Update Consumed Material Cost In Project,Zaktualizuj zużyty koszt materiałowy w projekcie,
+Warehouses,Magazyny,
+This is a location where raw materials are available.,"Jest to miejsce, w którym dostępne są surowce.",
+Work-in-Progress Warehouse,Magazyn z produkcją w toku,
+This is a location where operations are executed.,"Jest to miejsce, w którym wykonywane są operacje.",
+This is a location where final product stored.,"Jest to miejsce, w którym przechowywany jest produkt końcowy.",
+Scrap Warehouse,złom Magazyn,
+This is a location where scraped materials are stored.,"Jest to miejsce, w którym przechowywane są zeskrobane materiały.",
+Required Items,wymagane przedmioty,
+Actual Start Date,Rzeczywista data rozpoczęcia,
+Planned End Date,Planowana data zakończenia,
+Actual End Date,Rzeczywista Data Zakończenia,
+Operation Cost,Koszt operacji,
+Planned Operating Cost,Planowany koszt operacyjny,
+Actual Operating Cost,Rzeczywisty koszt operacyjny,
+Additional Operating Cost,Dodatkowy koszt operacyjny,
+Total Operating Cost,Całkowity koszt operacyjny,
+Manufacture against Material Request,Wytwarzanie przeciwko Materiały Zamówienie,
+Work Order Item,Pozycja zlecenia pracy,
+Available Qty at Source Warehouse,Dostępne ilości w magazynie źródłowym,
+Available Qty at WIP Warehouse,Dostępne ilości w magazynie WIP,
+Work Order Operation,Działanie zlecenia pracy,
+Operation Description,Opis operacji,
+Operation completed for how many finished goods?,Operacja zakończona na jak wiele wyrobów gotowych?,
+Work in Progress,Produkty w toku,
+Estimated Time and Cost,Szacowany czas i koszt,
+Planned Start Time,Planowany czas rozpoczęcia,
+Planned End Time,Planowany czas zakończenia,
+in Minutes,W ciągu kilku minut,
+Actual Time and Cost,Rzeczywisty Czas i Koszt,
+Actual Start Time,Rzeczywisty Czas Rozpoczęcia,
+Actual End Time,Rzeczywisty czas zakończenia,
+Updated via 'Time Log',"Aktualizowana przez ""Czas Zaloguj""",
+Actual Operation Time,Rzeczywisty Czas pracy,
+in Minutes\nUpdated via 'Time Log',"w minutach \n Aktualizacja poprzez ""Czas Zaloguj""",
+(Hour Rate / 60) * Actual Operation Time,(Godzina Kursy / 60) * Rzeczywista Czas pracy,
+Workstation Name,Nazwa stacji roboczej,
+Production Capacity,Moce produkcyjne,
+Operating Costs,Koszty operacyjne,
+Electricity Cost,Koszt energii elekrycznej,
+per hour,na godzinę,
+Consumable Cost,Koszt Konsumpcyjny,
+Rent Cost,Koszt Wynajmu,
+Wages,Zarobki,
+Wages per hour,Zarobki na godzinę,
+Net Hour Rate,Stawka godzinowa Netto,
+Workstation Working Hour,Godziny robocze Stacji Roboczej,
+Certification Application,Aplikacja certyfikacyjna,
+Name of Applicant,Nazwa wnioskodawcy,
+Certification Status,Status certyfikacji,
+Yet to appear,Jeszcze się pojawi,
+Certified,Atestowany,
+Not Certified,Brak certyfikatu,
+USD,USD,
+INR,INR,
+Certified Consultant,Certyfikowany konsultant,
+Name of Consultant,Imię i nazwisko konsultanta,
+Certification Validity,Ważność certyfikacji,
+Discuss ID,Omów ID,
+GitHub ID,Identyfikator GitHub,
+Non Profit Manager,Non Profit Manager,
+Chapter Head,Rozdział Głowy,
+Meetup Embed HTML,Meetup Osadź HTML,
+chapters/chapter_name\nleave blank automatically set after saving chapter.,rozdziały / chapter_name pozostaw puste puste automatycznie ustawione po zapisaniu rozdziału.,
+Chapter Members,Członkowie rozdziału,
+Members,Członkowie,
+Chapter Member,Członek rozdziału,
+Website URL,URL strony WWW,
+Leave Reason,Powód Nieobecności,
+Donor Name,Nazwa dawcy,
+Donor Type,Rodzaj dawcy,
+Withdrawn,Zamknięty w sobie,
+Grant Application Details ,Przyznaj szczegóły aplikacji,
+Grant Description,Opis dotacji,
+Requested Amount,Wnioskowana kwota,
+Has any past Grant Record,Ma jakąkolwiek przeszłość Grant Record,
+Show on Website,Pokaż na stronie internetowej,
+Assessment  Mark (Out of 10),Ocena (na 10),
+Assessment  Manager,Menedżer oceny,
+Email Notification Sent,Wysłane powiadomienie e-mail,
+NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
+Membership Expiry Date,Data wygaśnięcia członkostwa,
+Razorpay Details,Szczegóły Razorpay,
+Subscription ID,Identyfikator subskrypcji,
+Customer ID,Identyfikator klienta,
+Subscription Activated,Subskrypcja aktywowana,
+Subscription Start ,Rozpocznij subskrypcję,
+Subscription End,Koniec subskrypcji,
+Non Profit Member,Członek non profit,
+Membership Status,Status członkostwa,
+Member Since,Członek od,
+Payment ID,Identyfikator płatności,
+Membership Settings,Ustawienia członkostwa,
+Enable RazorPay For Memberships,Włącz RazorPay dla członkostwa,
+RazorPay Settings,Ustawienia RazorPay,
+Billing Cycle,Cykl rozliczeniowy,
+Billing Frequency,Częstotliwość rozliczeń,
+"The number of billing cycles for which the customer should be charged. For example, if a customer is buying a 1-year membership that should be billed on a monthly basis, this value should be 12.","Liczba cykli rozliczeniowych, za które klient powinien zostać obciążony. Na przykład, jeśli klient kupuje roczne członkostwo, które powinno być rozliczane co miesiąc, ta wartość powinna wynosić 12.",
+Razorpay Plan ID,Identyfikator planu Razorpay,
+Volunteer Name,Nazwisko wolontariusza,
+Volunteer Type,Typ wolontariusza,
+Availability and Skills,Dostępność i umiejętności,
+Availability,Dostępność,
+Weekends,Weekendy,
+Availability Timeslot,Dostępność Timeslot,
+Morning,Ranek,
+Afternoon,Popołudnie,
+Evening,Wieczór,
+Anytime,W każdej chwili,
+Volunteer Skills,Umiejętności ochotnicze,
+Volunteer Skill,Wolontariat,
+Homepage,Strona główna,
+Hero Section Based On,Sekcja bohatera na podstawie,
+Homepage Section,Sekcja strony głównej,
+Hero Section,Sekcja bohatera,
+Tag Line,Slogan reklamowy,
+Company Tagline for website homepage,Slogan reklamowy firmy na głównej stronie,
+Company Description for website homepage,Opis firmy na stronie głównej,
+Homepage Slideshow,Pokaz slajdów na stronie głównej,
+"URL for ""All Products""",URL do wszystkich produktów,
+Products to be shown on website homepage,Produkty przeznaczone do pokazania na głównej stronie,
+Homepage Featured Product,Ciekawa Strona produktu,
+route,trasa,
+Section Based On,Sekcja na podstawie,
+Section Cards,Karty sekcji,
+Number of Columns,Liczba kolumn,
+Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,"Liczba kolumn dla tej sekcji. 3 wiersze zostaną wyświetlone w wierszu, jeśli wybierzesz 3 kolumny.",
+Section HTML,Sekcja HTML,
+Use this field to render any custom HTML in the section.,To pole służy do renderowania dowolnego niestandardowego kodu HTML w sekcji.,
+Section Order,Kolejność sekcji,
+"Order in which sections should appear. 0 is first, 1 is second and so on.","Kolejność, w której sekcje powinny się pojawić. 0 jest pierwsze, 1 jest drugie i tak dalej.",
+Homepage Section Card,Strona główna Karta sekcji,
+Subtitle,Podtytuł,
+Products Settings,produkty Ustawienia,
+Home Page is Products,Strona internetowa firmy jest produktem,
+"If checked, the Home page will be the default Item Group for the website","Jeśli zaznaczone, strona główna będzie Grupa domyślna pozycja na stronie",
+Show Availability Status,Pokaż status dostępności,
+Product Page,Strona produktu,
+Products per Page,Produkty na stronę,
+Enable Field Filters,Włącz filtry pola,
+Item Fields,Pola przedmiotów,
+Enable Attribute Filters,Włącz filtry atrybutów,
+Attributes,Atrybuty,
+Hide Variants,Ukryj warianty,
+Website Attribute,Atrybut strony,
+Attribute,Atrybut,
+Website Filter Field,Pole filtru witryny,
+Activity Cost,Aktywny Koszt,
+Billing Rate,Kursy rozliczeniowe,
+Costing Rate,Wskaźnik zestawienia kosztów,
+title,tytuł,
+Projects User,Użytkownik projektu,
+Default Costing Rate,Domyślnie Costing Cena,
+Default Billing Rate,Domyślnie Cena płatności,
+Dependent Task,Zadanie zależne,
+Project Type,Typ projektu,
+% Complete Method,Kompletna Metoda%,
+Task Completion,zadanie Zakończenie,
+Task Progress,Postęp wykonywania zadania,
+% Completed,% ukończone,
+From Template,Z szablonu,
+Project will be accessible on the website to these users,Projekt będzie dostępny na stronie internetowej dla tych użytkowników,
+Copied From,Skopiowano z,
+Start and End Dates,Daty rozpoczęcia i zakończenia,
+Actual Time (in Hours),Rzeczywisty czas (w godzinach),
+Costing and Billing,Kalkulacja kosztów i fakturowanie,
+Total Costing Amount (via Timesheets),Łączna kwota kosztów (za pośrednictwem kart pracy),
+Total Expense Claim (via Expense Claims),Łączny koszt roszczenie (przez zwrot kosztów),
+Total Purchase Cost (via Purchase Invoice),Całkowity koszt zakupu (faktura zakupu za pośrednictwem),
+Total Sales Amount (via Sales Order),Całkowita kwota sprzedaży (poprzez zamówienie sprzedaży),
+Total Billable Amount (via Timesheets),Całkowita kwota do naliczenia (za pośrednictwem kart pracy),
+Total Billed Amount (via Sales Invoices),Całkowita kwota faktury (za pośrednictwem faktur sprzedaży),
+Total Consumed Material Cost  (via Stock Entry),Całkowity koszt materiałów konsumpcyjnych (poprzez wprowadzenie do magazynu),
+Gross Margin,Marża brutto,
+Gross Margin %,Marża brutto %,
+Monitor Progress,Monitorowanie postępu,
+Collect Progress,Zbierz postęp,
+Frequency To Collect Progress,Częstotliwość zbierania postępów,
+Twice Daily,Dwa razy dziennie,
+First Email,Pierwszy e-mail,
+Second Email,Drugi e-mail,
+Time to send,Czas wysłać,
+Day to Send,Dzień na wysłanie,
+Message will be sent to the users to get their status on the Project,Wiadomość zostanie wysłana do użytkowników w celu uzyskania ich statusu w Projekcie,
+Projects Manager,Kierownik Projektów,
+Project Template,Szablon projektu,
+Project Template Task,Zadanie szablonu projektu,
+Begin On (Days),Rozpocznij od (dni),
+Duration (Days),Czas trwania (dni),
+Project Update,Aktualizacja projektu,
+Project User,Użytkownik projektu,
+View attachments,Wyświetl załączniki,
+Projects Settings,Ustawienia projektów,
+Ignore Workstation Time Overlap,Zignoruj nakładanie się czasu w stacji roboczej,
+Ignore User Time Overlap,Zignoruj nakładanie się czasu użytkownika,
+Ignore Employee Time Overlap,Zignoruj nakładanie się czasu pracownika,
+Weight,Waga,
+Parent Task,Zadanie rodzica,
+Timeline,Oś czasu,
+Expected Time (in hours),Oczekiwany czas (w godzinach),
+% Progress,% Postęp,
+Is Milestone,Jest Milestone,
+Task Description,Opis zadania,
+Dependencies,Zależności,
+Dependent Tasks,Zadania zależne,
+Depends on Tasks,Zależy Zadania,
+Actual Start Date (via Time Sheet),Faktyczna data rozpoczęcia (przez czas arkuszu),
+Actual Time (in hours),Rzeczywisty czas (w godzinach),
+Actual End Date (via Time Sheet),Faktyczna data zakończenia (przez czas arkuszu),
+Total Costing Amount (via Time Sheet),Całkowita kwota Costing (przez czas arkuszu),
+Total Expense Claim (via Expense Claim),Razem zwrot kosztów (przez zwrot kosztów),
+Total Billing Amount (via Time Sheet),Całkowita kwota płatności (poprzez Czas Sheet),
+Review Date,Data Przeglądu,
+Closing Date,Data zamknięcia,
+Task Depends On,Zadanie zależne od,
+Task Type,Typ zadania,
+TS-.YYYY.-,TS-.YYYY.-,
+Employee Detail,Szczegóły urzędnik,
+Billing Details,Szczegóły płatności,
+Total Billable Hours,Całkowita liczba godzin rozliczanych,
+Total Billed Hours,Wszystkich Zafakturowane Godziny,
+Total Costing Amount,Łączna kwota Costing,
+Total Billable Amount,Całkowita kwota podlegająca rozliczeniom,
+Total Billed Amount,Kwota całkowita Zapowiadane,
+% Amount Billed,% wartości rozliczonej,
+Hrs,godziny,
+Costing Amount,Kwota zestawienia kosztów,
+Corrective/Preventive,Korygujące / zapobiegawcze,
+Corrective,Poprawczy,
+Preventive,Zapobiegawczy,
+Resolution,Rozstrzygnięcie,
+Resolutions,Postanowienia,
+Quality Action Resolution,Rezolucja dotycząca jakości działania,
+Quality Feedback Parameter,Parametr sprzężenia zwrotnego jakości,
+Quality Feedback Template Parameter,Parametr szablonu opinii o jakości,
+Quality Goal,Cel jakości,
+Monitoring Frequency,Monitorowanie częstotliwości,
+Weekday,Dzień powszedni,
+Objectives,Cele,
+Quality Goal Objective,Cel celu jakości,
+Objective,Cel,
+Agenda,Program,
+Minutes,Minuty,
+Quality Meeting Agenda,Agenda spotkania jakości,
+Quality Meeting Minutes,Protokół spotkania jakości,
+Minute,Minuta,
+Parent Procedure,Procedura rodzicielska,
+Processes,Procesy,
+Quality Procedure Process,Proces procedury jakości,
+Process Description,Opis procesu,
+Link existing Quality Procedure.,Połącz istniejącą procedurę jakości.,
+Additional Information,Dodatkowe informacje,
+Quality Review Objective,Cel przeglądu jakości,
+DATEV Settings,Ustawienia DATEV,
+Regional,Regionalny,
+Consultant ID,ID konsultanta,
+GST HSN Code,Kod GST HSN,
+HSN Code,Kod HSN,
+GST Settings,Ustawienia GST,
+GST Summary,Podsumowanie GST,
+GSTIN Email Sent On,Wysłano pocztę GSTIN,
+GST Accounts,Konta GST,
+B2C Limit,Limit B2C,
+Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Ustaw wartość faktury dla B2C. B2CL i B2CS obliczane na podstawie tej wartości faktury.,
+GSTR 3B Report,Raport GSTR 3B,
+January,styczeń,
+February,luty,
+March,Marsz,
+April,kwiecień,
+May,Maj,
+June,czerwiec,
+July,lipiec,
+August,sierpień,
+September,wrzesień,
+October,październik,
+November,listopad,
+December,grudzień,
+JSON Output,Wyjście JSON,
+Invoices with no Place Of Supply,Faktury bez miejsca dostawy,
+Import Supplier Invoice,Importuj fakturę od dostawcy,
+Invoice Series,Seria faktur,
+Upload XML Invoices,Prześlij faktury XML,
+Zip File,Plik zip,
+Import Invoices,Importuj faktury,
+Click on Import Invoices button once the zip file has been attached to the document. Any errors related to processing will be shown in the Error Log.,Kliknij przycisk Importuj faktury po dołączeniu pliku zip do dokumentu. Wszelkie błędy związane z przetwarzaniem zostaną wyświetlone w dzienniku błędów.,
+Lower Deduction Certificate,Certyfikat niższego potrącenia,
+Certificate Details,Szczegóły certyfikatu,
+194A,194A,
+194C,194C,
+194D,194D,
+194H,194H,
+194I,194I,
+194J,194J,
+194LA,194LA,
+194LBB,194LBB,
+194LBC,194LBC,
+Certificate No,Certyfikat nr,
+Deductee Details,Szczegóły dotyczące odliczonego,
+PAN No,Nr PAN,
+Validity Details,Szczegóły dotyczące ważności,
+Rate Of TDS As Per Certificate,Stawka TDS zgodnie z certyfikatem,
+Certificate Limit,Limit certyfikatu,
+Invoice Series Prefix,Prefiks serii faktur,
+Active Menu,Aktywne menu,
+Restaurant Menu,Menu restauracji,
+Price List (Auto created),Cennik (utworzony automatycznie),
+Restaurant Manager,Menadżer restauracji,
+Restaurant Menu Item,Menu restauracji,
+Restaurant Order Entry,Wprowadzanie do restauracji,
+Restaurant Table,Stolik Restauracyjny,
+Click Enter To Add,Kliknij Enter To Add,
+Last Sales Invoice,Ostatnia sprzedaż faktury,
+Current Order,Aktualne zamówienie,
+Restaurant Order Entry Item,Restauracja Order Entry Pozycja,
+Served,Serwowane,
+Restaurant Reservation,Rezerwacja restauracji,
+Waitlisted,Na liście Oczekujących,
+No Show,Brak pokazu,
+No of People,Liczba osób,
+Reservation Time,Czas rezerwacji,
+Reservation End Time,Rezerwacja Koniec czasu,
+No of Seats,Liczba miejsc,
+Minimum Seating,Minimalne miejsce siedzące,
+"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Śledź kampanię sprzedażową. Śledź Tropy, Wyceny, Zamówienia Sprzedaży etc. z kampanii by zmierzyć zwrot z inwestycji.",
+SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
+Campaign Schedules,Harmonogramy kampanii,
+Buyer of Goods and Services.,Nabywca Towarów i Usług.,
+CUST-.YYYY.-,CUST-.YYYY.-.-,
+Default Company Bank Account,Domyślne firmowe konto bankowe,
+From Lead,Od śladu,
+Account Manager,Menadżer konta,
+Allow Sales Invoice Creation Without Sales Order,Zezwalaj na tworzenie faktur sprzedaży bez zamówienia sprzedaży,
+Allow Sales Invoice Creation Without Delivery Note,Zezwalaj na tworzenie faktur sprzedaży bez potwierdzenia dostawy,
+Default Price List,Domyślny cennik,
+Primary Address and Contact Detail,Główny adres i dane kontaktowe,
+"Select, to make the customer searchable with these fields","Wybierz, aby klient mógł wyszukać za pomocą tych pól",
+Customer Primary Contact,Kontakt główny klienta,
+"Reselect, if the chosen contact is edited after save","Ponownie wybierz, jeśli wybrany kontakt jest edytowany po zapisaniu",
+Customer Primary Address,Główny adres klienta,
+"Reselect, if the chosen address is edited after save","Ponownie wybierz, jeśli wybrany adres jest edytowany po zapisaniu",
+Primary Address,adres główny,
+Mention if non-standard receivable account,"Wskazać, jeśli niestandardowe konto należności",
+Credit Limit and Payment Terms,Limit kredytowy i warunki płatności,
+Additional information regarding the customer.,Dodatkowe informacje na temat klienta.,
+Sales Partner and Commission,Partner sprzedaży i Prowizja,
+Commission Rate,Wartość prowizji,
+Sales Team Details,Szczegóły dotyczące Teamu Sprzedażowego,
+Customer POS id,Identyfikator punktu sprzedaży klienta,
+Customer Credit Limit,Limit kredytu klienta,
+Bypass Credit Limit Check at Sales Order,Pomiń limit kredytowy w zleceniu klienta,
+Industry Type,Typ Przedsiębiorstwa,
+MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
+Installation Date,Data instalacji,
+Installation Time,Czas instalacji,
+Installed Qty,Liczba instalacji,
+Period Start Date,Data rozpoczęcia okresu,
+Period End Date,Data zakończenia okresu,
+Cashier,Kasjer,
+Difference,Różnica,
+Modes of Payment,Tryby płatności,
+Linked Invoices,Powiązane faktury,
+POS Closing Voucher Details,Szczegóły kuponu zamykającego POS,
+Collected Amount,Zebrana kwota,
+Expected Amount,Oczekiwana kwota,
+POS Closing Voucher Invoices,Faktury z zamknięciem kuponu,
+Quantity of Items,Ilość przedmiotów,
+"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. \n\nThe package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".\n\nFor Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Product Bundle Item.\n\nNote: BOM = Bill of Materials","Łączna grupa przedmioty ** ** ** Przedmiot do innego **. Jest to przydatne, jeśli łączenie pewnej ** przedmioty ** w pakiet i utrzymania zapasów pakowanych ** rzeczy ** a nie sumę ** rzecz **. Pakiet ** Pozycja ** będzie miał ""Czy Pozycja Zdjęcie"", jak ""Nie"" i ""Czy Sales Item"", jak ""Tak"". Dla przykładu: Jeśli sprzedajesz Laptopy i plecaki oddzielnie i mają specjalną cenę, jeśli klient kupuje oba, a następnie Laptop + Plecak będzie nowy Bundle wyrobów poz. Uwaga: ZM = Zestawienie Materiałów",
+Parent Item,Element nadrzędny,
+List items that form the package.,Lista elementów w pakiecie,
+SAL-QTN-.YYYY.-,SAL-QTN-.RRRR.-,
+Quotation To,Wycena dla,
+Rate at which customer's currency is converted to company's base currency,Stawka przy użyciu której Waluta Klienta jest konwertowana do podstawowej waluty firmy,
+Rate at which Price list currency is converted to company's base currency,Stawka przy użyciu której waluta Listy Cen jest konwertowana do podstawowej waluty firmy,
+Additional Discount and Coupon Code,Dodatkowy kod rabatowy i kuponowy,
+Referral Sales Partner,Polecony partner handlowy,
+Term Details,Szczegóły warunków,
+Quotation Item,Przedmiot oferty,
+Additional Notes,Dodatkowe uwagi,
+SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
+Skip Delivery Note,Pomiń dowód dostawy,
+In Words will be visible once you save the Sales Order.,"Słownie, będzie widoczne w Zamówieniu Sprzedaży, po zapisaniu",
+Track this Sales Order against any Project,Śledź zamówienie sprzedaży w każdym projekcie,
+Billing and Delivery Status,Fakturowanie i status dostawy,
+Not Delivered,Nie dostarczony,
+Fully Delivered,Całkowicie dostarczono,
+Partly Delivered,Częściowo Dostarczono,
+Not Applicable,Nie dotyczy,
+%  Delivered,% dostarczono,
+% of materials delivered against this Sales Order,% materiałów dostarczonych w ramach zlecenia sprzedaży,
+% of materials billed against this Sales Order,% materiałów rozliczonych w ramach tego zlecenia sprzedaży,
+Not Billed,Nie zaksięgowany,
+Fully Billed,Całkowicie Rozliczone,
+Partly Billed,Częściowo Zapłacono,
+Ensure Delivery Based on Produced Serial No,Zapewnij dostawę na podstawie wyprodukowanego numeru seryjnego,
+Supplier delivers to Customer,Dostawca dostarcza Klientowi,
+Delivery Warehouse,Magazyn Dostawa,
+Planned Quantity,Planowana ilość,
+For Production,Dla Produkcji,
+Work Order Qty,Ilość zlecenia pracy,
+Produced Quantity,Wyprodukowana ilość,
+Used for Production Plan,Używane do Planu Produkcji,
+Sales Partner Type,Typ partnera handlowego,
+Contact No.,Numer Kontaktu,
+Contribution (%),Udział (%),
+Selling Settings,Ustawienia sprzedaży,
+Settings for Selling Module,Ustawienia modułu sprzedaży,
+Campaign Naming By,Konwencja nazewnictwa Kampanii przez,
+Default Customer Group,Domyślna grupa klientów,
+Default Territory,Domyślne terytorium,
+Close Opportunity After Days,Po blisko Szansa Dni,
+Default Quotation Validity Days,Domyślna ważność oferty,
+Sales Update Frequency,Częstotliwość aktualizacji sprzedaży,
+Each Transaction,Każda transakcja,
+SMS Center,Centrum SMS,
+Send To,Wyślij do,
+All Contact,Wszystkie dane Kontaktu,
+All Customer Contact,Wszystkie dane kontaktowe klienta,
+All Supplier Contact,Dane wszystkich dostawców,
+All Sales Partner Contact,Wszystkie dane kontaktowe Partnera Sprzedaży,
+All Lead (Open),Wszystkie Leady (Otwarte),
+All Employee (Active),Wszyscy pracownicy (aktywni),
+All Sales Person,Wszyscy Sprzedawcy,
+Create Receiver List,Stwórz listę odbiorców,
+Receiver List,Lista odbiorców,
+Messages greater than 160 characters will be split into multiple messages,Wiadomości dłuższe niż 160 znaków zostaną podzielone na kilka wiadomości,
+Total Characters,Wszystkich Postacie,
+Total Message(s),Razem ilość wiadomości,
+Authorization Control,Kontrola Autoryzacji,
+Authorization Rule,Reguła autoryzacji,
+Average Discount,Średni Rabat,
+Customerwise Discount,Zniżka dla klienta,
+Itemwise Discount,Pozycja Rabat automatyczny,
+Customer or Item,Klient lub przedmiotu,
+Customer / Item Name,Klient / Nazwa Przedmiotu,
+Authorized Value,Autoryzowany Wartość,
+Applicable To (Role),Stosowne dla (Rola),
+Applicable To (Employee),Stosowne dla (Pracownik),
+Applicable To (User),Stosowne dla (Użytkownik),
+Applicable To (Designation),Stosowne dla (Nominacja),
+Approving Role (above authorized value),Zatwierdzanie rolę (powyżej dopuszczonego wartości),
+Approving User  (above authorized value),Zatwierdzanie autoryzowanego użytkownika (powyżej wartości),
+Brand Defaults,Domyślne marki,
+Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Osobowość prawna / Filia w oddzielny planu kont należących do Organizacji.,
+Change Abbreviation,Zmień Skrót,
+Parent Company,Przedsiębiorstwo macierzyste,
+Default Values,Domyślne wartości,
+Default Holiday List,Domyślna lista urlopowa,
+Default Selling Terms,Domyślne warunki sprzedaży,
+Default Buying Terms,Domyślne warunki zakupu,
+Create Chart Of Accounts Based On,Tworzenie planu kont w oparciu o,
+Standard Template,Szablon Standardowy,
+Existing Company,Istniejąca firma,
+Chart Of Accounts Template,Szablon planu kont,
+Existing Company ,istniejące firmy,
+Date of Establishment,Data założenia,
+Sales Settings,Ustawienia sprzedaży,
+Monthly Sales Target,Miesięczny cel sprzedaży,
+Sales Monthly History,Historia miesięczna sprzedaży,
+Transactions Annual History,Historia transakcji,
+Total Monthly Sales,Łączna miesięczna sprzedaż,
+Default Cash Account,Domyślne Konto Gotówkowe,
+Default Receivable Account,Domyślnie konto Rozrachunki z odbiorcami,
+Round Off Cost Center,Zaokrąglenia - Centrum Kosztów,
+Discount Allowed Account,Konto Dozwolone,
+Discount Received Account,Konto otrzymane z rabatem,
+Exchange Gain / Loss Account,Wymiana Zysk / strat,
+Unrealized Exchange Gain/Loss Account,Niezrealizowane konto zysku / straty z wymiany,
+Allow Account Creation Against Child Company,Zezwól na tworzenie konta przeciwko firmie podrzędnej,
+Default Payable Account,Domyślne konto Rozrachunki z dostawcami,
+Default Employee Advance Account,Domyślne konto Advance pracownika,
+Default Cost of Goods Sold Account,Domyślne Konto Wartości Dóbr Sprzedanych,
+Default Income Account,Domyślne konto przychodów,
+Default Deferred Revenue Account,Domyślne konto odroczonego przychodu,
+Default Deferred Expense Account,Domyślne konto odroczonego kosztu,
+Default Payroll Payable Account,Domyślny Płace Płatne konta,
+Default Expense Claim Payable Account,Rachunek wymagalny zapłaty domyślnego kosztu,
+Stock Settings,Ustawienia magazynu,
+Enable Perpetual Inventory,Włącz wieczne zapasy,
+Default Inventory Account,Domyślne konto zasobów reklamowych,
+Stock Adjustment Account,Konto korekty,
+Fixed Asset Depreciation Settings,Ustawienia Amortyzacja środka trwałego,
+Series for Asset Depreciation Entry (Journal Entry),Seria dla pozycji amortyzacji aktywów (wpis w czasopiśmie),
+Gain/Loss Account on Asset Disposal,Konto Zysk / Strata na Aktywów pozbywaniu,
+Asset Depreciation Cost Center,Zaleta Centrum Amortyzacja kosztów,
+Budget Detail,Szczegóły Budżetu,
+Exception Budget Approver Role,Rola zatwierdzającego wyjątku dla budżetu,
+Company Info,Informacje o firmie,
+For reference only.,Wyłącznie w celach informacyjnych.,
+Company Logo,Logo firmy,
+Date of Incorporation,Data przyłączenia,
+Date of Commencement,Data rozpoczęcia,
+Phone No,Nr telefonu,
+Company Description,Opis Firmy,
+Registration Details,Szczegóły Rejestracji,
+Delete Company Transactions,Usuń Transakcje Spółki,
+Currency Exchange,Wymiana Walut,
+Specify Exchange Rate to convert one currency into another,Określ Kursy walut konwersji jednej waluty w drugą,
+From Currency,Od Waluty,
+To Currency,Do przewalutowania,
+For Buying,Do kupienia,
+For Selling,Do sprzedania,
+Customer Group Name,Nazwa Grupy Klientów,
+Parent Customer Group,Nadrzędna Grupa Klientów,
+Mention if non-standard receivable account applicable,"Wspomnieć, jeśli nie standardowe konto należności dotyczy",
+Credit Limits,Limity kredytowe,
+Email Digest,przetwarzanie emaila,
+Send regular summary reports via Email.,Wyślij regularne raporty podsumowujące poprzez e-mail.,
+Email Digest Settings,ustawienia przetwarzania maila,
+How frequently?,Jak często?,
+Next email will be sent on:,Kolejny e-mali zostanie wysłany w dniu:,
+Note: Email will not be sent to disabled users,Uwaga: E-mail nie zostanie wysłany do nieaktywnych użytkowników,
+Profit & Loss,Rachunek zysków i strat,
+New Income,Nowy dochodowy,
+New Expenses,Nowe wydatki,
+Annual Income,Roczny dochód,
+Annual Expenses,roczne koszty,
+Bank Balance,Saldo bankowe,
+Bank Credit Balance,Saldo kredytu bankowego,
+Receivables,Należności,
+Payables,Zobowiązania,
+Sales Orders to Bill,Zlecenia sprzedaży do rachunku,
+Purchase Orders to Bill,Zamówienia zakupu do rachunku,
+Sales Orders to Deliver,Zlecenia sprzedaży do realizacji,
+Purchase Orders to Receive,Zamówienia zakupu do odbioru,
+New Purchase Invoice,Nowa faktura zakupu,
+New Quotations,Nowa oferta,
+Open Quotations,Otwarte oferty,
+Open Issues,Otwarte kwestie,
+Open Projects,Otwarte projekty,
+Purchase Orders Items Overdue,Przedmioty zamówienia przeterminowane,
+Upcoming Calendar Events,Nadchodzące wydarzenia w kalendarzu,
+Open To Do,Otwórz do zrobienia,
+Add Quote,Dodaj Cytat,
+Global Defaults,Globalne wartości domyślne,
+Default Company,Domyślna Firma,
+Current Fiscal Year,Obecny rok fiskalny,
+Default Distance Unit,Domyślna jednostka odległości,
+Hide Currency Symbol,Ukryj symbol walutowy,
+Do not show any symbol like $ etc next to currencies.,"Nie pokazuj żadnych symboli przy walutach, takich jak $",
+"If disable, 'Rounded Total' field will not be visible in any transaction","Jeśli wyłączone, pozycja 'Końcowa zaokrąglona suma' nie będzie widoczna w żadnej transakcji",
+Disable In Words,Wyłącz w słowach,
+"If disable, 'In Words' field will not be visible in any transaction",Jeśli wyłączyć &quot;w słowach&quot; pole nie będzie widoczne w każdej transakcji,
+Item Classification,Pozycja Klasyfikacja,
+General Settings,Ustawienia ogólne,
+Item Group Name,Element Nazwa grupy,
+Parent Item Group,Grupa Elementu nadrzędnego,
+Item Group Defaults,Domyślne grupy artykułów,
+Item Tax,Podatek dla tej pozycji,
+Check this if you want to show in website,Zaznacz czy chcesz uwidocznić to na stronie WWW,
+Show this slideshow at the top of the page,Pokaż slideshow na górze strony,
+HTML / Banner that will show on the top of product list.,"HTML / Banner, który pokaże się na górze listy produktów.",
+Set prefix for numbering series on your transactions,Ustaw prefiks dla numeracji serii na swoich transakcji,
+Setup Series,Konfigurowanie serii,
+Select Transaction,Wybierz Transakcję,
+Help HTML,Pomoc HTML,
+Series List for this Transaction,Lista serii dla tej transakcji,
+User must always select,Użytkownik musi zawsze zaznaczyć,
+Update Series,Zaktualizuj Serię,
+Change the starting / current sequence number of an existing series.,Zmień początkowy / obecny numer seryjny istniejącej serii.,
+Prefix,Prefiks,
+Current Value,Bieżąca Wartość,
+This is the number of the last created transaction with this prefix,Jest to numer ostatniej transakcji utworzonego z tym prefiksem,
+Update Series Number,Zaktualizuj Numer Serii,
+Quotation Lost Reason,Utracony Powód Wyceny,
+A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,"Dystrybutor strona trzecia / handlowiec / prowizji agenta / partner / sprzedawcę, który sprzedaje produkty firm z tytułu prowizji.",
+Sales Partner Name,Imię Partnera Sprzedaży,
+Partner Type,Typ Partnera,
+Address & Contacts,Adresy i kontakty,
+Address Desc,Opis adresu,
+Contact Desc,Opis kontaktu,
+Sales Partner Target,Cel Partnera Sprzedaży,
+Targets,Cele,
+Show In Website,Pokaż na stronie internetowej,
+Referral Code,kod polecającego,
+To Track inbound purchase,Aby śledzić zakupy przychodzące,
+Logo,Logo,
+Partner website,Strona partnera,
+All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,"Wszystkie transakcje sprzedaży mogą być oznaczone przed wieloma ** Osoby sprzedaży **, dzięki czemu można ustawić i monitorować cele.",
+Name and Employee ID,Imię i Identyfikator Pracownika,
+Sales Person Name,Imię Sprzedawcy,
+Parent Sales Person,Nadrzędny Przedstawiciel Handlowy,
+Select company name first.,Wybierz najpierw nazwę firmy,
+Sales Person Targets,Cele Sprzedawcy,
+Supplier Group Name,Nazwa grupy dostawcy,
+Parent Supplier Group,Rodzicielska grupa dostawców,
+Target Detail,Szczegóły celu,
+Target Qty,Ilość docelowa,
+Target  Amount,Kwota docelowa,
+Target Distribution,Dystrybucja docelowa,
+"Standard Terms and Conditions that can be added to Sales and Purchases.\n\nExamples:\n\n1. Validity of the offer.\n1. Payment Terms (In Advance, On Credit, part advance etc).\n1. What is extra (or payable by the Customer).\n1. Safety / usage warning.\n1. Warranty if any.\n1. Returns Policy.\n1. Terms of shipping, if applicable.\n1. Ways of addressing disputes, indemnity, liability, etc.\n1. Address and Contact of your Company.","Standardowe Zasady i warunki, które mogą być dodawane do sprzedaży i zakupów.\n\n Przykłady: \n\n 1. Ważność oferty.\n 1. Warunki płatności (z góry, na kredyt, część zaliczki itp).\n 1. Co to jest ekstra (lub płatne przez Klienta).\n 1. Bezpieczeństwo / ostrzeżenie wykorzystanie.\n 1. Gwarancja jeśli w ogóle.\n 1. Zwraca Polityka.\n 1. Warunki wysyłki, jeśli dotyczy.\n 1. Sposobów rozwiązywania sporów, odszkodowania, odpowiedzialność itp \n 1. Adres i kontakt z Twojej firmy.",
+Applicable Modules,Odpowiednie moduły,
+Terms and Conditions Help,Warunki Pomoc,
+Classification of Customers by region,Klasyfikacja Klientów od regionu,
+Territory Name,Nazwa Regionu,
+Parent Territory,Nadrzędne terytorium,
+Territory Manager,Kierownik Regionalny,
+For reference,Dla referencji,
+Territory Targets,Cele Regionalne,
+UOM Name,Nazwa Jednostki Miary,
+Check this to disallow fractions. (for Nos),Zaznacz to by zakazać ułamków (dla liczby jednostek),
+Website Item Group,Grupa przedmiotów strony WWW,
+Cross Listing of Item in multiple groups,Krzyż Notowania pozycji w wielu grupach,
+Default settings for Shopping Cart,Domyślne ustawienia koszyku,
+Enable Shopping Cart,Włącz Koszyk,
+Show Public Attachments,Pokaż załączniki publiczne,
+Show Price,Pokaż cenę,
+Show Stock Availability,Pokaż dostępność zapasów,
+Show Contact Us Button,Pokaż przycisk Skontaktuj się z nami,
+Show Stock Quantity,Pokaż ilość zapasów,
+Show Apply Coupon Code,Pokaż zastosuj kod kuponu,
+Allow items not in stock to be added to cart,Zezwól na dodanie produktów niedostępnych w magazynie do koszyka,
+Prices will not be shown if Price List is not set,"Ceny nie będą wyświetlane, jeśli Cennik nie jest ustawiony",
+Quotation Series,Serie Wyeceny,
+Checkout Settings,Zamówienie Ustawienia,
+Enable Checkout,Włącz kasę,
+Payment Success Url,Płatność Sukces URL,
+After payment completion redirect user to selected page.,Po dokonaniu płatności przekierować użytkownika do wybranej strony.,
+Batch Details,Szczegóły partii,
+Batch ID,Identyfikator Partii,
+image,wizerunek,
+Parent Batch,Nadrzędna partia,
+Manufacturing Date,Data produkcji,
+Batch Quantity,Ilość partii,
+Batch UOM,UOM partii,
+Source Document Type,Typ dokumentu źródłowego,
+Source Document Name,Nazwa dokumentu źródłowego,
+Batch Description,Opis partii,
+Bin,Kosz,
+Reserved Quantity,Zarezerwowana ilość,
+Actual Quantity,Rzeczywista Ilość,
+Requested Quantity,Oczekiwana ilość,
+Reserved Qty for sub contract,Zarezerwowana ilość na podwykonawstwo,
+Moving Average Rate,Cena Średnia Ruchoma,
+FCFS Rate,Pierwsza rata,
+Customs Tariff Number,Numer taryfy celnej,
+Tariff Number,Numer taryfy,
+Delivery To,Dostawa do,
+MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
+Is Return,Czy Wróć,
+Issue Credit Note,Problem Uwaga kredytowa,
+Return Against Delivery Note,Powrót Przeciwko dostawy nocie,
+Customer's Purchase Order No,Numer Zamówienia Zakupu Klienta,
+Billing Address Name,Nazwa Adresu do Faktury,
+"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Jeśli utworzono standardowy szablon w podatku od sprzedaży i Prowizji szablonu, wybierz jedną i kliknij na przycisk poniżej.",
+Transporter Info,Informacje dotyczące przewoźnika,
+Driver Name,Imię kierowcy,
+Track this Delivery Note against any Project,Śledź potwierdzenie dostawy w każdym projekcie,
+Inter Company Reference,Referencje między firmami,
+Print Without Amount,Drukuj bez wartości,
+% Installed,% Zainstalowanych,
+% of materials delivered against this Delivery Note,% materiałów dostarczonych w stosunku do dowodu dostawy,
+Installation Status,Status instalacji,
+Excise Page Number,Akcyza numeru strony,
+Instructions,Instrukcje,
+From Warehouse,Z magazynu,
+Against Sales Order,Na podstawie zamówienia sprzedaży,
+Against Sales Order Item,Na podstawie pozycji zamówienia sprzedaży,
+Against Sales Invoice,Na podstawie faktury sprzedaży,
+Against Sales Invoice Item,Na podstawie pozycji faktury sprzedaży,
+Available Batch Qty at From Warehouse,Ilosc w serii dostępne z magazynu,
+Available Qty at From Warehouse,Dostępne szt co z magazynu,
+Delivery Settings,Ustawienia dostawy,
+Dispatch Settings,Ustawienia wysyłki,
+Dispatch Notification Template,Szablon powiadomienia o wysyłce,
+Dispatch Notification Attachment,Powiadomienie o wysyłce,
+Leave blank to use the standard Delivery Note format,"Pozostaw puste, aby używać standardowego formatu dokumentu dostawy",
+Send with Attachment,Wyślij z załącznikiem,
+Delay between Delivery Stops,Opóźnienie między przerwami w dostawie,
+Delivery Stop,Przystanek dostawy,
+Lock,Zamek,
+Visited,Odwiedzony,
+Order Information,Szczegóły zamówienia,
+Contact Information,Informacje kontaktowe,
+Email sent to,Email wysłany do,
+Dispatch Information,Informacje o wysyłce,
+Estimated Arrival,Szacowany przyjazd,
+MAT-DT-.YYYY.-,MAT-DT-.RRRR.-,
+Initial Email Notification Sent,Wstępne powiadomienie e-mail wysłane,
+Delivery Details,Szczegóły dostawy,
+Driver Email,Adres e-mail kierowcy,
+Driver Address,Adres kierowcy,
+Total Estimated Distance,Łączna przewidywana odległość,
+Distance UOM,Odległość UOM,
+Departure Time,Godzina odjazdu,
+Delivery Stops,Przerwy w dostawie,
+Calculate Estimated Arrival Times,Oblicz szacowany czas przyjazdu,
+Use Google Maps Direction API to calculate estimated arrival times,"Użyj interfejsu API Google Maps Direction, aby obliczyć szacowany czas przybycia",
+Optimize Route,Zoptymalizuj trasę,
+Use Google Maps Direction API to optimize route,"Użyj Google Maps Direction API, aby zoptymalizować trasę",
+In Transit,W tranzycie,
+Fulfillment User,Użytkownik spełniający wymagania,
+"A Product or a Service that is bought, sold or kept in stock.","Produkt lub usługa, która jest kupiona, sprzedana lub przechowywana w magazynie.",
+STO-ITEM-.YYYY.-,STO-ITEM-.RRRR.-,
+Variant Of,Wariant,
+"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Jeśli pozycja jest wariant innego elementu, a następnie opis, zdjęcia, ceny, podatki itp zostanie ustalony z szablonu, o ile nie określono wyraźnie",
+Is Item from Hub,Jest Przedmiot z Hubu,
+Default Unit of Measure,Domyślna jednostka miary,
+Maintain Stock,Utrzymanie Zapasów,
+Standard Selling Rate,Standardowy kurs sprzedaży,
+Auto Create Assets on Purchase,Automatycznie twórz zasoby przy zakupie,
+Asset Naming Series,Asset Naming Series,
+Over Delivery/Receipt Allowance (%),Over Delivery / Receipt Allowance (%),
+Barcodes,Kody kreskowe,
+Shelf Life In Days,Okres przydatności do spożycia w dniach,
+End of Life,Zakończenie okresu eksploatacji,
+Default Material Request Type,Domyślnie Materiał Typ żądania,
+Valuation Method,Metoda wyceny,
+FIFO,FIFO,
+Moving Average,Średnia Ruchoma,
+Warranty Period (in days),Okres gwarancji (w dniach),
+Auto re-order,Automatyczne ponowne zamówienie,
+Reorder level based on Warehouse,Zmiana kolejności w oparciu o poziom Magazynu,
+Will also apply for variants unless overrridden,"Również zostanie zastosowany do wariantów, chyba że zostanie nadpisany",
+Units of Measure,Jednostki miary,
+Will also apply for variants,Również zastosowanie do wariantów,
+Serial Nos and Batches,Numery seryjne i partie,
+Has Batch No,Posada numer partii (batch),
+Automatically Create New Batch,Automatyczne tworzenie nowych partii,
+Batch Number Series,Seria numerów partii,
+"Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings.","Przykład: ABCD. #####. Jeśli seria jest ustawiona, a numer partii nie jest wymieniony w transakcjach, na podstawie tej serii zostanie utworzony automatyczny numer partii. Jeśli zawsze chcesz wyraźnie podać numer partii dla tego produktu, pozostaw to pole puste. Uwaga: to ustawienie ma pierwszeństwo przed prefiksem serii nazw w Ustawieniach fotografii.",
+Has Expiry Date,Ma datę wygaśnięcia,
+Retain Sample,Zachowaj próbkę,
+Max Sample Quantity,Maksymalna ilość próbki,
+Maximum sample quantity that can be retained,"Maksymalna ilość próbki, którą można zatrzymać",
+Has Serial No,Posiada numer seryjny,
+Serial Number Series,Seria nr seryjnego,
+"Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Przykład:. ABCD ##### \n Jeśli seria jest ustawiona i nr seryjny nie jest wymieniony w transakcjach, automatyczny numer seryjny zostanie utworzony na podstawie tej serii. Jeśli chcesz zawsze jednoznacznie ustawiać numery seryjne dla tej pozycji, pozostaw to pole puste.",
+Variants,Warianty,
+Has Variants,Ma Warianty,
+"If this item has variants, then it cannot be selected in sales orders etc.","Jeśli ten element ma warianty, to nie może być wybrany w zleceniach sprzedaży itp",
+Variant Based On,Wariant na podstawie,
+Item Attribute,Atrybut elementu,
+"Sales, Purchase, Accounting Defaults","Sprzedaż, zakup, domyślne ustawienia rachunkowości",
+Item Defaults,Domyślne elementy,
+"Purchase, Replenishment Details","Zakup, szczegóły uzupełnienia",
+Is Purchase Item,Jest pozycją kupowalną,
+Default Purchase Unit of Measure,Domyślna jednostka miary zakupów,
+Minimum Order Qty,Minimalna wartość zamówienia,
+Minimum quantity should be as per Stock UOM,Minimalna ilość powinna być zgodna z magazynową jednostką organizacyjną,
+Average time taken by the supplier to deliver,Średni czas podjęte przez dostawcę do dostarczenia,
+Is Customer Provided Item,Jest przedmiotem dostarczonym przez klienta,
+Delivered by Supplier (Drop Ship),Dostarczane przez Dostawcę (Drop Ship),
+Supplier Items,Dostawca przedmioty,
+Foreign Trade Details,Handlu Zagranicznego Szczegóły,
+Country of Origin,Kraj pochodzenia,
+Sales Details,Szczegóły sprzedaży,
+Default Sales Unit of Measure,Domyślna jednostka sprzedaży środka,
+Is Sales Item,Jest pozycją sprzedawalną,
+Max Discount (%),Maksymalny rabat (%),
+No of Months,Liczba miesięcy,
+Customer Items,Pozycje klientów,
+Inspection Criteria,Kryteria kontrolne,
+Inspection Required before Purchase,Wymagane Kontrola przed zakupem,
+Inspection Required before Delivery,Wymagane Kontrola przed dostawą,
+Default BOM,Domyślne Zestawienie Materiałów,
+Supply Raw Materials for Purchase,Dostawa surowce Skupu,
+If subcontracted to a vendor,Jeśli zlecona dostawcy,
+Customer Code,Kod Klienta,
+Default Item Manufacturer,Domyślny producent pozycji,
+Default Manufacturer Part No,Domyślny numer części producenta,
+Show in Website (Variant),Pokaż w Serwisie (Variant),
+Items with higher weightage will be shown higher,Produkty z wyższym weightage zostaną pokazane wyższe,
+Show a slideshow at the top of the page,Pokazuj slideshow na górze strony,
+Website Image,Obraz strony internetowej,
+Website Warehouse,Magazyn strony WWW,
+"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Pokazuj ""W magazynie"" lub ""Brak w magazynie"" bazując na ilości dostępnej w tym magazynie.",
+Website Item Groups,Grupy przedmiotów strony WWW,
+List this Item in multiple groups on the website.,Pokaż ten produkt w wielu grupach na stronie internetowej.,
+Copy From Item Group,Skopiuj z Grupy Przedmiotów,
+Website Content,Zawartość strony internetowej,
+You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Możesz użyć dowolnego poprawnego znacznika Bootstrap 4 w tym polu. Zostanie on wyświetlony na Twojej stronie przedmiotu.,
+Total Projected Qty,Łącznej prognozowanej szt,
+Hub Publishing Details,Szczegóły publikacji wydawnictwa Hub,
+Publish in Hub,Publikowanie w Hub,
+Publish Item to hub.erpnext.com,Publikacja na hub.erpnext.com,
+Hub Category to Publish,Kategoria ośrodka do opublikowania,
+Hub Warehouse,Magazyn Hub,
+"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Opublikuj &quot;W magazynie&quot; lub &quot;Nie w magazynie&quot; w Hub na podstawie zapasów dostępnych w tym magazynie.,
+Synced With Hub,Synchronizowane z Hub,
+Item Alternative,Pozycja alternatywna,
+Alternative Item Code,Alternatywny kod towaru,
+Two-way,Dwukierunkowy,
+Alternative Item Name,Alternatywna nazwa przedmiotu,
+Attribute Name,Nazwa atrybutu,
+Numeric Values,Wartości liczbowe,
+From Range,Od zakresu,
+Increment,Przyrost,
+To Range,Do osiągnięcia,
+Item Attribute Values,Wartości atrybutu elementu,
+Item Attribute Value,Pozycja wartość atrybutu,
+Attribute Value,Wartość atrybutu,
+Abbreviation,Skrót,
+"This will be appended to the Item Code of the variant. For example, if your abbreviation is ""SM"", and the item code is ""T-SHIRT"", the item code of the variant will be ""T-SHIRT-SM""","To będzie dołączany do Kodeksu poz wariantu. Na przykład, jeśli skrót to ""SM"", a kod element jest ""T-SHIRT"" Kod poz wariantu będzie ""T-SHIRT-SM""",
+Item Barcode,Kod kreskowy,
+Barcode Type,Typ kodu kreskowego,
+EAN,EAN,
+UPC-A,UPC-A,
+Item Customer Detail,Element Szczegóły klienta,
+"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Dla wygody klientów, te kody mogą być użyte w formacie drukowania jak faktury czy dowody dostawy",
+Ref Code,Ref kod,
+Item Default,Domyślny produkt,
+Purchase Defaults,Zakup domyślne,
+Default Buying Cost Center,Domyślne Centrum Kosztów Kupowania,
+Default Supplier,Domyślny dostawca,
+Default Expense Account,Domyślne konto rozchodów,
+Sales Defaults,Domyślne wartości sprzedaży,
+Default Selling Cost Center,Domyślne centrum kosztów sprzedaży,
+Item Manufacturer,pozycja Producent,
+Item Price,Cena,
+Packing Unit,Jednostka pakująca,
+Quantity  that must be bought or sold per UOM,"Ilość, która musi zostać kupiona lub sprzedana za MOM",
+Item Quality Inspection Parameter,Element Parametr Inspekcja Jakości,
+Acceptance Criteria,Kryteria akceptacji,
+Item Reorder,Element Zamów ponownie,
+Check in (group),Przyjazd (grupa),
+Request for,Wniosek o,
+Re-order Level,Próg ponowienia zamówienia,
+Re-order Qty,Ilość w ponowieniu zamówienia,
+Item Supplier,Dostawca,
+Item Variant,Pozycja Wersja,
+Item Variant Attribute,Pozycja Wersja Atrybut,
+Do not update variants on save,Nie aktualizuj wariantów przy zapisie,
+Fields will be copied over only at time of creation.,Pola będą kopiowane tylko w momencie tworzenia.,
+Allow Rename Attribute Value,Zezwalaj na zmianę nazwy wartości atrybutu,
+Rename Attribute Value in Item Attribute.,Zmień nazwę atrybutu w atrybucie elementu.,
+Copy Fields to Variant,Skopiuj pola do wariantu,
+Item Website Specification,Element Specyfikacja Strony,
+Table for Item that will be shown in Web Site,"Tabela dla pozycji, które zostaną pokazane w Witrynie",
+Landed Cost Item,Koszt Przedmiotu,
+Receipt Document Type,Otrzymanie Rodzaj dokumentu,
+Receipt Document,Otrzymanie dokumentu,
+Applicable Charges,Obowiązujące opłaty,
+Purchase Receipt Item,Przedmiot Potwierdzenia Zakupu,
+Landed Cost Purchase Receipt,Koszt kupionego przedmiotu,
+Landed Cost Taxes and Charges,Koszt podatków i opłat,
+Landed Cost Voucher,Koszt kuponu,
+MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
+Purchase Receipts,Potwierdzenia Zakupu,
+Purchase Receipt Items,Przedmioty Potwierdzenia Zakupu,
+Get Items From Purchase Receipts,Uzyskaj pozycje z potwierdzeń zakupu.,
+Distribute Charges Based On,Rozpowszechnianie opłat na podstawie,
+Landed Cost Help,Ugruntowany Koszt Pomocy,
+Manufacturers used in Items,Producenci używane w pozycji,
+Limited to 12 characters,Ograniczona do 12 znaków,
+MAT-MR-.YYYY.-,MAT-MR-.RRRR.-,
+Partially Ordered,Częściowo zamówione,
+Transferred,Przeniesiony,
+% Ordered,% Zamówione,
+Terms and Conditions Content,Zawartość regulaminu,
+Quantity and Warehouse,Ilość i magazyn,
+Lead Time Date,Termin realizacji,
+Min Order Qty,Min. wartość zamówienia,
+Packed Item,Przedmiot pakowany,
+To Warehouse (Optional),Aby Warehouse (opcjonalnie),
+Actual Batch Quantity,Rzeczywista ilość partii,
+Prevdoc DocType,Typ dokumentu dla poprzedniego dokumentu,
+Parent Detail docname,Nazwa dokumentu ze szczegółami nadrzędnego rodzica,
+"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Utwórz paski na opakowania do dostawy. Używane do informacji o numerze opakowania, zawartości i wadze.",
+Indicates that the package is a part of this delivery (Only Draft),"Wskazuje, że pakiet jest częścią tej dostawy (Tylko projektu)",
+MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
+From Package No.,Nr Przesyłki,
+Identification of the package for the delivery (for print),Nr identyfikujący paczkę do dostawy (do druku),
+To Package No.,Do zapakowania Nr,
+If more than one package of the same type (for print),Jeśli więcej niż jedna paczka tego samego typu (do druku),
+Package Weight Details,Informacje o wadze paczki,
+The net weight of this package. (calculated automatically as sum of net weight of items),Masa netto tego pakietu. (Obliczone automatycznie jako suma masy netto poszczególnych pozycji),
+Net Weight UOM,Jednostka miary wagi netto,
+Gross Weight,Waga brutto,
+The gross weight of the package. Usually net weight + packaging material weight. (for print),Waga brutto opakowania. Zazwyczaj waga netto + waga materiału z jakiego jest wykonane opakowanie. (Do druku),
+Gross Weight UOM,Waga brutto Jednostka miary,
+Packing Slip Item,Pozycja listu przewozowego,
+STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
+Material Transfer for Manufacture,Materiał transferu dla Produkcja,
+Qty of raw materials will be decided based on the qty of the Finished Goods Item,Ilość surowców zostanie ustalona na podstawie ilości produktu gotowego,
+Parent Warehouse,Dominująca Magazyn,
+Items under this warehouse will be suggested,Produkty w tym magazynie zostaną zasugerowane,
+Get Item Locations,Uzyskaj lokalizacje przedmiotów,
+Item Locations,Lokalizacje przedmiotów,
+Pick List Item,Wybierz element listy,
+Picked Qty,Wybrano ilość,
+Price List Master,Ustawienia Cennika,
+Price List Name,Nazwa cennika,
+Price Not UOM Dependent,Cena nie zależy od ceny,
+Applicable for Countries,Zastosowanie dla krajów,
+Price List Country,Cena Kraj,
+MAT-PRE-.YYYY.-,MAT-PRE-RAYY.-,
+Supplier Delivery Note,Uwagi do dostawy,
+Time at which materials were received,Data i czas otrzymania dostawy,
+Return Against Purchase Receipt,Powrót Przeciwko ZAKUPU,
+Rate at which supplier's currency is converted to company's base currency,Stawka przy użyciu której waluta dostawcy jest konwertowana do podstawowej waluty firmy,
+Sets 'Accepted Warehouse' in each row of the items table.,Ustawia „Zaakceptowany magazyn” w każdym wierszu tabeli towarów.,
+Sets 'Rejected Warehouse' in each row of the items table.,Ustawia „Magazyn odrzucony” w każdym wierszu tabeli towarów.,
+Raw Materials Consumed,Zużyte surowce,
+Get Current Stock,Pobierz aktualny stan magazynowy,
+Consumed Items,Zużyte przedmioty,
+Auto Repeat Detail,Auto Repeat Detail,
+Transporter Details,Szczegóły transportu,
+Vehicle Number,Numer pojazdu,
+Vehicle Date,Pojazd Data,
+Received and Accepted,Otrzymano i zaakceptowano,
+Accepted Quantity,Przyjęta Ilość,
+Rejected Quantity,Odrzucona Ilość,
+Accepted Qty as per Stock UOM,Zaakceptowana ilość zgodnie z JM zapasów,
+Sample Quantity,Ilość próbki,
+Rate and Amount,Stawka i Ilość,
+MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
+Report Date,Data raportu,
+Inspection Type,Typ kontroli,
+Item Serial No,Nr seryjny,
+Sample Size,Wielkość próby,
+Inspected By,Skontrolowane przez,
+Readings,Odczyty,
+Quality Inspection Reading,Odczyt kontroli jakości,
+Reading 1,Odczyt 1,
+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,
+Reading 10,Odczyt 10,
+Quality Inspection Template Name,Nazwa szablonu kontroli jakości,
+Quick Stock Balance,Szybkie saldo zapasów,
+Available Quantity,Dostępna Ilość,
+Distinct unit of an Item,Odrębna jednostka przedmiotu,
+Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Magazyn może być tylko zmieniony poprzez Wpis Asortymentu / Notę Dostawy / Potwierdzenie zakupu,
+Purchase / Manufacture Details,Szczegóły Zakupu / Produkcji,
+Creation Date,Data utworzenia,
+Creation Time,Czas utworzenia,
+Asset Details,Szczegóły dotyczące aktywów,
+Asset Status,Status zasobu,
+Delivery Document Type,Typ dokumentu dostawy,
+Delivery Document No,Nr dokumentu dostawy,
+Delivery Time,Czas dostawy,
+Invoice Details,Dane do faktury,
+Warranty / AMC Details,Gwarancja / AMC Szczegóły,
+Warranty Expiry Date,Data upływu gwarancji,
+AMC Expiry Date,AMC Data Ważności,
+Under Warranty,Pod Gwarancją,
+Out of Warranty,Brak Gwarancji,
+Under AMC,Pod AMC,
+Warranty Period (Days),Okres gwarancji (dni),
+Serial No Details,Szczegóły numeru seryjnego,
+MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
+Stock Entry Type,Rodzaj wejścia na magazyn,
+Stock Entry (Outward GIT),Wjazd na giełdę (GIT zewnętrzny),
+Material Consumption for Manufacture,Zużycie materiału do produkcji,
+Repack,Przepakowanie,
+Send to Subcontractor,Wyślij do Podwykonawcy,
+Delivery Note No,Nr dowodu dostawy,
+Sales Invoice No,Nr faktury sprzedaży,
+Purchase Receipt No,Nr Potwierdzenia Zakupu,
+Inspection Required,Wymagana kontrola,
+From BOM,Od BOM,
+For Quantity,Dla Ilości,
+Including items for sub assemblies,W tym elementów dla zespołów sub,
+Default Source Warehouse,Domyślny magazyn źródłowy,
+Source Warehouse Address,Adres hurtowni,
+Default Target Warehouse,Domyślny magazyn docelowy,
+Target Warehouse Address,Docelowy adres hurtowni,
+Update Rate and Availability,Aktualizuj cenę i dostępność,
+Total Incoming Value,Całkowita wartość przychodów,
+Total Outgoing Value,Całkowita wartość wychodząca,
+Total Value Difference (Out - In),Całkowita Wartość Różnica (Out - In),
+Additional Costs,Dodatkowe koszty,
+Total Additional Costs,Wszystkich Dodatkowe koszty,
+Customer or Supplier Details,Szczegóły klienta lub dostawcy,
+Per Transferred,Na przeniesione,
+Stock Entry Detail,Szczególy zapisu magazynowego,
+Basic Rate (as per Stock UOM),Stawki podstawowej (zgodnie Stock UOM),
+Basic Amount,Kwota podstawowa,
+Additional Cost,Dodatkowy koszt,
+Serial No / Batch,Nr seryjny / partia,
+Subcontracted Item,Element podwykonawstwa,
+Against Stock Entry,Przeciwko wprowadzeniu akcji,
+Stock Entry Child,Dziecko do wejścia na giełdę,
+PO Supplied Item,PO Dostarczony przedmiot,
+Reference Purchase Receipt,Odbiór zakupu referencyjnego,
+Stock Ledger Entry,Zapis w księdze zapasów,
+Outgoing Rate,Wychodzące Cena,
+Actual Qty After Transaction,Rzeczywista Ilość Po Transakcji,
+Stock Value Difference,Różnica wartości zapasów,
+Stock Reconciliation,Uzgodnienia stanu,
+This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,To narzędzie pomaga uaktualnić lub ustalić ilość i wycenę akcji w systemie. To jest zwykle używany do synchronizacji wartości systemowych i co rzeczywiście istnieje w magazynach.,
+MAT-RECO-.YYYY.-,MAT-RECO-.RRRR.-,
+Reconciliation JSON,Wyrównywanie JSON,
+Stock Reconciliation Item,Uzgodnienia Stanu Pozycja,
+Before reconciliation,Przed pojednania,
+Current Serial No,Aktualny numer seryjny,
+Current Valuation Rate,Aktualny Wycena Cena,
+Current Amount,Aktualny Kwota,
+Quantity Difference,Ilość Różnica,
+Amount Difference,kwota różnicy,
+Item Naming By,Element Nazwy przez,
+Default Item Group,Domyślna grupa elementów,
+Default Stock UOM,Domyślna jednostka miary Asortymentu,
+Sample Retention Warehouse,Przykładowy magazyn retencyjny,
+Default Valuation Method,Domyślna metoda wyceny,
+Show Barcode Field,Pokaż pole kodu kreskowego,
+Convert Item Description to Clean HTML,"Konwertuj opis elementu, aby wyczyścić HTML",
+Allow Negative Stock,Dozwolony ujemny stan,
+Automatically Set Serial Nos based on FIFO,Nr seryjny automatycznie ustawiony w oparciu o FIFO,
+Auto Material Request,Zapytanie Auto Materiał,
+Inter Warehouse Transfer Settings,Ustawienia transferu między magazynami,
+Freeze Stock Entries,Zamroź Wpisy do Asortymentu,
+Stock Frozen Upto,Zamroź zapasy do,
+Batch Identification,Identyfikacja partii,
+Use Naming Series,Użyj serii nazw,
+Naming Series Prefix,Prefiks serii nazw,
+UOM Category,Kategoria UOM,
+UOM Conversion Detail,Szczegóły konwersji jednostki miary,
+Variant Field,Pole wariantu,
+A logical Warehouse against which stock entries are made.,Logiczny Magazyn przeciwny do zapisów.,
+Warehouse Detail,Szczegóły magazynu,
+Warehouse Name,Nazwa magazynu,
+Warehouse Contact Info,Dane kontaktowe dla magazynu,
+PIN,PIN,
+ISS-.YYYY.-,ISS-.YYYY.-,
+Raised By (Email),Wywołany przez (Email),
+Issue Type,rodzaj zagadnienia,
+Issue Split From,Wydanie Split From,
+Service Level,Poziom usług,
+Response By,Odpowiedź wg,
+Response By Variance,Odpowiedź według wariancji,
+Ongoing,Trwający,
+Resolution By,Rozdzielczość wg,
+Resolution By Variance,Rozdzielczość przez wariancję,
+Service Level Agreement Creation,Tworzenie umowy o poziomie usług,
+First Responded On,Data pierwszej odpowiedzi,
+Resolution Details,Szczegóły Rozstrzygnięcia,
+Opening Date,Data Otwarcia,
+Opening Time,Czas Otwarcia,
+Resolution Date,Data Rozstrzygnięcia,
+Via Customer Portal,Przez portal klienta,
+Support Team,Support Team,
+Issue Priority,Priorytet wydania,
+Service Day,Dzień obsługi,
+Workday,Dzień roboczy,
+Default Priority,Domyślny priorytet,
+Priorities,Priorytety,
+Support Hours,Godziny Wsparcia,
+Support and Resolution,Wsparcie i rozdzielczość,
+Default Service Level Agreement,Domyślna umowa o poziomie usług,
+Entity,Jednostka,
+Agreement Details,Szczegóły umowy,
+Response and Resolution Time,Czas odpowiedzi i rozdzielczości,
+Service Level Priority,Priorytet poziomu usług,
+Resolution Time,Czas rozdzielczości,
+Support Search Source,Wspieraj źródło wyszukiwania,
+Source Type,rodzaj źródła,
+Query Route String,Ciąg trasy zapytania,
+Search Term Param Name,Szukane słowo Nazwa Param,
+Response Options,Opcje odpowiedzi,
+Response Result Key Path,Kluczowa ścieżka odpowiedzi,
+Post Route String,Wpisz ciąg trasy,
+Post Route Key List,Opublikuj listę kluczy,
+Post Title Key,Post Title Key,
+Post Description Key,Klucz opisu postu,
+Link Options,Opcje linku,
+Source DocType,Źródło DocType,
+Result Title Field,Pole wyniku wyniku,
+Result Preview Field,Pole podglądu wyników,
+Result Route Field,Wynik Pole trasy,
+Service Level Agreements,Umowy o poziomie usług,
+Track Service Level Agreement,Śledź umowę o poziomie usług,
+Allow Resetting Service Level Agreement,Zezwalaj na resetowanie umowy o poziomie usług,
+Close Issue After Days,Po blisko Issue Dni,
+Auto close Issue after 7 days,Auto blisko Issue po 7 dniach,
+Support Portal,Portal wsparcia,
+Get Started Sections,Pierwsze kroki,
+Show Latest Forum Posts,Pokaż najnowsze posty na forum,
+Forum Posts,Posty na forum,
+Forum URL,URL forum,
+Get Latest Query,Pobierz najnowsze zapytanie,
+Response Key List,Lista kluczy odpowiedzi,
+Post Route Key,Wpisz klucz trasy,
+Search APIs,Wyszukaj interfejsy API,
+SER-WRN-.YYYY.-,SER-WRN-.RRRR.-,
+Issue Date,Data zdarzenia,
+Item and Warranty Details,Przedmiot i gwarancji Szczegóły,
+Warranty / AMC Status,Gwarancja / AMC Status,
+Resolved By,Rozstrzygnięte przez,
+Service Address,Adres usługi,
+If different than customer address,Jeśli jest inny niż adres klienta,
+Raised By,Wywołany przez,
+From Company,Od Firmy,
+Rename Tool,Zmień nazwę narzędzia,
+Utilities,Usługi komunalne,
+Type of document to rename.,"Typ dokumentu, którego zmieniasz nazwę",
+File to Rename,Plik to zmiany nazwy,
+"Attach .csv file with two columns, one for the old name and one for the new name","Dołączyć plik .csv z dwoma kolumnami, po jednym dla starej nazwy i jeden dla nowej nazwy",
+Rename Log,Zmień nazwę dziennika,
+SMS Log,Dziennik zdarzeń SMS,
+Sender Name,Nazwa Nadawcy,
+Sent On,Wysłano w,
+No of Requested SMS,Numer wymaganego SMS,
+Requested Numbers,Wymagane numery,
+No of Sent SMS,Numer wysłanego Sms,
+Sent To,Wysłane Do,
+Absent Student Report,Raport Nieobecności Studenta,
+Assessment Plan Status,Status planu oceny,
+Asset Depreciation Ledger,Księga amortyzacji,
+Asset Depreciations and Balances,Aktywów Amortyzacja i salda,
+Available Stock for Packing Items,Dostępne ilości dla materiałów opakunkowych,
+Bank Clearance Summary,Rozliczenia bankowe,
+Bank Remittance,Przelew bankowy,
+Batch Item Expiry Status,Batch Przedmiot status ważności,
+BOM Explorer,Eksplorator BOM,
+BOM Search,BOM Szukaj,
+BOM Stock Calculated,BOM Stock Obliczono,
+BOM Variance Report,Raport wariancji BOM,
+Campaign Efficiency,Skuteczność Kampanii,
+Cash Flow,Przepływy pieniężne,
+Completed Work Orders,Zrealizowane zlecenia pracy,
+To Produce,Do produkcji,
+Produced,Wyprodukowany,
+Consolidated Financial Statement,Skonsolidowane sprawozdanie finansowe,
+Course wise Assessment Report,Szeregowy raport oceny,
+Customer Credit Balance,Saldo kredytowe klienta,
+Customer Ledger Summary,Podsumowanie księgi klienta,
+Customer-wise Item Price,Cena przedmiotu pod względem klienta,
+Customers Without Any Sales Transactions,Klienci bez żadnych transakcji sprzedaży,
+Daily Timesheet Summary,Codzienne grafiku Podsumowanie,
+Daily Work Summary Replies,Podsumowanie codziennej pracy,
+DATEV,DATEV,
+Delayed Item Report,Raport o opóźnionych przesyłkach,
+Delayed Order Report,Raport o opóźnionym zamówieniu,
+Delivered Items To Be Billed,Dostarczone przedmioty oczekujące na fakturowanie,
+Delivery Note Trends,Trendy Dowodów Dostawy,
+Electronic Invoice Register,Rejestr faktur elektronicznych,
+Employee Advance Summary,Podsumowanie zaliczek pracowników,
+Employee Billing Summary,Podsumowanie płatności dla pracowników,
+Employee Birthday,Data urodzenia pracownika,
+Employee Information,Informacja o pracowniku,
+Employee Leave Balance,Bilans Nieobecności Pracownika,
+Employee Leave Balance Summary,Podsumowanie salda urlopu pracownika,
+Employees working on a holiday,Pracownicy zatrudnieni na wakacje,
+Eway Bill,Eway Bill,
+Expiring Memberships,Wygaśnięcie członkostwa,
+Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptables [FEC],
+Final Assessment Grades,Oceny końcowe,
+Fixed Asset Register,Naprawiono rejestr aktywów,
+Gross and Net Profit Report,Raport zysku brutto i netto,
+GST Itemised Purchase Register,GST Wykaz zamówień zakupu,
+GST Itemised Sales Register,Wykaz numerów sprzedaży produktów GST,
+GST Purchase Register,Rejestr zakupów GST,
+GST Sales Register,Rejestr sprzedaży GST,
+GSTR-1,GSTR-1,
+GSTR-2,GSTR-2,
+Hotel Room Occupancy,Pokój hotelowy,
+HSN-wise-summary of outward supplies,Podsumowanie HSN dostaw zewnętrznych,
+Inactive Customers,Nieaktywne Klienci,
+Inactive Sales Items,Nieaktywne elementy sprzedaży,
+IRS 1099,IRS 1099,
+Issued Items Against Work Order,Wydane przedmioty na zlecenie pracy,
+Projected Quantity as Source,Prognozowana ilość jako źródło,
+Item Balance (Simple),Bilans przedmiotu (prosty),
+Item Price Stock,Pozycja Cena towaru,
+Item Prices,Ceny,
+Item Shortage Report,Element Zgłoś Niedobór,
+Item Variant Details,Szczegóły wariantu przedmiotu,
+Reserved,Zarezerwowany,
+Itemwise Recommended Reorder Level,Pozycja Zalecany poziom powtórnego zamówienia,
+Lead Details,Dane Tropu,
+Lead Owner Efficiency,Skuteczność właściciela wiodącego,
+Loan Repayment and Closure,Spłata i zamknięcie pożyczki,
+Loan Security Status,Status zabezpieczenia pożyczki,
+Lost Opportunity,Stracona szansa,
+Maintenance Schedules,Plany Konserwacji,
+Monthly Attendance Sheet,Miesięczna karta obecności,
+Open Work Orders,Otwórz zlecenia pracy,
+Qty to Deliver,Ilość do dostarczenia,
+Patient Appointment Analytics,Analiza wizyt pacjentów,
+Payment Period Based On Invoice Date,Termin Płatności oparty na dacie faktury,
+Pending SO Items For Purchase Request,Oczekiwane elementy Zamówień Sprzedaży na Prośbę Zakupu,
+Procurement Tracker,Śledzenie zamówień,
+Product Bundle Balance,Bilans pakietu produktów,
+Production Analytics,Analizy produkcyjne,
+Profit and Loss Statement,Rachunek zysków i strat,
+Profitability Analysis,Analiza rentowności,
+Project Billing Summary,Podsumowanie płatności za projekt,
+Project wise Stock Tracking,Śledzenie zapasów według projektu,
+Prospects Engaged But Not Converted,"Perspektywy zaręczone, ale nie przekształcone",
+Purchase Analytics,Analiza Zakupów,
+Purchase Invoice Trends,Trendy Faktur Zakupów,
+Qty to Receive,Ilość do otrzymania,
+Received Qty Amount,Otrzymana ilość,
+Billed Qty,Rozliczona ilość,
+Purchase Order Trends,Trendy Zamówienia Kupna,
+Purchase Receipt Trends,Trendy Potwierdzenia Zakupu,
+Purchase Register,Rejestracja Zakupu,
+Quotation Trends,Trendy Wyceny,
+Received Items To Be Billed,Otrzymane przedmioty czekające na zaksięgowanie,
+Qty to Order,Ilość do zamówienia,
+Requested Items To Be Transferred,Proszę o Przetranferowanie Przedmiotów,
+Qty to Transfer,Ilość do transferu,
+Salary Register,wynagrodzenie Rejestracja,
+Sales Analytics,Analityka sprzedaży,
+Sales Partner Commission Summary,Podsumowanie Komisji ds. Sprzedaży,
+Sales Partner Target Variance based on Item Group,Zmienna docelowa partnera handlowego na podstawie grupy pozycji,
+Sales Partner Transaction Summary,Podsumowanie transakcji partnera handlowego,
+Sales Partners Commission,Prowizja Partnera Sprzedaży,
+Invoiced Amount (Exclusive Tax),Kwota zafakturowana (bez podatku),
+Average Commission Rate,Średnia Prowizja,
+Sales Payment Summary,Podsumowanie płatności za sprzedaż,
+Sales Person Commission Summary,Osoba odpowiedzialna za sprzedaż,
+Sales Person Target Variance Based On Item Group,Zmienna docelowa osoby sprzedaży na podstawie grupy pozycji,
+Sales Register,Rejestracja Sprzedaży,
+Serial No Service Contract Expiry,Umowa serwisowa o nr seryjnym wygasa,
+Serial No Status,Status nr seryjnego,
+Serial No Warranty Expiry,Gwarancja o nr seryjnym wygasa,
+Stock Ageing,Starzenie się zapasów,
+Stock and Account Value Comparison,Porównanie wartości zapasów i konta,
+Stock Projected Qty,Przewidywana ilość zapasów,
+Student and Guardian Contact Details,Uczeń i opiekun Dane kontaktowe,
+Student Batch-Wise Attendance,Partiami Student frekwencja,
+Student Fee Collection,Student Opłata Collection,
+Student Monthly Attendance Sheet,Student miesięczny Obecność Sheet,
+Subcontracted Item To Be Received,Przedmiot podwykonawstwa do odbioru,
+Subcontracted Raw Materials To Be Transferred,"Podwykonawstwo Surowce, które mają zostać przekazane",
+Supplier Ledger Summary,Podsumowanie księgi dostawców,
+Support Hour Distribution,Dystrybucja godzin wsparcia,
+TDS Computation Summary,Podsumowanie obliczeń TDS,
+TDS Payable Monthly,Miesięczny płatny TDS,
+Territory Target Variance Based On Item Group,Territory Target Variance Based On Item Item,
+Territory-wise Sales,Sprzedaż terytorialna,
+Total Stock Summary,Całkowity podsumowanie zasobów,
+Trial Balance,Zestawienie obrotów i sald,
+Trial Balance (Simple),Bilans próbny (prosty),
+Trial Balance for Party,Trial Balance for Party,
+Unpaid Expense Claim,Niepłatny Koszty Zastrzeżenie,
+Warehouse wise Item Balance Age and Value,Magazyn mądry Pozycja Bilans Wiek i wartość,
+Work Order Stock Report,Raport o stanie zlecenia pracy,
+Work Orders in Progress,Zlecenia robocze w toku,
+Validation Error,Błąd walidacji,
+Automatically Process Deferred Accounting Entry,Automatycznie przetwarzaj odroczony zapis księgowy,
+Bank Clearance,Rozliczenie bankowe,
+Bank Clearance Detail,Szczegóły dotyczące rozliczeń bankowych,
+Update Cost Center Name / Number,Zaktualizuj nazwę / numer centrum kosztów,
+Journal Entry Template,Szablon wpisu do dziennika,
+Template Title,Tytuł szablonu,
+Journal Entry Type,Typ pozycji dziennika,
+Journal Entry Template Account,Konto szablonu zapisów księgowych,
+Process Deferred Accounting,Rozliczanie odroczone procesu,
+Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Nie można utworzyć ręcznego wpisu! Wyłącz automatyczne wprowadzanie odroczonych księgowań w ustawieniach kont i spróbuj ponownie,
+End date cannot be before start date,Data zakończenia nie może być wcześniejsza niż data rozpoczęcia,
+Total Counts Targeted,Łączna liczba docelowa,
+Total Counts Completed,Całkowita liczba zakończonych,
+Counts Targeted: {0},Docelowe liczby: {0},
+Payment Account is mandatory,Konto płatnicze jest obowiązkowe,
+"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","Jeśli zaznaczone, pełna kwota zostanie odliczona od dochodu podlegającego opodatkowaniu przed obliczeniem podatku dochodowego bez składania deklaracji lub dowodów.",
+Disbursement Details,Szczegóły wypłaty,
+Material Request Warehouse,Magazyn żądań materiałowych,
+Select warehouse for material requests,Wybierz magazyn dla zapytań materiałowych,
+Transfer Materials For Warehouse {0},Przenieś materiały do magazynu {0},
+Production Plan Material Request Warehouse,Plan produkcji Magazyn żądań materiałowych,
+Sets 'Source Warehouse' in each row of the items table.,Ustawia „Magazyn źródłowy” w każdym wierszu tabeli towarów.,
+Sets 'Target Warehouse' in each row of the items table.,Ustawia „Magazyn docelowy” w każdym wierszu tabeli towarów.,
+Show Cancelled Entries,Pokaż anulowane wpisy,
+Backdated Stock Entry,Zapis akcji z datą wsteczną,
+Row #{}: Currency of {} - {} doesn't matches company currency.,Wiersz nr {}: waluta {} - {} nie odpowiada walucie firmy.,
+{} Assets created for {},{} Zasoby utworzone dla {},
+{0} Number {1} is already used in {2} {3},{0} Numer {1} jest już używany w {2} {3},
+Update Bank Clearance Dates,Zaktualizuj daty rozliczeń bankowych,
+Healthcare Practitioner: ,Lekarz:,
+Lab Test Conducted: ,Przeprowadzony test laboratoryjny:,
+Lab Test Event: ,Wydarzenie testów laboratoryjnych:,
+Lab Test Result: ,Wynik testu laboratoryjnego:,
+Clinical Procedure conducted: ,Przeprowadzona procedura kliniczna:,
+Therapy Session Charges: {0},Opłaty za sesję terapeutyczną: {0},
+Therapy: ,Terapia:,
+Therapy Plan: ,Plan terapii:,
+Total Counts Targeted: ,Łączna liczba docelowa:,
+Total Counts Completed: ,Łączna liczba zakończonych:,
+Andaman and Nicobar Islands,Wyspy Andaman i Nicobar,
+Andhra Pradesh,Andhra Pradesh,
+Arunachal Pradesh,Arunachal Pradesh,
+Assam,Assam,
+Bihar,Bihar,
+Chandigarh,Chandigarh,
+Chhattisgarh,Chhattisgarh,
+Dadra and Nagar Haveli,Dadra i Nagar Haveli,
+Daman and Diu,Daman i Diu,
+Delhi,Delhi,
+Goa,Goa,
+Gujarat,Gujarat,
+Haryana,Haryana,
+Himachal Pradesh,Himachal Pradesh,
+Jammu and Kashmir,Dżammu i Kaszmir,
+Jharkhand,Jharkhand,
+Karnataka,Karnataka,
+Kerala,Kerala,
+Lakshadweep Islands,Wyspy Lakshadweep,
+Madhya Pradesh,Madhya Pradesh,
+Maharashtra,Maharashtra,
+Manipur,Manipur,
+Meghalaya,Meghalaya,
+Mizoram,Mizoram,
+Nagaland,Nagaland,
+Odisha,Odisha,
+Other Territory,Inne terytorium,
+Pondicherry,Puducherry,
+Punjab,Pendżab,
+Rajasthan,Rajasthan,
+Sikkim,Sikkim,
+Tamil Nadu,Tamil Nadu,
+Telangana,Telangana,
+Tripura,Tripura,
+Uttar Pradesh,Uttar Pradesh,
+Uttarakhand,Uttarakhand,
+West Bengal,Bengal Zachodni,
+Is Mandatory,Jest obowiązkowe,
+Published on,Opublikowano,
+Service Received But Not Billed,"Usługa otrzymana, ale niezafakturowana",
+Deferred Accounting Settings,Odroczone ustawienia księgowania,
+Book Deferred Entries Based On,Rezerwuj wpisy odroczone na podstawie,
+Days,Dni,
+Months,Miesięcy,
+Book Deferred Entries Via Journal Entry,Rezerwuj wpisy odroczone za pośrednictwem wpisu do dziennika,
+Submit Journal Entries,Prześlij wpisy do dziennika,
+If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Jeśli ta opcja nie jest zaznaczona, wpisy do dziennika zostaną zapisane jako wersja robocza i będą musiały zostać przesłane ręcznie",
+Enable Distributed Cost Center,Włącz rozproszone centrum kosztów,
+Distributed Cost Center,Rozproszone centrum kosztów,
+Dunning,Dunning,
+DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
+Overdue Days,Zaległe dni,
+Dunning Type,Typ monitu,
+Dunning Fee,Opłata za monitowanie,
+Dunning Amount,Kwota monitu,
+Resolved,Zdecydowany,
+Unresolved,Nie rozwiązany,
+Printing Setting,Ustawienie drukowania,
+Body Text,Body Text,
+Closing Text,Tekst zamykający,
+Resolve,Rozwiązać,
+Dunning Letter Text,Tekst listu monitującego,
+Is Default Language,Jest językiem domyślnym,
+Letter or Email Body Text,Treść listu lub wiadomości e-mail,
+Letter or Email Closing Text,List lub e-mail zamykający tekst,
+Body and Closing Text Help,Pomoc dotycząca treści i tekstu zamykającego,
+Overdue Interval,Zaległy interwał,
+Dunning Letter,List monitujący,
+"This section allows the user to set the Body and Closing text of the Dunning Letter for the Dunning Type based on language, which can be used in Print.","W tej sekcji użytkownik może ustawić treść i treść listu upominającego dla typu monitu w oparciu o język, którego można używać w druku.",
+Reference Detail No,Numer referencyjny odniesienia,
+Custom Remarks,Uwagi niestandardowe,
+Please select a Company first.,Najpierw wybierz firmę.,
+"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Wiersz nr {0}: typem dokumentu referencyjnego musi być zamówienie sprzedaży, faktura sprzedaży, zapis księgowy lub monit",
+POS Closing Entry,Zamknięcie POS,
+POS Opening Entry,Otwarcie POS,
+POS Transactions,Transakcje POS,
+POS Closing Entry Detail,Szczegóły wejścia zamknięcia POS,
+Opening Amount,Kwota otwarcia,
+Closing Amount,Kwota zamknięcia,
+POS Closing Entry Taxes,Podatki przy wejściu przy zamykaniu POS,
+POS Invoice,Faktura POS,
+ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
+Consolidated Sales Invoice,Skonsolidowana faktura sprzedaży,
+Return Against POS Invoice,Zwrot na podstawie faktury POS,
+Consolidated,Skonsolidowany,
+POS Invoice Item,Pozycja faktury POS,
+POS Invoice Merge Log,Dziennik scalania faktur POS,
+POS Invoices,Faktury POS,
+Consolidated Credit Note,Skonsolidowana nota kredytowa,
+POS Invoice Reference,Numer faktury POS,
+Set Posting Date,Ustaw datę księgowania,
+Opening Balance Details,Szczegóły salda otwarcia,
+POS Opening Entry Detail,Szczegóły wejścia do punktu sprzedaży,
+POS Payment Method,Metoda płatności POS,
+Payment Methods,Metody Płatności,
+Process Statement Of Accounts,Przetwarzaj wyciągi z kont,
+General Ledger Filters,Filtry księgi głównej,
+Customers,Klienci,
+Select Customers By,Wybierz klientów według,
+Fetch Customers,Pobierz klientów,
+Send To Primary Contact,Wyślij do głównej osoby kontaktowej,
+Print Preferences,Preferencje drukowania,
+Include Ageing Summary,Uwzględnij podsumowanie starzenia się,
+Enable Auto Email,Włącz automatyczne e-maile,
+Filter Duration (Months),Czas trwania filtra (miesiące),
+CC To,CC To,
+Help Text,Tekst pomocy,
+Emails Queued,E-maile w kolejce,
+Process Statement Of Accounts Customer,Przetwarzaj wyciąg z kont Klient,
+Billing Email,E-mail rozliczeniowy,
+Primary Contact Email,Adres e-mail głównej osoby kontaktowej,
+PSOA Cost Center,Centrum kosztów PSOA,
+PSOA Project,Projekt PSOA,
+ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
+Supplier GSTIN,Dostawca GSTIN,
+Place of Supply,Miejsce dostawy,
+Select Billing Address,Wybierz Adres rozliczeniowy,
+GST Details,Szczegóły dotyczące podatku GST,
+GST Category,Kategoria podatku GST,
+Registered Regular,Zarejestrowany Regularny,
+Registered Composition,Zarejestrowany skład,
+Unregistered,Niezarejestrowany,
+SEZ,SSE,
+Overseas,Za granicą,
+UIN Holders,Posiadacze UIN,
+With Payment of Tax,Z zapłatą podatku,
+Without Payment of Tax,Bez zapłaty podatku,
+Invoice Copy,Kopia faktury,
+Original for Recipient,Oryginał dla Odbiorcy,
+Duplicate for Transporter,Duplikat dla Transportera,
+Duplicate for Supplier,Duplikat dla dostawcy,
+Triplicate for Supplier,Potrójny egzemplarz dla dostawcy,
+Reverse Charge,Opłata zwrotna,
+Y,Y,
+N,N,
+E-commerce GSTIN,GSTIN dla handlu elektronicznego,
+Reason For Issuing document,Przyczyna wystawienia dokumentu,
+01-Sales Return,01-Zwrot sprzedaży,
+02-Post Sale Discount,02-zniżka po sprzedaży,
+03-Deficiency in services,03-Niedobór usług,
+04-Correction in Invoice,04-Korekta na fakturze,
+05-Change in POS,05-Zmiana w POS,
+06-Finalization of Provisional assessment,06-Zakończenie wstępnej oceny,
+07-Others,07-Inne,
+Eligibility For ITC,Kwalifikowalność do ITC,
+Input Service Distributor,Dystrybutor usług wejściowych,
+Import Of Service,Import usług,
+Import Of Capital Goods,Import dóbr kapitałowych,
+Ineligible,Którego nie można wybrać,
+All Other ITC,Wszystkie inne ITC,
+Availed ITC Integrated Tax,Dostępny podatek zintegrowany ITC,
+Availed ITC Central Tax,Zastosowany podatek centralny ITC,
+Availed ITC State/UT Tax,Dostępny podatek stanowy ITC / UT,
+Availed ITC Cess,Dostępny podatek ITC,
+Is Nil Rated or Exempted,Brak oceny lub zwolnienie,
+Is Non GST,Nie zawiera podatku GST,
+ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
+E-Way Bill No.,E-Way Bill No.,
+Is Consolidated,Jest skonsolidowane,
+Billing Address GSTIN,Adres rozliczeniowy GSTIN,
+Customer GSTIN,GSTIN klienta,
+GST Transporter ID,Identyfikator przewoźnika GST,
+Distance (in km),Odległość (w km),
+Road,Droga,
+Air,Powietrze,
+Rail,Szyna,
+Ship,Statek,
+GST Vehicle Type,Typ pojazdu z podatkiem VAT,
+Over Dimensional Cargo (ODC),Ładunki ponadwymiarowe (ODC),
+Consumer,Konsument,
+Deemed Export,Uważany za eksport,
+Port Code,Kod portu,
+ Shipping Bill Number,Numer rachunku za wysyłkę,
+Shipping Bill Date,Data rachunku za wysyłkę,
+Subscription End Date,Data zakończenia subskrypcji,
+Follow Calendar Months,Śledź miesiące kalendarzowe,
+If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Jeśli ta opcja jest zaznaczona, kolejne nowe faktury będą tworzone w datach rozpoczęcia miesiąca kalendarzowego i kwartału, niezależnie od daty rozpoczęcia aktualnej faktury",
+Generate New Invoices Past Due Date,Wygeneruj nowe faktury przeterminowane,
+New invoices will be generated as per schedule even if current invoices are unpaid or past due date,"Nowe faktury będą generowane zgodnie z harmonogramem, nawet jeśli bieżące faktury są niezapłacone lub przeterminowane",
+Document Type ,typ dokumentu,
+Subscription Price Based On,Cena subskrypcji na podstawie,
+Fixed Rate,Stała stawka,
+Based On Price List,Na podstawie cennika,
+Monthly Rate,Opłata miesięczna,
+Cancel Subscription After Grace Period,Anuluj subskrypcję po okresie prolongaty,
+Source State,Stan źródłowy,
+Is Inter State,Jest międzystanowe,
+Purchase Details,Szczegóły zakupu,
+Depreciation Posting Date,Data księgowania amortyzacji,
+"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","Domyślnie nazwa dostawcy jest ustawiona zgodnie z wprowadzoną nazwą dostawcy. Jeśli chcesz, aby dostawcy byli nazwani przez rozszerzenie",
+ choose the 'Naming Series' option.,wybierz opcję „Naming Series”.,
+Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Skonfiguruj domyślny Cennik podczas tworzenia nowej transakcji zakupu. Ceny pozycji zostaną pobrane z tego Cennika.,
+"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice or Receipt without creating a Purchase Order first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Order' checkbox in the Supplier master.","Jeśli ta opcja jest skonfigurowana jako „Tak”, ERPNext uniemożliwi utworzenie faktury zakupu lub paragonu bez wcześniejszego tworzenia zamówienia. Tę konfigurację można zastąpić dla określonego dostawcy, zaznaczając pole wyboru „Zezwalaj na tworzenie faktur zakupu bez zamówienia” w karcie głównej dostawcy.",
+"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice without creating a Purchase Receipt first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Receipt' checkbox in the Supplier master.","Jeśli ta opcja jest skonfigurowana jako „Tak”, ERPNext uniemożliwi utworzenie faktury zakupu bez uprzedniego tworzenia paragonu zakupu. Tę konfigurację można zastąpić dla określonego dostawcy, zaznaczając pole wyboru „Zezwalaj na tworzenie faktur zakupu bez potwierdzenia zakupu” we wzorcu dostawcy.",
+Quantity & Stock,Ilość i stan magazynowy,
+Call Details,Szczegóły połączenia,
+Authorised By,Zaautoryzowany przez,
+Signee (Company),Signee (firma),
+Signed By (Company),Podpisane przez (firma),
+First Response Time,Czas pierwszej odpowiedzi,
+Request For Quotation,Zapytanie ofertowe,
+Opportunity Lost Reason Detail,Szczegóły utraconego powodu możliwości,
+Access Token Secret,Dostęp do klucza tajnego,
+Add to Topics,Dodaj do tematów,
+...Adding Article to Topics,... Dodawanie artykułu do tematów,
+Add Article to Topics,Dodaj artykuł do tematów,
+This article is already added to the existing topics,Ten artykuł jest już dodany do istniejących tematów,
+Add to Programs,Dodaj do programów,
+Programs,Programy,
+...Adding Course to Programs,... Dodawanie kursu do programów,
+Add Course to Programs,Dodaj kurs do programów,
+This course is already added to the existing programs,Ten kurs jest już dodany do istniejących programów,
+Learning Management System Settings,Ustawienia systemu zarządzania nauką,
+Enable Learning Management System,Włącz system zarządzania nauką,
+Learning Management System Title,Tytuł systemu zarządzania nauczaniem,
+...Adding Quiz to Topics,... Dodawanie quizu do tematów,
+Add Quiz to Topics,Dodaj quiz do tematów,
+This quiz is already added to the existing topics,Ten quiz został już dodany do istniejących tematów,
+Enable Admission Application,Włącz aplikację o przyjęcie,
+EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
+Marking attendance,Oznaczanie obecności,
+Add Guardians to Email Group,Dodaj opiekunów do grupy e-mailowej,
+Attendance Based On,Frekwencja na podstawie,
+Check this to mark the student as present in case the student is not attending the institute to participate or represent the institute in any event.\n\n,"Zaznacz to, aby oznaczyć ucznia jako obecnego na wypadek, gdyby student nie uczęszczał do instytutu, aby w żadnym wypadku uczestniczyć lub reprezentować instytut.",
+Add to Courses,Dodaj do kursów,
+...Adding Topic to Courses,... Dodawanie tematu do kursów,
+Add Topic to Courses,Dodaj temat do kursów,
+This topic is already added to the existing courses,Ten temat jest już dodany do istniejących kursów,
+"If Shopify does not have a customer in the order, then while syncing the orders, the system will consider the default customer for the order","Jeśli Shopify nie ma klienta w zamówieniu, to podczas synchronizacji zamówień system weźmie pod uwagę domyślnego klienta dla zamówienia",
+The accounts are set by the system automatically but do confirm these defaults,"Konta są ustawiane przez system automatycznie, ale potwierdzają te ustawienia domyślne",
+Default Round Off Account,Domyślne konto zaokrągleń,
+Failed Import Log,Nieudany import dziennika,
+Fixed Error Log,Naprawiono dziennik błędów,
+Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,Firma {0} już istnieje. Kontynuacja spowoduje nadpisanie firmy i planu kont,
+Meta Data,Metadane,
+Unresolve,Nierozwiązane,
+Create Document,Utwórz dokument,
+Mark as unresolved,Oznacz jako nierozwiązane,
+TaxJar Settings,Ustawienia TaxJar,
+Sandbox Mode,Tryb piaskownicy,
+Enable Tax Calculation,Włącz obliczanie podatku,
+Create TaxJar Transaction,Utwórz transakcję TaxJar,
+Credentials,Kwalifikacje,
+Live API Key,Aktywny klucz API,
+Sandbox API Key,Klucz API piaskownicy,
+Configuration,Konfiguracja,
+Tax Account Head,Szef konta podatkowego,
+Shipping Account Head,Szef konta wysyłkowego,
+Practitioner Name,Nazwisko lekarza,
+Enter a name for the Clinical Procedure Template,Wprowadź nazwę szablonu procedury klinicznej,
+Set the Item Code which will be used for billing the Clinical Procedure.,"Ustaw kod pozycji, który będzie używany do rozliczenia procedury klinicznej.",
+Select an Item Group for the Clinical Procedure Item.,Wybierz grupę pozycji dla pozycji procedury klinicznej.,
+Clinical Procedure Rate,Częstość zabiegów klinicznych,
+Check this if the Clinical Procedure is billable and also set the rate.,"Sprawdź, czy procedura kliniczna podlega opłacie, a także ustaw stawkę.",
+Check this if the Clinical Procedure utilises consumables. Click ,"Sprawdź to, jeśli procedura kliniczna wykorzystuje materiały eksploatacyjne. Kliknij",
+ to know more,wiedzieć więcej,
+"You can also set the Medical Department for the template. After saving the document, an Item will automatically be created for billing this Clinical Procedure. You can then use this template while creating Clinical Procedures for Patients. Templates save you from filling up redundant data every single time. You can also create templates for other operations like Lab Tests, Therapy Sessions, etc.","Możesz również ustawić dział medyczny dla szablonu. Po zapisaniu dokumentu pozycja zostanie automatycznie utworzona do rozliczenia tej procedury klinicznej. Możesz następnie użyć tego szablonu podczas tworzenia procedur klinicznych dla pacjentów. Szablony chronią Cię przed zapełnianiem zbędnych danych za każdym razem. Możesz także tworzyć szablony dla innych operacji, takich jak testy laboratoryjne, sesje terapeutyczne itp.",
+Descriptive Test Result,Opisowy wynik testu,
+Allow Blank,Pozwól puste,
+Descriptive Test Template,Opisowy szablon testu,
+"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Jeśli chcesz śledzić listę płac i inne operacje HRMS dla praktyka, utwórz pracownika i połącz go tutaj.",
+Set the Practitioner Schedule you just created. This will be used while booking appointments.,Ustaw właśnie utworzony harmonogram lekarza. Będzie on używany podczas rezerwacji spotkań.,
+Create a service item for Out Patient Consulting.,Utwórz pozycję usługi dla konsultacji z pacjentami zewnętrznymi.,
+"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Jeśli ten pracownik służby zdrowia pracuje dla oddziału szpitalnego, utwórz pozycję usługi dla wizyt szpitalnych.",
+Set the Out Patient Consulting Charge for this Practitioner.,Ustaw opłatę za konsultacje pacjenta zewnętrznego dla tego lekarza.,
+"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Jeśli ten lekarz pracuje również dla oddziału szpitalnego, ustal opłatę za wizytę w szpitalu dla tego lekarza.",
+"If checked, a customer will be created for every Patient. Patient Invoices will be created against this Customer. You can also select existing Customer while creating a Patient. This field is checked by default.","Jeśli zaznaczone, dla każdego Pacjenta zostanie utworzony klient. Dla tego klienta zostaną utworzone faktury dla pacjenta. Możesz także wybrać istniejącego klienta podczas tworzenia pacjenta. To pole jest domyślnie zaznaczone.",
+Collect Registration Fee,Pobrać opłatę rejestracyjną,
+"If your Healthcare facility bills registrations of Patients, you can check this and set the Registration Fee in the field below. Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.","Jeśli Twoja placówka medyczna wystawia rachunki za rejestracje pacjentów, możesz to sprawdzić i ustawić Opłatę rejestracyjną w polu poniżej. Zaznaczenie tej opcji spowoduje domyślnie utworzenie nowych pacjentów ze statusem Wyłączony i będzie włączone dopiero po zafakturowaniu Opłaty rejestracyjnej.",
+Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,"Zaznaczenie tego spowoduje automatyczne utworzenie faktury sprzedaży za każdym razem, gdy zostanie zarezerwowane spotkanie dla Pacjenta.",
+Healthcare Service Items,Elementy usług opieki zdrowotnej,
+"You can create a service item for Inpatient Visit Charge and set it here. Similarly, you can set up other Healthcare Service Items for billing in this section. Click ","Możesz utworzyć pozycję usługi dla opłaty za wizytę szpitalną i ustawić ją tutaj. Podobnie, w tej sekcji możesz skonfigurować inne pozycje usług opieki zdrowotnej do rozliczeń. Kliknij",
+Set up default Accounts for the Healthcare Facility,Skonfiguruj domyślne konta dla placówki opieki zdrowotnej,
+"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Jeśli chcesz zastąpić domyślne ustawienia kont i skonfigurować konta dochodów i należności dla służby zdrowia, możesz to zrobić tutaj.",
+Out Patient SMS alerts,Alerty SMS dla pacjenta,
+"If you want to send SMS alert on Patient Registration, you can enable this option. Similary, you can set up Out Patient SMS alerts for other functionalities in this section. Click ","Jeśli chcesz wysłać powiadomienie SMS o rejestracji pacjenta, możesz włączyć tę opcję. Podobnie, w tej sekcji możesz skonfigurować alerty SMS dla pacjentów wychodzących dla innych funkcji. Kliknij",
+Admission Order Details,Szczegóły zlecenia przyjęcia,
+Admission Ordered For,Wstęp zamówiony dla,
+Expected Length of Stay,Oczekiwana długość pobytu,
+Admission Service Unit Type,Typ jednostki obsługi przyjęcia,
+Healthcare Practitioner (Primary),Lekarz (główna),
+Healthcare Practitioner (Secondary),Lekarz (średnia),
+Admission Instruction,Instrukcja przyjęcia,
+Chief Complaint,Główny zarzut,
+Medications,Leki,
+Investigations,Dochodzenia,
+Discharge Detials,Absolutorium Detials,
+Discharge Ordered Date,Data zamówienia wypisu,
+Discharge Instructions,Instrukcje dotyczące absolutorium,
+Follow Up Date,Data kontynuacji,
+Discharge Notes,Notatki absolutorium,
+Processing Inpatient Discharge,Przetwarzanie wypisu z szpitala,
+Processing Patient Admission,Przetwarzanie przyjęcia pacjenta,
+Check-in time cannot be greater than the current time,Czas zameldowania nie może być dłuższy niż aktualny czas,
+Process Transfer,Przetwarzanie transferu,
+HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
+Expected Result Date,Oczekiwana data wyniku,
+Expected Result Time,Oczekiwany czas wyniku,
+Printed on,Nadrukowany na,
+Requesting Practitioner,Praktykant,
+Requesting Department,Dział składania wniosków,
+Employee (Lab Technician),Pracownik (technik laboratoryjny),
+Lab Technician Name,Nazwisko technika laboratoryjnego,
+Lab Technician Designation,Oznaczenie technika laboratoryjnego,
+Compound Test Result,Wynik testu złożonego,
+Organism Test Result,Wynik testu organizmu,
+Sensitivity Test Result,Wynik testu wrażliwości,
+Worksheet Print,Drukuj arkusz roboczy,
+Worksheet Instructions,Instrukcje arkusza roboczego,
+Result Legend Print,Wydruk legendy wyników,
+Print Position,Pozycja drukowania,
+Bottom,Dolny,
+Top,Top,
+Both,Obie,
+Result Legend,Legenda wyników,
+Lab Tests,Testy laboratoryjne,
+No Lab Tests found for the Patient {0},Nie znaleziono testów laboratoryjnych dla pacjenta {0},
+"Did not send SMS, missing patient mobile number or message content.","Nie wysłano SMS-a, brak numeru telefonu komórkowego pacjenta lub treści wiadomości.",
+No Lab Tests created,Nie utworzono testów laboratoryjnych,
+Creating Lab Tests...,Tworzenie testów laboratoryjnych ...,
+Lab Test Group Template,Szablon grupy testów laboratoryjnych,
+Add New Line,Dodaj nową linię,
+Secondary UOM,Druga jednostka miary,
+"<b>Single</b>: Results which require only a single input.\n<br>\n<b>Compound</b>: Results which require multiple event inputs.\n<br>\n<b>Descriptive</b>: Tests which have multiple result components with manual result entry.\n<br>\n<b>Grouped</b>: Test templates which are a group of other test templates.\n<br>\n<b>No Result</b>: Tests with no results, can be ordered and billed but no Lab Test will be created. e.g.. Sub Tests for Grouped results","<b>Pojedynczy</b> : wyniki wymagające tylko jednego wprowadzenia.<br> <b>Złożone</b> : wyniki wymagające wielu wejść zdarzeń.<br> <b>Opisowe</b> : testy, które mają wiele składników wyników z ręcznym wprowadzaniem wyników.<br> <b>Zgrupowane</b> : szablony testów, które są grupą innych szablonów testów.<br> <b>Brak wyników</b> : Testy bez wyników można zamówić i zafakturować, ale nie zostaną utworzone żadne testy laboratoryjne. na przykład. Testy podrzędne dla wyników zgrupowanych",
+"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Jeśli odznaczone, pozycja nie będzie dostępna na fakturach sprzedaży do fakturowania, ale może być używana do tworzenia testów grupowych.",
+Description ,Opis,
+Descriptive Test,Test opisowy,
+Group Tests,Testy grupowe,
+Instructions to be printed on the worksheet,Instrukcje do wydrukowania w arkuszu,
+"Information to help easily interpret the test report, will be printed as part of the Lab Test result.",Informacje ułatwiające interpretację raportu z testu zostaną wydrukowane jako część wyniku testu laboratoryjnego.,
+Normal Test Result,Normalny wynik testu,
+Secondary UOM Result,Dodatkowy wynik UOM,
+Italic,italski,
+Underline,Podkreślać,
+Organism,Organizm,
+Organism Test Item,Przedmiot badania organizmu,
+Colony Population,Populacja kolonii,
+Colony UOM,Colony UOM,
+Tobacco Consumption (Past),Zużycie tytoniu (w przeszłości),
+Tobacco Consumption (Present),Zużycie tytoniu (obecne),
+Alcohol Consumption (Past),Spożycie alkoholu (w przeszłości),
+Alcohol Consumption (Present),Spożycie alkoholu (obecne),
+Billing Item,Pozycja rozliczeniowa,
+Medical Codes,Kody medyczne,
+Clinical Procedures,Procedury kliniczne,
+Order Admission,Zamów wstęp,
+Scheduling Patient Admission,Planowanie przyjęcia pacjenta,
+Order Discharge,Zamów rozładunek,
+Sample Details,Przykładowe szczegóły,
+Collected On,Zebrano dnia,
+No. of prints,Liczba wydruków,
+Number of prints required for labelling the samples,Liczba odbitek wymaganych do oznakowania próbek,
+HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
+In Time,W samą porę,
+Out Time,Out Time,
+Payroll Cost Center,Centrum kosztów listy płac,
+Approvers,Osoby zatwierdzające,
+The first Approver in the list will be set as the default Approver.,Pierwsza osoba zatwierdzająca na liście zostanie ustawiona jako domyślna osoba zatwierdzająca.,
+Shift Request Approver,Zatwierdzający prośbę o zmianę,
+PAN Number,Numer PAN,
+Provident Fund Account,Konto funduszu rezerwowego,
+MICR Code,Kod MICR,
+Repay unclaimed amount from salary,Zwróć nieodebraną kwotę z wynagrodzenia,
+Deduction from salary,Odliczenie od wynagrodzenia,
+Expired Leaves,Wygasłe liście,
+Reference No,Nr referencyjny,
+Haircut percentage is the percentage difference between market value of the Loan Security and the value ascribed to that Loan Security when used as collateral for that loan.,"Procent redukcji wartości to różnica procentowa między wartością rynkową Papieru Wartościowego Kredytu a wartością przypisaną temu Papierowi Wartościowemu Kredytowemu, gdy jest stosowany jako zabezpieczenie tej pożyczki.",
+Loan To Value Ratio expresses the ratio of the loan amount to the value of the security pledged. A loan security shortfall will be triggered if this falls below the specified value for any loan ,"Wskaźnik kredytu do wartości jest stosunkiem kwoty kredytu do wartości zastawionego zabezpieczenia. Niedobór zabezpieczenia pożyczki zostanie wyzwolony, jeśli spadnie poniżej określonej wartości dla jakiejkolwiek pożyczki",
+If this is not checked the loan by default will be considered as a Demand Loan,"Jeśli opcja ta nie zostanie zaznaczona, pożyczka domyślnie zostanie uznana za pożyczkę na żądanie",
+This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,"To konto służy do księgowania spłat pożyczki od pożyczkobiorcy, a także do wypłaty pożyczki pożyczkobiorcy",
+This account is capital account which is used to allocate capital for loan disbursal account ,"Rachunek ten jest rachunkiem kapitałowym, który służy do alokacji kapitału na rachunek wypłat pożyczki",
+This account will be used for booking loan interest accruals,To konto będzie używane do księgowania narosłych odsetek od kredytu,
+This account will be used for booking penalties levied due to delayed repayments,To konto będzie wykorzystywane do księgowania kar pobieranych z powodu opóźnionych spłat,
+Variant BOM,Wariant BOM,
+Template Item,Element szablonu,
+Select template item,Wybierz element szablonu,
+Select variant item code for the template item {0},Wybierz kod pozycji wariantu dla elementu szablonu {0},
+Downtime Entry,Wejście na czas przestoju,
+DT-,DT-,
+Workstation / Machine,Stacja robocza / maszyna,
+Operator,Operator,
+In Mins,W min,
+Downtime Reason,Przyczyna przestoju,
+Stop Reason,Stop Reason,
+Excessive machine set up time,Zbyt długi czas konfiguracji maszyny,
+Unplanned machine maintenance,Nieplanowana konserwacja maszyny,
+On-machine press checks,Kontrola prasy na maszynie,
+Machine operator errors,Błędy operatora maszyny,
+Machine malfunction,Awaria maszyny,
+Electricity down,Brak prądu,
+Operation Row Number,Numer wiersza operacji,
+Operation {0} added multiple times in the work order {1},Operacja {0} dodana wiele razy w zleceniu pracy {1},
+"If ticked, multiple materials can be used for a single Work Order. This is useful if one or more time consuming products are being manufactured.","Jeśli zaznaczone, w jednym zleceniu pracy można użyć wielu materiałów. Jest to przydatne, jeśli wytwarzany jest jeden lub więcej czasochłonnych produktów.",
+Backflush Raw Materials,Surowce do płukania wstecznego,
+"The Stock Entry of type 'Manufacture' is known as backflush. Raw materials being consumed to manufacture finished goods is known as backflushing. <br><br> When creating Manufacture Entry, raw-material items are backflushed based on BOM of production item. If you want raw-material items to be backflushed based on Material Transfer entry made against that Work Order instead, then you can set it under this field.","Wpis magazynowy typu „Produkcja” jest znany jako przepłukiwanie wsteczne. Surowce zużywane do produkcji wyrobów gotowych nazywa się płukaniem wstecznym.<br><br> Podczas tworzenia wpisu produkcji, pozycje surowców są przepłukiwane wstecznie na podstawie BOM pozycji produkcyjnej. Jeśli chcesz, aby pozycje surowców były wypłukiwane wstecznie na podstawie wpisu przeniesienia materiału dokonanego w ramach tego zlecenia pracy, możesz ustawić go w tym polu.",
+Work In Progress Warehouse,Magazyn Work In Progress,
+This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Ten magazyn będzie automatycznie aktualizowany w polu Work In Progress Warehouse w Work Orders.,
+Finished Goods Warehouse,Magazyn Wyrobów Gotowych,
+This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Ten magazyn zostanie automatycznie zaktualizowany w polu Magazyn docelowy zlecenia pracy.,
+"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Jeśli zaznaczone, koszt BOM zostanie automatycznie zaktualizowany na podstawie kursu wyceny / kursu cennika / ostatniego kursu zakupu surowców.",
+Source Warehouses (Optional),Magazyny źródłowe (opcjonalnie),
+"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","System odbierze materiały z wybranych magazynów. Jeśli nie zostanie określony, system utworzy zapytanie o materiał do zakupu.",
+Lead Time,Czas oczekiwania,
+PAN Details,Szczegóły PAN,
+Create Customer,Utwórz klienta,
+Invoicing,Fakturowanie,
+Enable Auto Invoicing,Włącz automatyczne fakturowanie,
+Send Membership Acknowledgement,Wyślij potwierdzenie członkostwa,
+Send Invoice with Email,Wyślij fakturę e-mailem,
+Membership Print Format,Format wydruku członkostwa,
+Invoice Print Format,Format wydruku faktury,
+Revoke <Key></Key>,Unieważnić&lt;Key&gt;&lt;/Key&gt;,
+You can learn more about memberships in the manual. ,Więcej informacji na temat członkostwa można znaleźć w instrukcji.,
+ERPNext Docs,Dokumenty ERPNext,
+Regenerate Webhook Secret,Zregeneruj sekret Webhooka,
+Generate Webhook Secret,Wygeneruj klucz Webhook,
+Copy Webhook URL,Skopiuj adres URL webhooka,
+Linked Item,Powiązany element,
+Is Recurring,Powtarza się,
+HRA Exemption,Zwolnienie z HRA,
+Monthly House Rent,Miesięczny czynsz za dom,
+Rented in Metro City,Wynajęte w Metro City,
+HRA as per Salary Structure,HRA zgodnie ze strukturą wynagrodzeń,
+Annual HRA Exemption,Coroczne zwolnienie z HRA,
+Monthly HRA Exemption,Miesięczne zwolnienie z HRA,
+House Rent Payment Amount,Kwota spłaty czynszu za dom,
+Rented From Date,Wypożyczone od daty,
+Rented To Date,Wypożyczone do dnia,
+Monthly Eligible Amount,Kwota kwalifikowana miesięcznie,
+Total Eligible HRA Exemption,Całkowite kwalifikujące się zwolnienie z HRA,
+Validating Employee Attendance...,Weryfikacja obecności pracowników ...,
+Submitting Salary Slips and creating Journal Entry...,Przesyłanie odcinków wynagrodzenia i tworzenie zapisów księgowych ...,
+Calculate Payroll Working Days Based On,Oblicz dni robocze listy płac na podstawie,
+Consider Unmarked Attendance As,Rozważ nieoznaczoną obecność jako,
+Fraction of Daily Salary for Half Day,Część dziennego wynagrodzenia za pół dnia,
+Component Type,Typ komponentu,
+Provident Fund,Fundusz emerytalny,
+Additional Provident Fund,Dodatkowy fundusz emerytalny,
+Provident Fund Loan,Pożyczka z funduszu emerytalnego,
+Professional Tax,Podatek zawodowy,
+Is Income Tax Component,Składnik podatku dochodowego,
+Component properties and references ,Właściwości i odniesienia komponentów,
+Additional Salary ,Dodatkowe wynagrodzenie,
+Unmarked days,Nieoznakowane dni,
+Absent Days,Nieobecne dni,
+Conditions and Formula variable and example,Warunki i zmienna formuły oraz przykład,
+Feedback By,Informacje zwrotne od,
+Manufacturing Section,Sekcja Produkcyjna,
+"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Domyślnie nazwa klienta jest ustawiona zgodnie z wprowadzoną pełną nazwą. Jeśli chcesz, aby klienci byli nazwani przez",
+Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Skonfiguruj domyślny Cennik podczas tworzenia nowej transakcji sprzedaży. Ceny pozycji zostaną pobrane z tego Cennika.,
+"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice or Delivery Note without creating a Sales Order first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Sales Order' checkbox in the Customer master.","Jeśli ta opcja jest skonfigurowana jako „Tak”, ERPNext uniemożliwi utworzenie faktury sprzedaży lub dokumentu dostawy bez wcześniejszego tworzenia zamówienia sprzedaży. Tę konfigurację można zastąpić dla konkretnego klienta, zaznaczając pole wyboru „Zezwalaj na tworzenie faktur sprzedaży bez zamówienia sprzedaży” w karcie głównej Klient.",
+"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice without creating a Delivery Note first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Delivery Note' checkbox in the Customer master.","Jeśli ta opcja jest skonfigurowana jako `` Tak &#39;&#39;, ERPNext uniemożliwi utworzenie faktury sprzedaży bez uprzedniego utworzenia dowodu dostawy. Tę konfigurację można zastąpić dla konkretnego klienta, zaznaczając pole wyboru „Zezwalaj na tworzenie faktur sprzedaży bez dowodu dostawy” we wzorcu klienta.",
+Default Warehouse for Sales Return,Domyślny magazyn do zwrotu sprzedaży,
+Default In Transit Warehouse,Domyślnie w magazynie tranzytowym,
+Enable Perpetual Inventory For Non Stock Items,Włącz ciągłe zapasy dla pozycji nie będących na stanie,
+HRA Settings,Ustawienia HRA,
+Basic Component,Element podstawowy,
+HRA Component,Komponent HRA,
+Arrear Component,Składnik zaległości,
+Please enter the company name to confirm,"Wprowadź nazwę firmy, aby potwierdzić",
+Quotation Lost Reason Detail,Szczegóły dotyczące utraconego powodu oferty,
+Enable Variants,Włącz warianty,
+Save Quotations as Draft,Zapisz oferty jako wersję roboczą,
+MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
+Please Select a Customer,Wybierz klienta,
+Against Delivery Note Item,Za list przewozowy,
+Is Non GST ,Nie zawiera podatku GST,
+Image Description,Opis obrazu,
+Transfer Status,Status transferu,
+MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
+Track this Purchase Receipt against any Project,Śledź ten dowód zakupu w dowolnym projekcie,
+Please Select a Supplier,Wybierz dostawcę,
+Add to Transit,Dodaj do transportu publicznego,
+Set Basic Rate Manually,Ustaw ręcznie stawkę podstawową,
+"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ","Domyślnie nazwa pozycji jest ustawiona zgodnie z wprowadzonym kodem pozycji. Jeśli chcesz, aby elementy miały nazwę",
+Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Ustaw domyślny magazyn dla transakcji magazynowych. Zostanie to przeniesione do domyślnego magazynu w głównym module.,
+"This will allow stock items to be displayed in negative values. Using this option depends on your use case. With this option unchecked, the system warns before obstructing a transaction that is causing negative stock.","Umożliwi to wyświetlanie pozycji magazynowych w wartościach ujemnych. Korzystanie z tej opcji zależy od przypadku użycia. Gdy ta opcja jest odznaczona, system ostrzega przed zablokowaniem transakcji powodującej ujemny stan zapasów.",
+Choose between FIFO and Moving Average Valuation Methods. Click ,Wybierz metodę wyceny FIFO i ruchomą średnią wycenę. Kliknij,
+ to know more about them.,aby dowiedzieć się o nich więcej.,
+Show 'Scan Barcode' field above every child table to insert Items with ease.,"Pokaż pole „Skanuj kod kreskowy” nad każdą tabelą podrzędną, aby z łatwością wstawiać elementy.",
+"Serial numbers for stock will be set automatically based on the Items entered based on first in first out in transactions like Purchase/Sales Invoices, Delivery Notes, etc.","Numery seryjne dla zapasów zostaną ustawione automatycznie na podstawie pozycji wprowadzonych w oparciu o pierwsze weszło pierwsze wyszło w transakcjach, takich jak faktury zakupu / sprzedaży, dowody dostawy itp.",
+"If blank, parent Warehouse Account or company default will be considered in transactions","Jeśli puste, nadrzędne konto magazynu lub wartość domyślna firmy będą brane pod uwagę w transakcjach",
+Service Level Agreement Details,Szczegóły umowy dotyczącej poziomu usług,
+Service Level Agreement Status,Status umowy dotyczącej poziomu usług,
+On Hold Since,Wstrzymane od,
+Total Hold Time,Całkowity czas wstrzymania,
+Response Details,Szczegóły odpowiedzi,
+Average Response Time,Średni czas odpowiedzi,
+User Resolution Time,Czas rozwiązania użytkownika,
+SLA is on hold since {0},Umowa SLA została wstrzymana od {0},
+Pause SLA On Status,Wstrzymaj status SLA,
+Pause SLA On,Wstrzymaj SLA,
+Greetings Section,Sekcja Pozdrowienia,
+Greeting Title,Tytuł powitania,
+Greeting Subtitle,Podtytuł powitania,
+Youtube ID,Identyfikator YouTube,
+Youtube Statistics,Statystyki YouTube,
+Views,Wyświetlenia,
+Dislikes,Nie lubi,
+Video Settings,Ustawienia wideo,
+Enable YouTube Tracking,Włącz śledzenie w YouTube,
+30 mins,30 minut,
+1 hr,1 godz,
+6 hrs,6 godz,
+Patient Progress,Postęp pacjenta,
+Targetted,Ukierunkowane,
+Score Obtained,Wynik uzyskany,
+Sessions,Sesje,
+Average Score,Średni wynik,
+Select Assessment Template,Wybierz szablon oceny,
+ out of ,poza,
+Select Assessment Parameter,Wybierz parametr oceny,
+Gender: ,Płeć:,
+Contact: ,Kontakt:,
+Total Therapy Sessions: ,Sesje terapeutyczne:,
+Monthly Therapy Sessions: ,Comiesięczne sesje terapeutyczne:,
+Patient Profile,Profil pacjenta,
+Point Of Sale,Punkt sprzedaży,
+Email sent successfully.,E-mail wysłany pomyślnie.,
+Search by invoice id or customer name,Wyszukaj według identyfikatora faktury lub nazwy klienta,
+Invoice Status,Status faktury,
+Filter by invoice status,Filtruj według statusu faktury,
+Select item group,Wybierz grupę towarów,
+No items found. Scan barcode again.,Nie znaleziono żadnych przedmiotów. Ponownie zeskanuj kod kreskowy.,
+"Search by customer name, phone, email.","Szukaj według nazwy klienta, telefonu, adresu e-mail.",
+Enter discount percentage.,Wpisz procent rabatu.,
+Discount cannot be greater than 100%,Rabat nie może być większy niż 100%,
+Enter customer's email,Wpisz adres e-mail klienta,
+Enter customer's phone number,Wpisz numer telefonu klienta,
+Customer contact updated successfully.,Kontakt z klientem został zaktualizowany pomyślnie.,
+Item will be removed since no serial / batch no selected.,"Pozycja zostanie usunięta, ponieważ nie wybrano numeru seryjnego / partii.",
+Discount (%),Zniżka (%),
+You cannot submit the order without payment.,Nie możesz złożyć zamówienia bez zapłaty.,
+You cannot submit empty order.,Nie możesz złożyć pustego zamówienia.,
+To Be Paid,Do zapłacenia,
+Create POS Opening Entry,Utwórz wpis otwarcia POS,
+Please add Mode of payments and opening balance details.,Proszę dodać tryb płatności i szczegóły bilansu otwarcia.,
+Toggle Recent Orders,Przełącz ostatnie zamówienia,
+Save as Draft,Zapisz jako szkic,
+You must add atleast one item to save it as draft.,"Musisz dodać co najmniej jeden element, aby zapisać go jako wersję roboczą.",
+There was an error saving the document.,Wystąpił błąd podczas zapisywania dokumentu.,
+You must select a customer before adding an item.,Przed dodaniem pozycji musisz wybrać klienta.,
+Please Select a Company,Wybierz firmę,
+Active Leads,Aktywni leady,
+Please Select a Company.,Wybierz firmę.,
+BOM Operations Time,Czas operacji BOM,
+BOM ID,ID BOM,
+BOM Item Code,Kod pozycji BOM,
+Time (In Mins),Czas (w minutach),
+Sub-assembly BOM Count,Liczba BOM podzespołów,
+View Type,Typ widoku,
+Total Delivered Amount,Całkowita dostarczona kwota,
+Downtime Analysis,Analiza przestojów,
+Machine,Maszyna,
+Downtime (In Hours),Przestój (w godzinach),
+Employee Analytics,Analizy pracowników,
+"""From date"" can not be greater than or equal to ""To date""",„Data od” nie może być większa niż lub równa „Do dnia”,
+Exponential Smoothing Forecasting,Prognozowanie wygładzania wykładniczego,
+First Response Time for Issues,Czas pierwszej reakcji na problemy,
+First Response Time for Opportunity,Czas pierwszej reakcji na okazję,
+Depreciatied Amount,Kwota umorzona,
+Period Based On,Okres oparty na,
+Date Based On,Data na podstawie,
+{0} and {1} are mandatory,{0} i {1} są obowiązkowe,
+Consider Accounting Dimensions,Rozważ wymiary księgowe,
+Income Tax Deductions,Potrącenia podatku dochodowego,
+Income Tax Component,Składnik podatku dochodowego,
+Income Tax Amount,Kwota podatku dochodowego,
+Reserved Quantity for Production,Zarezerwowana ilość do produkcji,
+Projected Quantity,Prognozowana ilość,
+ Total Sales Amount,Całkowita kwota sprzedaży,
+Job Card Summary,Podsumowanie karty pracy,
+Id,ID,
+Time Required (In Mins),Wymagany czas (w minutach),
+From Posting Date,Od daty księgowania,
+To Posting Date,Do daty wysłania,
+No records found,Nic nie znaleziono,
+Customer/Lead Name,Nazwa klienta / potencjalnego klienta,
+Unmarked Days,Nieoznaczone dni,
+Jan,Jan,
+Feb,Luty,
+Mar,Zniszczyć,
+Apr,Kwi,
+Aug,Sie,
+Sep,Wrz,
+Oct,Paź,
+Nov,Lis,
+Dec,Dec,
+Summarized View,Podsumowanie,
+Production Planning Report,Raport planowania produkcji,
+Order Qty,Zamówiona ilość,
+Raw Material Code,Kod surowca,
+Raw Material Name,Nazwa surowca,
+Allotted Qty,Przydzielona ilość,
+Expected Arrival Date,Oczekiwana data przyjazdu,
+Arrival Quantity,Ilość przybycia,
+Raw Material Warehouse,Magazyn surowców,
+Order By,Zamów przez,
+Include Sub-assembly Raw Materials,Uwzględnij surowce podzespołów,
+Professional Tax Deductions,Profesjonalne potrącenia podatkowe,
+Program wise Fee Collection,Programowe pobieranie opłat,
+Fees Collected,Pobrane opłaty,
+Project Summary,Podsumowanie projektu,
+Total Tasks,Całkowita liczba zadań,
+Tasks Completed,Zadania zakończone,
+Tasks Overdue,Zadania zaległe,
+Completion,Ukończenie,
+Provident Fund Deductions,Potrącenia z funduszu rezerwowego,
+Purchase Order Analysis,Analiza zamówienia,
+From and To Dates are required.,Wymagane są daty od i do.,
+To Date cannot be before From Date.,Data do nie może być wcześniejsza niż data początkowa.,
+Qty to Bill,Ilość do rachunku,
+Group by Purchase Order,Grupuj według zamówienia,
+ Purchase Value,Wartość zakupu,
+Total Received Amount,Całkowita otrzymana kwota,
+Quality Inspection Summary,Podsumowanie kontroli jakości,
+ Quoted Amount,Kwota podana,
+Lead Time (Days),Czas realizacji (dni),
+Include Expired,Uwzględnij wygasły,
+Recruitment Analytics,Analizy rekrutacyjne,
+Applicant name,Nazwa wnioskodawcy,
+Job Offer status,Status oferty pracy,
+On Date,Na randkę,
+Requested Items to Order and Receive,Żądane pozycje do zamówienia i odbioru,
+Salary Payments Based On Payment Mode,Płatności wynagrodzeń w zależności od trybu płatności,
+Salary Payments via ECS,Wypłaty wynagrodzenia za pośrednictwem ECS,
+Account No,Nr konta,
+IFSC,IFSC,
+MICR,MICR,
+Sales Order Analysis,Analiza zleceń sprzedaży,
+Amount Delivered,Dostarczona kwota,
+Delay (in Days),Opóźnienie (w dniach),
+Group by Sales Order,Grupuj według zamówienia sprzedaży,
+ Sales Value,Wartość sprzedaży,
+Stock Qty vs Serial No Count,Ilość w magazynie a numer seryjny,
+Serial No Count,Numer seryjny,
+Work Order Summary,Podsumowanie zlecenia pracy,
+Produce Qty,Wyprodukuj ilość,
+Lead Time (in mins),Czas realizacji (w minutach),
+Charts Based On,Wykresy na podstawie,
+YouTube Interactions,Interakcje w YouTube,
+Published Date,Data publikacji,
+Barnch,Barnch,
+Select a Company,Wybierz firmę,
+Opportunity {0} created,Możliwość {0} została utworzona,
+Kindly select the company first,Najpierw wybierz firmę,
+Please enter From Date and To Date to generate JSON,"Wprowadź datę początkową i datę końcową, aby wygenerować JSON",
+PF Account,Konto PF,
+PF Amount,Kwota PF,
+Additional PF,Dodatkowe PF,
+PF Loan,Pożyczka PF,
+Download DATEV File,Pobierz plik DATEV,
+Numero has not set in the XML file,Numero nie ustawił w pliku XML,
+Inward Supplies(liable to reverse charge),Dostawy przychodzące (podlegające odwrotnemu obciążeniu),
+This is based on the course schedules of this Instructor,Jest to oparte na harmonogramach kursów tego instruktora,
+Course and Assessment,Kurs i ocena,
+Course {0} has been added to all the selected programs successfully.,Kurs {0} został pomyślnie dodany do wszystkich wybranych programów.,
+Programs updated,Programy zaktualizowane,
+Program and Course,Program i kurs,
+{0} or {1} is mandatory,{0} lub {1} jest obowiązkowe,
+Mandatory Fields,Pola obowiązkowe,
+Student {0}: {1} does not belong to Student Group {2},Student {0}: {1} nie należy do grupy uczniów {2},
+Student Attendance record {0} already exists against the Student {1},Rekord frekwencji {0} dla ucznia {1} już istnieje,
+Duplicate Entry,Zduplikowana wartość,
+Course and Fee,Kurs i opłata,
+Not eligible for the admission in this program as per Date Of Birth,Nie kwalifikuje się do przyjęcia w tym programie według daty urodzenia,
+Topic {0} has been added to all the selected courses successfully.,Temat {0} został pomyślnie dodany do wszystkich wybranych kursów.,
+Courses updated,Kursy zostały zaktualizowane,
+{0} {1} has been added to all the selected topics successfully.,Temat {0} {1} został pomyślnie dodany do wszystkich wybranych tematów.,
+Topics updated,Zaktualizowano tematy,
+Academic Term and Program,Okres akademicki i program,
+Please remove this item and try to submit again or update the posting time.,Usuń ten element i spróbuj przesłać go ponownie lub zaktualizuj czas publikacji.,
+Failed to Authenticate the API key.,Nie udało się uwierzytelnić klucza API.,
+Invalid Credentials,Nieprawidłowe dane logowania,
+URL can only be a string,URL może być tylko ciągiem,
+"Here is your webhook secret, this will be shown to you only once.","Oto Twój sekret webhooka, zostanie on pokazany tylko raz.",
+The payment for this membership is not paid. To generate invoice fill the payment details,Opłata za to członkostwo nie jest opłacana. Aby wygenerować fakturę wypełnij szczegóły płatności,
+An invoice is already linked to this document,Faktura jest już połączona z tym dokumentem,
+No customer linked to member {},Żaden klient nie jest powiązany z członkiem {},
+You need to set <b>Debit Account</b> in Membership Settings,Musisz ustawić <b>konto debetowe</b> w ustawieniach członkostwa,
+You need to set <b>Default Company</b> for invoicing in Membership Settings,Musisz ustawić <b>domyślną firmę</b> do fakturowania w ustawieniach członkostwa,
+You need to enable <b>Send Acknowledge Email</b> in Membership Settings,Musisz włączyć <b>wysyłanie wiadomości e-mail z potwierdzeniem</b> w ustawieniach członkostwa,
+Error creating membership entry for {0},Błąd podczas tworzenia wpisu członkowskiego dla {0},
+A customer is already linked to this Member,Klient jest już powiązany z tym członkiem,
+End Date must not be lesser than Start Date,Data zakończenia nie może być wcześniejsza niż data rozpoczęcia,
+Employee {0} already has Active Shift {1}: {2},Pracownik {0} ma już aktywną zmianę {1}: {2},
+ from {0},od {0},
+ to {0},do {0},
+Please select Employee first.,Najpierw wybierz pracownika.,
+Please set {0} for the Employee or for Department: {1},Ustaw {0} dla pracownika lub działu: {1},
+To Date should be greater than From Date,Data do powinna być większa niż Data początkowa,
+Employee Onboarding: {0} is already for Job Applicant: {1},Dołączanie pracowników: {0} jest już dla kandydatów o pracę: {1},
+Job Offer: {0} is already for Job Applicant: {1},Oferta pracy: {0} jest już dla osoby ubiegającej się o pracę: {1},
+Only Shift Request with status 'Approved' and 'Rejected' can be submitted,Można przesłać tylko żądanie zmiany ze statusem „Zatwierdzono” i „Odrzucono”,
+Shift Assignment: {0} created for Employee: {1},Przydział zmiany: {0} utworzony dla pracownika: {1},
+You can not request for your Default Shift: {0},Nie możesz zażądać zmiany domyślnej: {0},
+Only Approvers can Approve this Request.,Tylko osoby zatwierdzające mogą zatwierdzić tę prośbę.,
+Asset Value Analytics,Analiza wartości aktywów,
+Category-wise Asset Value,Wartość aktywów według kategorii,
+Total Assets,Aktywa ogółem,
+New Assets (This Year),Nowe zasoby (w tym roku),
+Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Wiersz nr {}: Data księgowania amortyzacji nie powinna być równa dacie dostępności do użycia.,
+Incorrect Date,Nieprawidłowa data,
+Invalid Gross Purchase Amount,Nieprawidłowa kwota zakupu brutto,
+There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Aktywna konserwacja lub naprawy są aktywne. Musisz je wszystkie wypełnić przed anulowaniem zasobu.,
+% Complete,% Ukończone,
+Back to Course,Powrót do kursu,
+Finish Topic,Zakończ temat,
+Mins,Min,
+by,przez,
+Back to,Wrócić do,
+Enrolling...,Rejestracja ...,
+You have successfully enrolled for the program ,Z powodzeniem zapisałeś się do programu,
+Enrolled,Zarejestrowany,
+Watch Intro,Obejrzyj wprowadzenie,
+We're here to help!,"Jesteśmy tutaj, aby pomóc!",
+Frequently Read Articles,Często czytane artykuły,
+Please set a default company address,Ustaw domyślny adres firmy,
+{0} is not a valid state! Check for typos or enter the ISO code for your state.,"{0} nie jest prawidłowym stanem! Sprawdź, czy nie ma literówek lub wprowadź kod ISO swojego stanu.",
+Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,"Wystąpił błąd podczas analizowania planu kont: upewnij się, że żadne dwa konta nie mają tej samej nazwy",
+Plaid invalid request error,Błąd żądania nieprawidłowego kratki,
+Please check your Plaid client ID and secret values,Sprawdź identyfikator klienta Plaid i tajne wartości,
+Bank transaction creation error,Błąd tworzenia transakcji bankowej,
+Unit of Measurement,Jednostka miary,
+Fiscal Year {0} Does Not Exist,Rok podatkowy {0} nie istnieje,
+Row # {0}: Returned Item {1} does not exist in {2} {3},Wiersz nr {0}: zwrócona pozycja {1} nie istnieje w {2} {3},
+Valuation type charges can not be marked as Inclusive,Opłaty związane z rodzajem wyceny nie mogą być oznaczone jako zawierające,
+You do not have permissions to {} items in a {}.,Nie masz uprawnień do {} elementów w {}.,
+Insufficient Permissions,Niewystarczające uprawnienia,
+You are not allowed to update as per the conditions set in {} Workflow.,Nie możesz aktualizować zgodnie z warunkami określonymi w {} Przepływie pracy.,
+Expense Account Missing,Brak konta wydatków,
+{0} is not a valid Value for Attribute {1} of Item {2}.,{0} nie jest prawidłową wartością atrybutu {1} elementu {2}.,
+Invalid Value,Niewłaściwa wartość,
+The value {0} is already assigned to an existing Item {1}.,Wartość {0} jest już przypisana do istniejącego elementu {1}.,
+"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","Aby nadal edytować tę wartość atrybutu, włącz opcję {0} w ustawieniach wariantu elementu.",
+Edit Not Allowed,Edycja niedozwolona,
+Row #{0}: Item {1} is already fully received in Purchase Order {2},Wiersz nr {0}: pozycja {1} jest już w całości otrzymana w zamówieniu {2},
+You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Nie można tworzyć ani anulować żadnych zapisów księgowych w zamkniętym okresie rozliczeniowym {0},
+POS Invoice should have {} field checked.,Faktura POS powinna mieć zaznaczone pole {}.,
+Invalid Item,Nieprawidłowy przedmiot,
+Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,"Wiersz nr {}: nie można dodać ilości dodatnich do faktury zwrotnej. Usuń przedmiot {}, aby dokończyć zwrot.",
+The selected change account {} doesn't belongs to Company {}.,Wybrane konto zmiany {} nie należy do firmy {}.,
+Atleast one invoice has to be selected.,Należy wybrać przynajmniej jedną fakturę.,
+Payment methods are mandatory. Please add at least one payment method.,Metody płatności są obowiązkowe. Dodaj co najmniej jedną metodę płatności.,
+Please select a default mode of payment,Wybierz domyślny sposób płatności,
+You can only select one mode of payment as default,Możesz wybrać tylko jeden sposób płatności jako domyślny,
+Missing Account,Brakujące konto,
+Customers not selected.,Klienci nie wybrani.,
+Statement of Accounts,Wyciąg z konta,
+Ageing Report Based On ,Raport dotyczący starzenia na podstawie,
+Please enter distributed cost center,Wprowadź rozproszone centrum kosztów,
+Total percentage allocation for distributed cost center should be equal to 100,Całkowita alokacja procentowa dla rozproszonego centrum kosztów powinna wynosić 100,
+Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Nie można włączyć rozproszonego miejsca powstawania kosztów dla centrum kosztów już przydzielonego w innym rozproszonym miejscu kosztów,
+Parent Cost Center cannot be added in Distributed Cost Center,Nadrzędnego miejsca powstawania kosztów nie można dodać do rozproszonego miejsca powstawania kosztów,
+A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Nie można dodać Distributed Cost Center do tabeli alokacji Distributed Cost Center.,
+Cost Center with enabled distributed cost center can not be converted to group,Centrum kosztów z włączonym rozproszonym centrum kosztów nie może zostać przekonwertowane na grupę,
+Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Centrum kosztów już alokowane w rozproszonym miejscu powstawania kosztów nie może zostać przekonwertowane na grupę,
+Trial Period Start date cannot be after Subscription Start Date,Data rozpoczęcia okresu próbnego nie może być późniejsza niż data rozpoczęcia subskrypcji,
+Subscription End Date must be after {0} as per the subscription plan,Data zakończenia subskrypcji musi przypadać po {0} zgodnie z planem subskrypcji,
+Subscription End Date is mandatory to follow calendar months,"Data zakończenia subskrypcji jest obowiązkowa, aby przestrzegać miesięcy kalendarzowych",
+Row #{}: POS Invoice {} is not against customer {},Wiersz nr {}: faktura POS {} nie jest skierowana przeciwko klientowi {},
+Row #{}: POS Invoice {} is not submitted yet,Wiersz nr {}: faktura POS {} nie została jeszcze przesłana,
+Row #{}: POS Invoice {} has been {},Wiersz nr {}: faktura POS {} została {},
+No Supplier found for Inter Company Transactions which represents company {0},Nie znaleziono dostawcy dla transakcji międzyfirmowych reprezentującego firmę {0},
+No Customer found for Inter Company Transactions which represents company {0},Nie znaleziono klienta dla transakcji międzyfirmowych reprezentującego firmę {0},
+Invalid Period,Nieprawidłowy okres,
+Selected POS Opening Entry should be open.,Wybrane wejście otwierające POS powinno być otwarte.,
+Invalid Opening Entry,Nieprawidłowy wpis otwierający,
+Please set a Company,Ustaw firmę,
+"Sorry, this coupon code's validity has not started","Przepraszamy, ważność tego kodu kuponu jeszcze się nie rozpoczęła",
+"Sorry, this coupon code's validity has expired","Przepraszamy, ważność tego kuponu wygasła",
+"Sorry, this coupon code is no longer valid","Przepraszamy, ten kod kuponu nie jest już ważny",
+For the 'Apply Rule On Other' condition the field {0} is mandatory,W przypadku warunku „Zastosuj regułę do innej” pole {0} jest obowiązkowe,
+{1} Not in Stock,{1} Niedostępny,
+Only {0} in Stock for item {1},Tylko {0} w magazynie dla produktu {1},
+Please enter a coupon code,Wprowadź kod kuponu,
+Please enter a valid coupon code,Wpisz prawidłowy kod kuponu,
+Invalid Child Procedure,Nieprawidłowa procedura podrzędna,
+Import Italian Supplier Invoice.,Import włoskiej faktury dostawcy.,
+"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.",Stawka wyceny dla przedmiotu {0} jest wymagana do zapisów księgowych dla {1} {2}.,
+ Here are the options to proceed:,"Oto opcje, aby kontynuować:",
+"If the item is transacting as a Zero Valuation Rate item in this entry, please enable 'Allow Zero Valuation Rate' in the {0} Item table.","Jeśli przedmiot jest przedmiotem transakcji jako pozycja z zerową wartością wyceny w tym wpisie, włącz opcję „Zezwalaj na zerową stawkę wyceny” w {0} tabeli pozycji.",
+"If not, you can Cancel / Submit this entry ","Jeśli nie, możesz anulować / przesłać ten wpis",
+ performing either one below:,wykonując jedną z poniższych czynności:,
+Create an incoming stock transaction for the Item.,Utwórz przychodzącą transakcję magazynową dla towaru.,
+Mention Valuation Rate in the Item master.,W głównym elemencie przedmiotu należy wspomnieć o współczynniku wyceny.,
+Valuation Rate Missing,Brak kursu wyceny,
+Serial Nos Required,Wymagane numery seryjne,
+Quantity Mismatch,Niedopasowanie ilości,
+"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.","Uzupełnij pozycje i zaktualizuj listę wyboru, aby kontynuować. Aby przerwać, anuluj listę wyboru.",
+Out of Stock,Obecnie brak na stanie,
+{0} units of Item {1} is not available.,{0} jednostki produktu {1} nie są dostępne.,
+Item for row {0} does not match Material Request,Pozycja w wierszu {0} nie pasuje do żądania materiału,
+Warehouse for row {0} does not match Material Request,Magazyn dla wiersza {0} nie jest zgodny z żądaniem materiałowym,
+Accounting Entry for Service,Wpis księgowy za usługę,
+All items have already been Invoiced/Returned,Wszystkie pozycje zostały już zafakturowane / zwrócone,
+All these items have already been Invoiced/Returned,Wszystkie te pozycje zostały już zafakturowane / zwrócone,
+Stock Reconciliations,Uzgodnienia zapasów,
+Merge not allowed,Scalanie niedozwolone,
+The following deleted attributes exist in Variants but not in the Template. You can either delete the Variants or keep the attribute(s) in template.,"Następujące usunięte atrybuty istnieją w wariantach, ale nie istnieją w szablonie. Możesz usunąć warianty lub zachować atrybut (y) w szablonie.",
+Variant Items,Elementy wariantowe,
+Variant Attribute Error,Błąd atrybutu wariantu,
+The serial no {0} does not belong to item {1},Numer seryjny {0} nie należy do produktu {1},
+There is no batch found against the {0}: {1},Nie znaleziono partii dla {0}: {1},
+Completed Operation,Operacja zakończona,
+Work Order Analysis,Analiza zlecenia pracy,
+Quality Inspection Analysis,Analiza kontroli jakości,
+Pending Work Order,Oczekujące zlecenie pracy,
+Last Month Downtime Analysis,Analiza przestojów w zeszłym miesiącu,
+Work Order Qty Analysis,Analiza ilości zleceń,
+Job Card Analysis,Analiza karty pracy,
+Monthly Total Work Orders,Miesięczne zamówienia łącznie,
+Monthly Completed Work Orders,Wykonane co miesiąc zamówienia,
+Ongoing Job Cards,Karty trwającej pracy,
+Monthly Quality Inspections,Comiesięczne kontrole jakości,
+(Forecast),(Prognoza),
+Total Demand (Past Data),Całkowity popyt (poprzednie dane),
+Total Forecast (Past Data),Prognoza całkowita (dane z przeszłości),
+Total Forecast (Future Data),Prognoza całkowita (dane przyszłe),
+Based On Document,Na podstawie dokumentu,
+Based On Data ( in years ),Na podstawie danych (w latach),
+Smoothing Constant,Stała wygładzania,
+Please fill the Sales Orders table,Prosimy o wypełnienie tabeli Zamówienia sprzedaży,
+Sales Orders Required,Wymagane zamówienia sprzedaży,
+Please fill the Material Requests table,Proszę wypełnić tabelę zamówień materiałowych,
+Material Requests Required,Wymagane żądania materiałów,
+Items to Manufacture are required to pull the Raw Materials associated with it.,Przedmioty do produkcji są zobowiązane do ściągnięcia związanych z nimi surowców.,
+Items Required,Wymagane elementy,
+Operation {0} does not belong to the work order {1},Operacja {0} nie należy do zlecenia pracy {1},
+Print UOM after Quantity,Drukuj UOM po Quantity,
+Set default {0} account for perpetual inventory for non stock items,Ustaw domyślne konto {0} dla ciągłych zapasów dla pozycji spoza magazynu,
+Loan Security {0} added multiple times,Bezpieczeństwo pożyczki {0} zostało dodane wiele razy,
+Loan Securities with different LTV ratio cannot be pledged against one loan,Dłużne Papiery Wartościowe o różnym wskaźniku LTV nie mogą być przedmiotem zastawu na jedną pożyczkę,
+Qty or Amount is mandatory for loan security!,Ilość lub kwota jest obowiązkowa dla zabezpieczenia kredytu!,
+Only submittted unpledge requests can be approved,Zatwierdzać można tylko przesłane żądania niezwiązane z próbą,
+Interest Amount or Principal Amount is mandatory,Kwota odsetek lub kwota główna jest obowiązkowa,
+Disbursed Amount cannot be greater than {0},Wypłacona kwota nie może być większa niż {0},
+Row {0}: Loan Security {1} added multiple times,Wiersz {0}: Bezpieczeństwo pożyczki {1} został dodany wiele razy,
+Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Wiersz nr {0}: Element podrzędny nie powinien być pakietem produktów. Usuń element {1} i zapisz,
+Credit limit reached for customer {0},Osiągnięto limit kredytowy dla klienta {0},
+Could not auto create Customer due to the following missing mandatory field(s):,Nie można automatycznie utworzyć klienta z powodu następujących brakujących pól obowiązkowych:,
+Please create Customer from Lead {0}.,Utwórz klienta z potencjalnego klienta {0}.,
+Mandatory Missing,Obowiązkowy brak,
+Please set Payroll based on in Payroll settings,Ustaw listę płac na podstawie w ustawieniach listy płac,
+Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Dodatkowe wynagrodzenie: {0} już istnieje dla składnika wynagrodzenia: {1} za okres {2} i {3},
+From Date can not be greater than To Date.,Data początkowa nie może być większa niż data początkowa.,
+Payroll date can not be less than employee's joining date.,Data wypłaty nie może być wcześniejsza niż data przystąpienia pracownika.,
+From date can not be less than employee's joining date.,Data początkowa nie może być wcześniejsza niż data przystąpienia pracownika.,
+To date can not be greater than employee's relieving date.,Do tej pory nie może być późniejsza niż data zwolnienia pracownika.,
+Payroll date can not be greater than employee's relieving date.,Data wypłaty nie może być późniejsza niż data zwolnienia pracownika.,
+Row #{0}: Please enter the result value for {1},Wiersz nr {0}: wprowadź wartość wyniku dla {1},
+Mandatory Results,Obowiązkowe wyniki,
+Sales Invoice or Patient Encounter is required to create Lab Tests,Do tworzenia testów laboratoryjnych wymagana jest faktura sprzedaży lub spotkanie z pacjentami,
+Insufficient Data,Niedostateczna ilość danych,
+Lab Test(s) {0} created successfully,Test (y) laboratoryjne {0} zostały utworzone pomyślnie,
+Test :,Test:,
+Sample Collection {0} has been created,Utworzono zbiór próbek {0},
+Normal Range: ,Normalny zakres:,
+Row #{0}: Check Out datetime cannot be less than Check In datetime,Wiersz nr {0}: Data i godzina wyewidencjonowania nie może być mniejsza niż data i godzina wyewidencjonowania,
+"Missing required details, did not create Inpatient Record","Brak wymaganych szczegółów, nie utworzono rekordu pacjenta",
+Unbilled Invoices,Niezafakturowane faktury,
+Standard Selling Rate should be greater than zero.,Standardowa cena sprzedaży powinna być większa niż zero.,
+Conversion Factor is mandatory,Współczynnik konwersji jest obowiązkowy,
+Row #{0}: Conversion Factor is mandatory,Wiersz nr {0}: współczynnik konwersji jest obowiązkowy,
+Sample Quantity cannot be negative or 0,Ilość próbki nie może być ujemna ani 0,
+Invalid Quantity,Nieprawidłowa ilość,
+"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Ustaw wartości domyślne dla grupy klientów, terytorium i cennika sprzedaży w Ustawieniach sprzedaży",
+{0} on {1},{0} na {1},
+{0} with {1},{0} z {1},
+Appointment Confirmation Message Not Sent,Wiadomość z potwierdzeniem spotkania nie została wysłana,
+"SMS not sent, please check SMS Settings","SMS nie został wysłany, sprawdź ustawienia SMS",
+Healthcare Service Unit Type cannot have both {0} and {1},Typ jednostki usług opieki zdrowotnej nie może mieć jednocześnie {0} i {1},
+Healthcare Service Unit Type must allow atleast one among {0} and {1},Typ jednostki usług opieki zdrowotnej musi dopuszczać co najmniej jedną spośród {0} i {1},
+Set Response Time and Resolution Time for Priority {0} in row {1}.,Ustaw czas odpowiedzi i czas rozwiązania dla priorytetu {0} w wierszu {1}.,
+Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Czas odpowiedzi dla {0} priorytetu w wierszu {1} nie może być dłuższy niż czas rozwiązania.,
+{0} is not enabled in {1},{0} nie jest włączony w {1},
+Group by Material Request,Grupuj według żądania materiału,
+Email Sent to Supplier {0},Wiadomość e-mail wysłana do dostawcy {0},
+"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","Dostęp do zapytania ofertowego z portalu jest wyłączony. Aby zezwolić na dostęp, włącz go w ustawieniach portalu.",
+Supplier Quotation {0} Created,Oferta dostawcy {0} została utworzona,
+Valid till Date cannot be before Transaction Date,Data ważności do nie może być wcześniejsza niż data transakcji,
+Unlink Advance Payment on Cancellation of Order,Odłącz przedpłatę przy anulowaniu zamówienia,
+"Simple Python Expression, Example: territory != 'All Territories'","Proste wyrażenie w Pythonie, przykład: terytorium! = &#39;Wszystkie terytoria&#39;",
+Sales Contributions and Incentives,Składki na sprzedaż i zachęty,
+Sourced by Supplier,Źródło: Dostawca,
+Total weightage assigned should be 100%.<br>It is {0},Łączna przypisana waga powinna wynosić 100%.<br> To jest {0},
+Account {0} exists in parent company {1}.,Konto {0} istnieje w firmie macierzystej {1}.,
+"To overrule this, enable '{0}' in company {1}","Aby to zmienić, włącz „{0}” w firmie {1}",
+Invalid condition expression,Nieprawidłowe wyrażenie warunku,
+Please Select a Company First,Najpierw wybierz firmę,
+Please Select Both Company and Party Type First,Najpierw wybierz firmę i typ strony,
+Provide the invoice portion in percent,Podaj część faktury w procentach,
+Give number of days according to prior selection,Podaj liczbę dni według wcześniejszego wyboru,
+Email Details,Szczegóły wiadomości e-mail,
+"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Wybierz powitanie dla odbiorcy. Np. Pan, Pani itp.",
+Preview Email,Podgląd wiadomości e-mail,
+Please select a Supplier,Wybierz dostawcę,
+Supplier Lead Time (days),Czas oczekiwania dostawcy (dni),
+"Home, Work, etc.","Dom, praca itp.",
+Exit Interview Held On,Zakończ rozmowę kwalifikacyjną wstrzymaną,
+Condition and formula,Stan i formuła,
+Sets 'Target Warehouse' in each row of the Items table.,Ustawia „Magazyn docelowy” w każdym wierszu tabeli Towary.,
+Sets 'Source Warehouse' in each row of the Items table.,Ustawia „Magazyn źródłowy” w każdym wierszu tabeli Towary.,
+POS Register,Rejestr POS,
+"Can not filter based on POS Profile, if grouped by POS Profile","Nie można filtrować na podstawie profilu POS, jeśli są pogrupowane według profilu POS",
+"Can not filter based on Customer, if grouped by Customer","Nie można filtrować na podstawie klienta, jeśli jest pogrupowany według klienta",
+"Can not filter based on Cashier, if grouped by Cashier","Nie można filtrować na podstawie Kasjera, jeśli jest pogrupowane według Kasjera",
+Payment Method,Metoda płatności,
+"Can not filter based on Payment Method, if grouped by Payment Method","Nie można filtrować na podstawie metody płatności, jeśli są pogrupowane według metody płatności",
+Supplier Quotation Comparison,Porównanie ofert dostawców,
+Price per Unit (Stock UOM),Cena za jednostkę (JM z magazynu),
+Group by Supplier,Grupuj według dostawcy,
+Group by Item,Grupuj według pozycji,
+Remember to set {field_label}. It is required by {regulation}.,"Pamiętaj, aby ustawić {field_label}. Jest to wymagane przez {przepis}.",
+Enrollment Date cannot be before the Start Date of the Academic Year {0},Data rejestracji nie może być wcześniejsza niż data rozpoczęcia roku akademickiego {0},
+Enrollment Date cannot be after the End Date of the Academic Term {0},Data rejestracji nie może być późniejsza niż data zakończenia okresu akademickiego {0},
+Enrollment Date cannot be before the Start Date of the Academic Term {0},Data rejestracji nie może być wcześniejsza niż data rozpoczęcia semestru akademickiego {0},
+Future Posting Not Allowed,Niedozwolone publikowanie w przyszłości,
+"To enable Capital Work in Progress Accounting, ","Aby włączyć księgowość produkcji w toku,",
+you must select Capital Work in Progress Account in accounts table,w tabeli kont należy wybrać Rachunek kapitałowy w toku,
+You can also set default CWIP account in Company {},Możesz także ustawić domyślne konto CWIP w firmie {},
+The Request for Quotation can be accessed by clicking on the following button,"Dostęp do zapytania ofertowego można uzyskać, klikając poniższy przycisk",
+Regards,pozdrowienia,
+Please click on the following button to set your new password,"Kliknij poniższy przycisk, aby ustawić nowe hasło",
+Update Password,Aktualizować hasło,
+Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Wiersz nr {}: współczynnik sprzedaży dla przedmiotu {} jest niższy niż jego {}. Sprzedawanie {} powinno wynosić co najmniej {},
+You can alternatively disable selling price validation in {} to bypass this validation.,"Alternatywnie możesz wyłączyć weryfikację ceny sprzedaży w {}, aby ominąć tę weryfikację.",
+Invalid Selling Price,Nieprawidłowa cena sprzedaży,
+Address needs to be linked to a Company. Please add a row for Company in the Links table.,Adres musi być powiązany z firmą. Dodaj wiersz Firma w tabeli Łącza.,
+Company Not Linked,Firma niepowiązana,
+Import Chart of Accounts from CSV / Excel files,Importuj plan kont z plików CSV / Excel,
+Completed Qty cannot be greater than 'Qty to Manufacture',Ukończona ilość nie może być większa niż „Ilość do wyprodukowania”,
+"Row {0}: For Supplier {1}, Email Address is Required to send an email",Wiersz {0}: W przypadku dostawcy {1} do wysłania wiadomości e-mail wymagany jest adres e-mail,
+"If enabled, the system will post accounting entries for inventory automatically","Jeśli jest włączona, system automatycznie zaksięguje zapisy księgowe dotyczące zapasów",
+Accounts Frozen Till Date,Konta zamrożone do daty,
+Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,Do tej daty zapisy księgowe są zamrożone. Nikt nie może tworzyć ani modyfikować wpisów z wyjątkiem użytkowników z rolą określoną poniżej,
+Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Rola dozwolona do ustawiania zamrożonych kont i edycji zamrożonych wpisów,
+Address used to determine Tax Category in transactions,Adres używany do określenia kategorii podatku w transakcjach,
+"The percentage you are allowed to bill more against the amount ordered. For example, if the order value is $100 for an item and tolerance is set as 10%, then you are allowed to bill up to $110 ","Procent, w jakim możesz zwiększyć rachunek od zamówionej kwoty. Na przykład, jeśli wartość zamówienia wynosi 100 USD za towar, a tolerancja jest ustawiona na 10%, możesz wystawić rachunek do 110 USD",
+This role is allowed to submit transactions that exceed credit limits,Ta rola umożliwia zgłaszanie transakcji przekraczających limity kredytowe,
+"If ""Months"" is selected, a fixed amount will be booked as deferred revenue or expense for each month irrespective of the number of days in a month. It will be prorated if deferred revenue or expense is not booked for an entire month","Jeśli zostanie wybrana opcja „Miesiące”, stała kwota zostanie zaksięgowana jako odroczone przychody lub wydatki dla każdego miesiąca, niezależnie od liczby dni w miesiącu. Zostanie naliczona proporcjonalnie, jeśli odroczone przychody lub wydatki nie zostaną zaksięgowane na cały miesiąc",
+"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Jeśli ta opcja nie jest zaznaczona, zostaną utworzone bezpośrednie wpisy GL w celu zaksięgowania odroczonych przychodów lub kosztów",
+Show Inclusive Tax in Print,Pokaż podatek wliczony w cenę w druku,
+Only select this if you have set up the Cash Flow Mapper documents,"Wybierz tę opcję tylko wtedy, gdy skonfigurowałeś dokumenty Cash Flow Mapper",
+Payment Channel,Kanał płatności,
+Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Czy do wystawienia faktury i paragonu zakupu wymagane jest zamówienie zakupu?,
+Is Purchase Receipt Required for Purchase Invoice Creation?,Czy do utworzenia faktury zakupu jest wymagany dowód zakupu?,
+Maintain Same Rate Throughout the Purchase Cycle,Utrzymuj tę samą stawkę w całym cyklu zakupu,
+Allow Item To Be Added Multiple Times in a Transaction,Zezwalaj na wielokrotne dodawanie przedmiotu w transakcji,
+Suppliers,Dostawcy,
+Send Emails to Suppliers,Wyślij e-maile do dostawców,
+Select a Supplier,Wybierz dostawcę,
+Cannot mark attendance for future dates.,Nie można oznaczyć obecności na przyszłe daty.,
+Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Czy chcesz zaktualizować frekwencję?<br> Obecnie: {0}<br> Nieobecny: {1},
+Mpesa Settings,Ustawienia Mpesa,
+Initiator Name,Nazwa inicjatora,
+Till Number,Do numeru,
+Sandbox,Piaskownica,
+ Online PassKey,Online PassKey,
+Security Credential,Poświadczenie bezpieczeństwa,
+Get Account Balance,Sprawdź saldo konta,
+Please set the initiator name and the security credential,Ustaw nazwę inicjatora i poświadczenia bezpieczeństwa,
+Inpatient Medication Entry,Wpis leków szpitalnych,
+HLC-IME-.YYYY.-,HLC-IME-.YYYY.-,
+Item Code (Drug),Kod pozycji (lek),
+Medication Orders,Zamówienia na lekarstwa,
+Get Pending Medication Orders,Uzyskaj oczekujące zamówienia na leki,
+Inpatient Medication Orders,Zamówienia na leki szpitalne,
+Medication Warehouse,Magazyn leków,
+Warehouse from where medication stock should be consumed,"Magazyn, z którego należy skonsumować zapasy leków",
+Fetching Pending Medication Orders,Pobieranie oczekujących zamówień na leki,
+Inpatient Medication Entry Detail,Szczegóły dotyczące przyjmowania leków szpitalnych,
+Medication Details,Szczegóły leków,
+Drug Code,Kod leku,
+Drug Name,Nazwa leku,
+Against Inpatient Medication Order,Nakaz przeciwdziałania lekom szpitalnym,
+Against Inpatient Medication Order Entry,Wpis zamówienia przeciwko lekarstwom szpitalnym,
+Inpatient Medication Order,Zamówienie na leki szpitalne,
+HLC-IMO-.YYYY.-,HLC-IMO-.YYYY.-,
+Total Orders,Całkowita liczba zamówień,
+Completed Orders,Zrealizowane zamówienia,
+Add Medication Orders,Dodaj zamówienia na leki,
+Adding Order Entries,Dodawanie wpisów zamówienia,
+{0} medication orders completed,Zrealizowano {0} zamówień na leki,
+{0} medication order completed,Zrealizowano {0} zamówienie na lek,
+Inpatient Medication Order Entry,Wpis zamówienia leków szpitalnych,
+Is Order Completed,Zamówienie zostało zrealizowane,
+Employee Records to Be Created By,Dokumentacja pracowników do utworzenia przez,
+Employee records are created using the selected field,Rekordy pracowników są tworzone przy użyciu wybranego pola,
+Don't send employee birthday reminders,Nie wysyłaj pracownikom przypomnień o urodzinach,
+Restrict Backdated Leave Applications,Ogranicz aplikacje urlopowe z datą wsteczną,
+Sequence ID,Identyfikator sekwencji,
+Sequence Id,Id. Sekwencji,
+Allow multiple material consumptions against a Work Order,Zezwalaj na wielokrotne zużycie materiałów w ramach zlecenia pracy,
+Plan time logs outside Workstation working hours,Planuj dzienniki czasu poza godzinami pracy stacji roboczej,
+Plan operations X days in advance,Planuj operacje z X-dniowym wyprzedzeniem,
+Time Between Operations (Mins),Czas między operacjami (min),
+Default: 10 mins,Domyślnie: 10 min,
+Overproduction for Sales and Work Order,Nadprodukcja dla sprzedaży i zlecenia pracy,
+"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","Aktualizuj koszt BOM automatycznie za pomocą harmonogramu, na podstawie ostatniego kursu wyceny / kursu cennika / ostatniego kursu zakupu surowców",
+Purchase Order already created for all Sales Order items,Zamówienie zakupu zostało już utworzone dla wszystkich pozycji zamówienia sprzedaży,
+Select Items,Wybierz elementy,
+Against Default Supplier,Wobec domyślnego dostawcy,
+Auto close Opportunity after the no. of days mentioned above,Automatyczne zamknięcie Okazja po nr. dni wymienionych powyżej,
+Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Czy do tworzenia faktur sprzedaży i dokumentów dostawy wymagane jest zamówienie sprzedaży?,
+Is Delivery Note Required for Sales Invoice Creation?,Czy do utworzenia faktury sprzedaży jest wymagany dowód dostawy?,
+How often should Project and Company be updated based on Sales Transactions?,Jak często należy aktualizować projekt i firmę na podstawie transakcji sprzedaży?,
+Allow User to Edit Price List Rate in Transactions,Pozwól użytkownikowi edytować stawkę cennika w transakcjach,
+Allow Item to Be Added Multiple Times in a Transaction,Zezwalaj na wielokrotne dodawanie przedmiotu w transakcji,
+Allow Multiple Sales Orders Against a Customer's Purchase Order,Zezwalaj na wiele zamówień sprzedaży w ramach zamówienia klienta,
+Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Sprawdź cenę sprzedaży przedmiotu w stosunku do kursu zakupu lub kursu wyceny,
+Hide Customer's Tax ID from Sales Transactions,Ukryj identyfikator podatkowy klienta w transakcjach sprzedaży,
+"The percentage you are allowed to receive or deliver more against the quantity ordered. For example, if you have ordered 100 units, and your Allowance is 10%, then you are allowed to receive 110 units.","Procent, jaki możesz otrzymać lub dostarczyć więcej w stosunku do zamówionej ilości. Na przykład, jeśli zamówiłeś 100 jednostek, a Twój dodatek wynosi 10%, możesz otrzymać 110 jednostek.",
+Action If Quality Inspection Is Not Submitted,"Działanie, jeśli kontrola jakości nie zostanie przesłana",
+Auto Insert Price List Rate If Missing,"Automatycznie wstaw stawkę cennika, jeśli brakuje",
+Automatically Set Serial Nos Based on FIFO,Automatycznie ustaw numery seryjne w oparciu o FIFO,
+Set Qty in Transactions Based on Serial No Input,Ustaw ilość w transakcjach na podstawie numeru seryjnego,
+Raise Material Request When Stock Reaches Re-order Level,"Podnieś żądanie materiałowe, gdy zapasy osiągną poziom ponownego zamówienia",
+Notify by Email on Creation of Automatic Material Request,Powiadamiaj e-mailem o utworzeniu automatycznego wniosku o materiał,
+Allow Material Transfer from Delivery Note to Sales Invoice,Zezwól na przeniesienie materiału z potwierdzenia dostawy do faktury sprzedaży,
+Allow Material Transfer from Purchase Receipt to Purchase Invoice,Zezwól na przeniesienie materiału z paragonu zakupu do faktury zakupu,
+Freeze Stocks Older Than (Days),Zatrzymaj zapasy starsze niż (dni),
+Role Allowed to Edit Frozen Stock,Rola uprawniona do edycji zamrożonych zapasów,
+The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,Nieprzydzielona kwota wpisu płatności {0} jest większa niż nieprzydzielona kwota transakcji bankowej,
+Payment Received,Otrzymano zapłatę,
+Attendance cannot be marked outside of Academic Year {0},Nie można oznaczyć obecności poza rokiem akademickim {0},
+Student is already enrolled via Course Enrollment {0},Student jest już zapisany za pośrednictwem rejestracji na kurs {0},
+Attendance cannot be marked for future dates.,Nie można zaznaczyć obecności na przyszłe daty.,
+Please add programs to enable admission application.,"Dodaj programy, aby włączyć aplikację o przyjęcie.",
+The following employees are currently still reporting to {0}:,Następujący pracownicy nadal podlegają obecnie {0}:,
+Please make sure the employees above report to another Active employee.,"Upewnij się, że powyżsi pracownicy zgłaszają się do innego aktywnego pracownika.",
+Cannot Relieve Employee,Nie można zwolnić pracownika,
+Please enter {0},Wprowadź {0},
+Please select another payment method. Mpesa does not support transactions in currency '{0}',Wybierz inną metodę płatności. MPesa nie obsługuje transakcji w walucie „{0}”,
+Transaction Error,Błąd transakcji,
+Mpesa Express Transaction Error,Błąd transakcji Mpesa Express,
+"Issue detected with Mpesa configuration, check the error logs for more details","Wykryto problem z konfiguracją Mpesa, sprawdź dzienniki błędów, aby uzyskać więcej informacji",
+Mpesa Express Error,Błąd Mpesa Express,
+Account Balance Processing Error,Błąd przetwarzania salda konta,
+Please check your configuration and try again,Sprawdź konfigurację i spróbuj ponownie,
+Mpesa Account Balance Processing Error,Błąd przetwarzania salda konta Mpesa,
+Balance Details,Szczegóły salda,
+Current Balance,Aktualne saldo,
+Available Balance,Dostępne saldo,
+Reserved Balance,Zarezerwowane saldo,
+Uncleared Balance,Nierówna równowaga,
+Payment related to {0} is not completed,Płatność związana z {0} nie została zakończona,
+Row #{}: Item Code: {} is not available under warehouse {}.,Wiersz nr {}: kod towaru: {} nie jest dostępny w magazynie {}.,
+Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Wiersz nr {}: Niewystarczająca ilość towaru dla kodu towaru: {} w magazynie {}. Dostępna Ilość {}.,
+Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,"Wiersz nr {}: Wybierz numer seryjny i partię dla towaru: {} lub usuń je, aby zakończyć transakcję.",
+Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,"Wiersz nr {}: nie wybrano numeru seryjnego dla pozycji: {}. Wybierz jeden lub usuń go, aby zakończyć transakcję.",
+Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,"Wiersz nr {}: nie wybrano partii dla elementu: {}. Wybierz pakiet lub usuń go, aby zakończyć transakcję.",
+Payment amount cannot be less than or equal to 0,Kwota płatności nie może być mniejsza lub równa 0,
+Please enter the phone number first,Najpierw wprowadź numer telefonu,
+Row #{}: {} {} does not exist.,Wiersz nr {}: {} {} nie istnieje.,
+Row #{0}: {1} is required to create the Opening {2} Invoices,Wiersz nr {0}: {1} jest wymagany do utworzenia faktur otwarcia {2},
+You had {} errors while creating opening invoices. Check {} for more details,"Podczas otwierania faktur wystąpiło {} błędów. Sprawdź {}, aby uzyskać więcej informacji",
+Error Occured,Wystąpił błąd,
+Opening Invoice Creation In Progress,Otwieranie faktury w toku,
+Creating {} out of {} {},Tworzenie {} z {} {},
+(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,"(Nr seryjny: {0}) nie może zostać wykorzystany, ponieważ jest ponownie wysyłany w celu wypełnienia zamówienia sprzedaży {1}.",
+Item {0} {1},Przedmiot {0} {1},
+Last Stock Transaction for item {0} under warehouse {1} was on {2}.,Ostatnia transakcja magazynowa dotycząca towaru {0} w magazynie {1} miała miejsce w dniu {2}.,
+Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Transakcje magazynowe dla pozycji {0} w magazynie {1} nie mogą być księgowane przed tą godziną.,
+Posting future stock transactions are not allowed due to Immutable Ledger,Księgowanie przyszłych transakcji magazynowych nie jest dozwolone ze względu na niezmienną księgę,
+A BOM with name {0} already exists for item {1}.,Zestawienie komponentów o nazwie {0} już istnieje dla towaru {1}.,
+{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Czy zmieniłeś nazwę elementu? Skontaktuj się z administratorem / pomocą techniczną,
+At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},W wierszu {0}: identyfikator sekwencji {1} nie może być mniejszy niż identyfikator sekwencji poprzedniego wiersza {2},
+The {0} ({1}) must be equal to {2} ({3}),{0} ({1}) musi być równe {2} ({3}),
+"{0}, complete the operation {1} before the operation {2}.","{0}, zakończ operację {1} przed operacją {2}.",
+Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,"Nie można zapewnić dostawy według numeru seryjnego, ponieważ pozycja {0} jest dodawana zi bez opcji Zapewnij dostawę według numeru seryjnego.",
+Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Przedmiot {0} nie ma numeru seryjnego. Tylko przesyłki seryjne mogą być dostarczane na podstawie numeru seryjnego,
+No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Nie znaleziono aktywnego zestawienia komponentów dla pozycji {0}. Nie można zagwarantować dostawy według numeru seryjnego,
+No pending medication orders found for selected criteria,Nie znaleziono oczekujących zamówień na leki dla wybranych kryteriów,
+From Date cannot be after the current date.,Data początkowa nie może być późniejsza niż data bieżąca.,
+To Date cannot be after the current date.,Data końcowa nie może być późniejsza niż data bieżąca.,
+From Time cannot be after the current time.,Od godziny nie może być późniejsza niż aktualna godzina.,
+To Time cannot be after the current time.,To Time nie może być późniejsze niż aktualna godzina.,
+Stock Entry {0} created and ,Utworzono wpis giełdowy {0} i,
+Inpatient Medication Orders updated successfully,Zamówienia na leki szpitalne zostały pomyślnie zaktualizowane,
+Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Wiersz {0}: Cannot create the Inpatient Medication Entry for an incpatient medication Order {1},
+Row {0}: This Medication Order is already marked as completed,Wiersz {0}: to zamówienie na lek jest już oznaczone jako zrealizowane,
+Quantity not available for {0} in warehouse {1},Ilość niedostępna dla {0} w magazynie {1},
+Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"Włącz opcję Zezwalaj na ujemne zapasy w ustawieniach zapasów lub utwórz wpis zapasów, aby kontynuować.",
+No Inpatient Record found against patient {0},Nie znaleziono dokumentacji szpitalnej dotyczącej pacjenta {0},
+An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Istnieje już nakaz leczenia szpitalnego {0} przeciwko spotkaniu z pacjentami {1}.,
+Allow In Returns,Zezwalaj na zwroty,
+Hide Unavailable Items,Ukryj niedostępne elementy,
+Apply Discount on Discounted Rate,Zastosuj zniżkę na obniżoną stawkę,
+Therapy Plan Template,Szablon planu terapii,
+Fetching Template Details,Pobieranie szczegółów szablonu,
+Linked Item Details,Szczegóły połączonego elementu,
+Therapy Types,Rodzaje terapii,
+Therapy Plan Template Detail,Szczegóły szablonu planu terapii,
+Non Conformance,Niezgodność,
+Process Owner,Właściciel procesu,
+Corrective Action,Działania naprawcze,
+Preventive Action,Akcja prewencyjna,
+Problem,Problem,
+Responsible,Odpowiedzialny,
+Completion By,Zakończenie do,
+Process Owner Full Name,Imię i nazwisko właściciela procesu,
+Right Index,Prawy indeks,
+Left Index,Lewy indeks,
+Sub Procedure,Procedura podrzędna,
+Passed,Zdał,
+Print Receipt,Wydrukuj pokwitowanie,
+Edit Receipt,Edytuj rachunek,
+Focus on search input,Skoncentruj się na wyszukiwaniu,
+Focus on Item Group filter,Skoncentruj się na filtrze grupy przedmiotów,
+Checkout Order / Submit Order / New Order,Zamówienie do kasy / Prześlij zamówienie / Nowe zamówienie,
+Add Order Discount,Dodaj rabat na zamówienie,
+Item Code: {0} is not available under warehouse {1}.,Kod towaru: {0} nie jest dostępny w magazynie {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Numery seryjne są niedostępne dla towaru {0} w magazynie {1}. Spróbuj zmienić magazyn.,
+Fetched only {0} available serial numbers.,Pobrano tylko {0} dostępnych numerów seryjnych.,
+Switch Between Payment Modes,Przełącz między trybami płatności,
+Enter {0} amount.,Wprowadź kwotę {0}.,
+You don't have enough points to redeem.,"Nie masz wystarczającej liczby punktów, aby je wymienić.",
+You can redeem upto {0}.,Możesz wykorzystać maksymalnie {0}.,
+Enter amount to be redeemed.,Wprowadź kwotę do wykupu.,
+You cannot redeem more than {0}.,Nie możesz wykorzystać więcej niż {0}.,
+Open Form View,Otwórz widok formularza,
+POS invoice {0} created succesfully,Faktura POS {0} została utworzona pomyślnie,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Za mało towaru dla kodu towaru: {0} w magazynie {1}. Dostępna ilość {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Nr seryjny: {0} został już sprzedany na inną fakturę POS.,
+Balance Serial No,Nr seryjny wagi,
+Warehouse: {0} does not belong to {1},Magazyn: {0} nie należy do {1},
+Please select batches for batched item {0},Wybierz partie dla produktu wsadowego {0},
+Please select quantity on row {0},Wybierz ilość w wierszu {0},
+Please enter serial numbers for serialized item {0},Wprowadź numery seryjne dla towaru z numerem seryjnym {0},
+Batch {0} already selected.,Wiązka {0} już wybrana.,
+Please select a warehouse to get available quantities,"Wybierz magazyn, aby uzyskać dostępne ilości",
+"For transfer from source, selected quantity cannot be greater than available quantity",W przypadku transferu ze źródła wybrana ilość nie może być większa niż ilość dostępna,
+Cannot find Item with this Barcode,Nie można znaleźć przedmiotu z tym kodem kreskowym,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} jest obowiązkowe. Być może rekord wymiany walut nie jest tworzony dla {1} do {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,"{} przesłał zasoby z nim powiązane. Musisz anulować zasoby, aby utworzyć zwrot zakupu.",
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Nie można anulować tego dokumentu, ponieważ jest on powiązany z przesłanym zasobem {0}. Anuluj, aby kontynuować.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Wiersz nr {}: Numer seryjny {} został już przetworzony na inną fakturę POS. Proszę wybrać prawidłowy numer seryjny.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Wiersz nr {}: numery seryjne {} zostały już przetworzone na inną fakturę POS. Proszę wybrać prawidłowy numer seryjny.,
+Item Unavailable,Pozycja niedostępna,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Wiersz nr {}: nr seryjny {} nie może zostać zwrócony, ponieważ nie był przedmiotem transakcji na oryginalnej fakturze {}",
+Please set default Cash or Bank account in Mode of Payment {},Ustaw domyślne konto gotówkowe lub bankowe w trybie płatności {},
+Please set default Cash or Bank account in Mode of Payments {},Ustaw domyślne konto gotówkowe lub bankowe w Trybie płatności {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Upewnij się, że konto {} jest kontem bilansowym. Możesz zmienić konto nadrzędne na konto bilansowe lub wybrać inne konto.",
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Upewnij się, że konto {} jest kontem płatnym. Zmień typ konta na Płatne lub wybierz inne konto.",
+Row {}: Expense Head changed to {} ,Wiersz {}: nagłówek wydatków zmieniony na {},
+because account {} is not linked to warehouse {} ,ponieważ konto {} nie jest połączone z magazynem {},
+or it is not the default inventory account,lub nie jest to domyślne konto magazynowe,
+Expense Head Changed,Zmiana głowy wydatków,
+because expense is booked against this account in Purchase Receipt {},ponieważ wydatek jest księgowany na tym koncie na dowodzie zakupu {},
+as no Purchase Receipt is created against Item {}. ,ponieważ dla przedmiotu {} nie jest tworzony dowód zakupu.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Ma to na celu obsługę księgowania przypadków, w których paragon zakupu jest tworzony po fakturze zakupu",
+Purchase Order Required for item {},Wymagane zamówienie zakupu dla produktu {},
+To submit the invoice without purchase order please set {} ,"Aby przesłać fakturę bez zamówienia, należy ustawić {}",
+as {} in {},jak w {},
+Mandatory Purchase Order,Obowiązkowe zamówienie zakupu,
+Purchase Receipt Required for item {},Potwierdzenie zakupu jest wymagane dla przedmiotu {},
+To submit the invoice without purchase receipt please set {} ,"Aby przesłać fakturę bez dowodu zakupu, ustaw {}",
+Mandatory Purchase Receipt,Obowiązkowy dowód zakupu,
+POS Profile {} does not belongs to company {},Profil POS {} nie należy do firmy {},
+User {} is disabled. Please select valid user/cashier,Użytkownik {} jest wyłączony. Wybierz prawidłowego użytkownika / kasjera,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Wiersz nr {}: Oryginalna faktura {} faktury zwrotnej {} to {}.,
+Original invoice should be consolidated before or along with the return invoice.,Oryginał faktury należy skonsolidować przed lub wraz z fakturą zwrotną.,
+You can add original invoice {} manually to proceed.,"Aby kontynuować, możesz ręcznie dodać oryginalną fakturę {}.",
+Please ensure {} account is a Balance Sheet account. ,"Upewnij się, że konto {} jest kontem bilansowym.",
+You can change the parent account to a Balance Sheet account or select a different account.,Możesz zmienić konto nadrzędne na konto bilansowe lub wybrać inne konto.,
+Please ensure {} account is a Receivable account. ,"Upewnij się, że konto {} jest kontem należnym.",
+Change the account type to Receivable or select a different account.,Zmień typ konta na Odbywalne lub wybierz inne konto.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"Nie można anulować {}, ponieważ zebrane punkty lojalnościowe zostały wykorzystane. Najpierw anuluj {} Nie {}",
+already exists,już istnieje,
+POS Closing Entry {} against {} between selected period,Wejście zamknięcia POS {} względem {} między wybranym okresem,
+POS Invoice is {},Faktura POS to {},
+POS Profile doesn't matches {},Profil POS nie pasuje {},
+POS Invoice is not {},Faktura POS nie jest {},
+POS Invoice isn't created by user {},Faktura POS nie jest tworzona przez użytkownika {},
+Row #{}: {},Wiersz nr {}: {},
+Invalid POS Invoices,Nieprawidłowe faktury POS,
+Please add the account to root level Company - {},Dodaj konto do poziomu Firma - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",Podczas tworzenia konta dla firmy podrzędnej {0} nie znaleziono konta nadrzędnego {1}. Utwórz konto rodzica w odpowiednim certyfikacie autentyczności,
+Account Not Found,Konto nie znalezione,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",Podczas tworzenia konta dla Firmy podrzędnej {0} konto nadrzędne {1} zostało uznane za konto księgowe.,
+Please convert the parent account in corresponding child company to a group account.,Zmień konto nadrzędne w odpowiedniej firmie podrzędnej na konto grupowe.,
+Invalid Parent Account,Nieprawidłowe konto nadrzędne,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Zmiana nazwy jest dozwolona tylko za pośrednictwem firmy macierzystej {0}, aby uniknąć niezgodności.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",W przypadku {0} {1} ilości towaru {2} schemat {3} zostanie zastosowany do towaru.,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Jeśli {0} {1} cenisz przedmiot {2}, schemat {3} zostanie zastosowany do elementu.",
+"As the field {0} is enabled, the field {1} is mandatory.","Ponieważ pole {0} jest włączone, pole {1} jest obowiązkowe.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Ponieważ pole {0} jest włączone, wartość pola {1} powinna być większa niż 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Nie można dostarczyć numeru seryjnego {0} elementu {1}, ponieważ jest on zarezerwowany do realizacji zamówienia sprzedaży {2}",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Zamówienie sprzedaży {0} ma rezerwację na produkt {1}, możesz dostarczyć zarezerwowane tylko {1} w ramach {0}.",
+{0} Serial No {1} cannot be delivered,Nie można dostarczyć {0} numeru seryjnego {1},
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Wiersz {0}: Pozycja podwykonawcza jest obowiązkowa dla surowca {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Ponieważ ilość surowców jest wystarczająca, żądanie materiałów nie jest wymagane dla magazynu {0}.",
+" If you still want to proceed, please enable {0}.","Jeśli nadal chcesz kontynuować, włącz {0}.",
+The item referenced by {0} - {1} is already invoiced,"Pozycja, do której odwołuje się {0} - {1}, została już zafakturowana",
+Therapy Session overlaps with {0},Sesja terapeutyczna pokrywa się z {0},
+Therapy Sessions Overlapping,Nakładanie się sesji terapeutycznych,
+Therapy Plans,Plany terapii,
+"Item Code, warehouse, quantity are required on row {0}","Kod pozycji, magazyn, ilość są wymagane w wierszu {0}",
+Get Items from Material Requests against this Supplier,Pobierz pozycje z żądań materiałowych od tego dostawcy,
+Enable European Access,Włącz dostęp w Europie,
+Creating Purchase Order ...,Tworzenie zamówienia zakupu ...,
+"Select a Supplier from the Default Suppliers of the items below. On selection, a Purchase Order will be made against items belonging to the selected Supplier only.","Wybierz dostawcę spośród domyślnych dostawców z poniższych pozycji. Po dokonaniu wyboru, Zamówienie zostanie złożone wyłącznie dla pozycji należących do wybranego Dostawcy.",
+Row #{}: You must select {} serial numbers for item {}.,Wiersz nr {}: należy wybrać {} numery seryjne dla towaru {}.,
diff --git a/erpnext/translations/ro.csv b/erpnext/translations/ro.csv
index 8f97d07..56a604c 100644
--- a/erpnext/translations/ro.csv
+++ b/erpnext/translations/ro.csv
@@ -1,9839 +1,9837 @@
-"""Customer Provided Item"" cannot be Purchase Item also","""Elementul furnizat de client"" nu poate fi și articolul de cumpărare",
-"""Customer Provided Item"" cannot have Valuation Rate","""Elementul furnizat de client"" nu poate avea rata de evaluare",
-"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","""Este activ fix"" nu poate fi debifată deoarece există informații împotriva produsului",
-'Based On' and 'Group By' can not be same,'Bazat pe' și 'Grupat dupa' nu pot fi identice,
-'Days Since Last Order' must be greater than or equal to zero,'Zile de la ultima comandă' trebuie să fie mai mare sau egal cu zero,
-'Entries' cannot be empty,'Intrările' nu pot fi vide,
-'From Date' is required,'Din Data' este necesar,
-'From Date' must be after 'To Date','Din Data' trebuie să fie dupã 'Până în Data',
-'Has Serial No' can not be 'Yes' for non-stock item,'Are numãr de serie' nu poate fi 'Da' pentru articolele care nu au stoc,
-'Opening',&quot;Deschiderea&quot;,
-'To Case No.' cannot be less than 'From Case No.','Până la situația nr.' nu poate fi mai mică decât 'De la situația nr.',
-'To Date' is required,'Până la data' este necesară,
-'Total',&#39;Total&#39;,
-'Update Stock' can not be checked because items are not delivered via {0},"""Actualizare stoc"" nu poate fi activat, deoarece obiectele nu sunt livrate prin {0}",
-'Update Stock' cannot be checked for fixed asset sale,&quot;Actualizare stoc&quot; nu poate fi verificată de vânzare de active fixe,
-) for {0},) pentru {0},
-1 exact match.,1 potrivire exactă.,
-90-Above,90-si mai mult,
-A Customer Group exists with same name please change the Customer name or rename the Customer Group,Există un grup de clienți cu același nume; vă rugăm să schimbați numele clientului sau să redenumiți grupul de clienți,
-A Default Service Level Agreement already exists.,Există deja un Acord de nivel de serviciu implicit.,
-A Lead requires either a person's name or an organization's name,"Un conducător necesită fie numele unei persoane, fie numele unei organizații",
-A customer with the same name already exists,Un client cu același nume există deja,
-A question must have more than one options,O întrebare trebuie să aibă mai multe opțiuni,
-A qustion must have at least one correct options,O chestiune trebuie să aibă cel puțin o opțiune corectă,
-A {0} exists between {1} and {2} (,A {0} există între {1} și {2} (,
-A4,A4,
-API Endpoint,API Endpoint,
-API Key,Cheie API,
-Abbr can not be blank or space,Abr. nu poate fi gol sau spațiu,
-Abbreviation already used for another company,Abreviere deja folosita pentru o altă companie,
-Abbreviation cannot have more than 5 characters,Prescurtarea nu poate conține mai mult de 5 caractere,
-Abbreviation is mandatory,Abreviere este obligatorie,
-About the Company,Despre companie,
-About your company,Despre Compania ta,
-Above,Deasupra,
-Absent,Absent,
-Academic Term,Termen academic,
-Academic Term: ,Termen academic:,
-Academic Year,An academic,
-Academic Year: ,An academic:,
-Accepted + Rejected Qty must be equal to Received quantity for Item {0},Cant. acceptată + respinsă trebuie să fie egală cu cantitatea recepționată pentru articolul {0},
-Access Token,Acces Token,
-Accessable Value,Valoare accesibilă,
-Account,Cont,
-Account Number,Numar de cont,
-Account Number {0} already used in account {1},Numărul contului {0} deja utilizat în contul {1},
-Account Pay Only,Contul Plătiți numai,
-Account Type,Tipul Contului,
-Account Type for {0} must be {1},Tipul de cont pentru {0} trebuie să fie {1},
-"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Soldul contului este deja în credit, nu vă este permis să setați ""Balanța trebuie să fie"" drept ""Debit"".",
-"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Soldul contului este deja în credit, nu vă este permis să setați ""Balanța trebuie să fie"" drept ""Credit"".",
-Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Numărul contului pentru contul {0} nu este disponibil. <br> Vă rugăm să configurați corect planul de conturi.,
-Account with child nodes cannot be converted to ledger,Un cont cu noduri copil nu poate fi transformat în registru contabil,
-Account with child nodes cannot be set as ledger,Cont cu noduri copil nu poate fi setat ca Registru Contabil,
-Account with existing transaction can not be converted to group.,Un cont cu tranzacții existente nu poate fi transformat în grup.,
-Account with existing transaction can not be deleted,Un cont cu tranzacții existente nu poate fi șters,
-Account with existing transaction cannot be converted to ledger,Un cont cu tranzacții existente nu poate fi transformat în registru contabil,
-Account {0} does not belong to company: {1},Contul {0} nu aparține companiei: {1},
-Account {0} does not belongs to company {1},Contul {0} nu aparține companiei {1},
-Account {0} does not exist,Contul {0} nu există,
-Account {0} does not exists,Contul {0} nu există,
-Account {0} does not match with Company {1} in Mode of Account: {2},Contul {0} nu se potrivește cu Compania {1} în modul de cont: {2},
-Account {0} has been entered multiple times,Contul {0} a fost introdus de mai multe ori,
-Account {0} is added in the child company {1},Contul {0} este adăugat în compania copil {1},
-Account {0} is frozen,Contul {0} este Blocat,
-Account {0} is invalid. Account Currency must be {1},Contul {0} nu este valid. Valuta contului trebuie să fie {1},
-Account {0}: Parent account {1} can not be a ledger,Contul {0}: cont Părinte {1} nu poate fi un registru,
-Account {0}: Parent account {1} does not belong to company: {2},Contul {0}: cont Părinte {1} nu apartine companiei: {2},
-Account {0}: Parent account {1} does not exist,Contul {0}: cont părinte {1} nu există,
-Account {0}: You can not assign itself as parent account,Contul {0}: nu puteți atribui contului în sine calitatea de cont părinte,
-Account: {0} can only be updated via Stock Transactions,Contul: {0} poate fi actualizat doar prin Tranzacții stoc,
-Account: {0} with currency: {1} can not be selected,Contul: {0} cu moneda: {1} nu poate fi selectat,
-Accountant,Contabil,
-Accounting,Contabilitate,
-Accounting Entry for Asset,Înregistrare contabilă a activelor,
-Accounting Entry for Stock,Intrare Contabilă pentru Stoc,
-Accounting Entry for {0}: {1} can only be made in currency: {2},Intrarea contabila pentru {0}: {1} se poate face numai în valuta: {2},
-Accounting Ledger,Registru Jurnal,
-Accounting journal entries.,Inregistrari contabile de jurnal.,
-Accounts,Conturi,
-Accounts Manager,Manager de Conturi,
-Accounts Payable,Conturi de plată,
-Accounts Payable Summary,Rezumat conturi pentru plăți,
-Accounts Receivable,Conturi de Incasare,
-Accounts Receivable Summary,Rezumat conturi de încasare,
-Accounts User,Conturi de utilizator,
-Accounts table cannot be blank.,Planul de conturi nu poate fi gol.,
-Accrual Journal Entry for salaries from {0} to {1},Înregistrarea jurnalelor de angajare pentru salariile de la {0} la {1},
-Accumulated Depreciation,Amortizarea cumulată,
-Accumulated Depreciation Amount,Sumă Amortizarea cumulată,
-Accumulated Depreciation as on,Amortizarea ca pe acumulat,
-Accumulated Monthly,lunar acumulat,
-Accumulated Values,Valorile acumulate,
-Accumulated Values in Group Company,Valori acumulate în compania grupului,
-Achieved ({}),Realizat ({}),
-Action,Acțiune:,
-Action Initialised,Acțiune inițiată,
-Actions,Acțiuni,
-Active,Activ,
-Activity Cost exists for Employee {0} against Activity Type - {1},Există cost activitate pentru angajatul {0} comparativ tipului de activitate - {1},
-Activity Cost per Employee,Cost activitate per angajat,
-Activity Type,Tip Activitate,
-Actual Cost,Costul actual,
-Actual Delivery Date,Data de livrare efectivă,
-Actual Qty,Cant. Efectivă,
-Actual Qty is mandatory,Cantitatea efectivă este obligatorie,
-Actual Qty {0} / Waiting Qty {1},Cant. reală {0} / Cant. în așteptare {1},
-Actual Qty: Quantity available in the warehouse.,Cantitate Actuală: Cantitate disponibilă în depozit.,
-Actual qty in stock,Cant. efectivă în stoc,
-Actual type tax cannot be included in Item rate in row {0},Taxa efectivă de tip nu poate fi inclusă în tariful articolului din rândul {0},
-Add,Adaugă,
-Add / Edit Prices,Adăugați / editați preturi,
-Add Comment,Adăugă Comentariu,
-Add Customers,Adăugați clienți,
-Add Employees,Adăugă Angajați,
-Add Item,Adăugă Element,
-Add Items,Adăugă Elemente,
-Add Leads,Adaugă Oportunități,
-Add Multiple Tasks,Adăugă Sarcini Multiple,
-Add Row,Adăugă Rând,
-Add Sales Partners,Adăugă Parteneri de Vânzări,
-Add Serial No,Adăugaţi Nr. de Serie,
-Add Students,Adăugă Elevi,
-Add Suppliers,Adăugă Furnizori,
-Add Time Slots,Adăugă Intervale de Timp,
-Add Timesheets,Adăugă Pontaje,
-Add Timeslots,Adăugă Intervale de Timp,
-Add Users to Marketplace,Adăugă Utilizatori la Marketplace,
-Add a new address,Adăugați o adresă nouă,
-Add cards or custom sections on homepage,Adăugați carduri sau secțiuni personalizate pe pagina principală,
-Add more items or open full form,Adăugă mai multe elemente sau deschide formular complet,
-Add notes,Adăugați note,
-Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,"Adăugați restul organizației dvs. ca utilizatori. Puteți, de asemenea, invita Clienții în portal prin adăugarea acestora din Contacte",
-Add to Details,Adăugă la Detalii,
-Add/Remove Recipients,Adăugaţi/Stergeţi Destinatari,
-Added,Adăugat,
-Added to details,Adăugat la detalii,
-Added {0} users,{0} utilizatori adăugați,
-Additional Salary Component Exists.,Există o componentă suplimentară a salariului.,
-Address,Adresă,
-Address Line 2,Adresă Linie 2,
-Address Name,Numele adresei,
-Address Title,Titlu adresă,
-Address Type,Tip adresă,
-Administrative Expenses,Cheltuieli administrative,
-Administrative Officer,Ofițer administrativ,
-Administrator,Administrator,
-Admission,Admitere,
-Admission and Enrollment,Admitere și înscriere,
-Admissions for {0},Admitere pentru {0},
-Admit,admite,
-Admitted,Admis,
-Advance Amount,Sumă în avans,
-Advance Payments,Plățile în avans,
-Advance account currency should be same as company currency {0},Advance valuta contului ar trebui să fie aceeași ca moneda companiei {0},
-Advance amount cannot be greater than {0} {1},Suma avans nu poate fi mai mare decât {0} {1},
-Advertising,Publicitate,
-Aerospace,Spaţiul aerian,
-Against,Comparativ,
-Against Account,Comparativ contului,
-Against Journal Entry {0} does not have any unmatched {1} entry,Comparativ intrării {0} în jurnal nu are nici o intrare nepotrivită {1},
-Against Journal Entry {0} is already adjusted against some other voucher,Comparativ intrării {0} în jurnal este deja ajustată comparativ altui voucher,
-Against Supplier Invoice {0} dated {1},Contra facturii furnizorului {0} din data {1},
-Against Voucher,Contra voucherului,
-Against Voucher Type,Contra tipului de voucher,
-Age,Vârstă,
-Age (Days),Vârsta (zile),
-Ageing Based On,Uzură bazată pe,
-Ageing Range 1,Clasă de uzură 1,
-Ageing Range 2,Clasă de uzură 2,
-Ageing Range 3,Clasă de uzură 3,
-Agriculture,Agricultură,
-Agriculture (beta),Agricultura (beta),
-Airline,linie aeriană,
-All Accounts,Toate conturile,
-All Addresses.,Toate adresele.,
-All Assessment Groups,Toate grupurile de evaluare,
-All BOMs,toate BOM,
-All Contacts.,Toate contactele.,
-All Customer Groups,Toate grupurile de clienți,
-All Day,Toată ziua,
-All Departments,Toate departamentele,
-All Healthcare Service Units,Toate unitățile de servicii medicale,
-All Item Groups,Toate grupurile articolului,
-All Jobs,Toate locurile de muncă,
-All Products,Toate produsele,
-All Products or Services.,Toate produsele sau serviciile.,
-All Student Admissions,Toate Admitere Student,
-All Supplier Groups,Toate grupurile de furnizori,
-All Supplier scorecards.,Toate cardurile de evaluare ale furnizorilor.,
-All Territories,Toate Teritoriile,
-All Warehouses,toate Depozite,
-All communications including and above this shall be moved into the new Issue,"Toate comunicările, inclusiv și deasupra acestora, vor fi mutate în noua ediție",
-All items have already been transferred for this Work Order.,Toate articolele au fost deja transferate pentru această comandă de lucru.,
-All other ITC,Toate celelalte ITC,
-All the mandatory Task for employee creation hasn't been done yet.,Toate sarcinile obligatorii pentru crearea de angajați nu au fost încă încheiate.,
-Allocate Payment Amount,Alocați suma de plată,
-Allocated Amount,Sumă alocată,
-Allocated Leaves,Frunzele alocate,
-Allocating leaves...,Alocarea frunzelor ...,
-Already record exists for the item {0},Încă există înregistrare pentru articolul {0},
-"Already set default in pos profile {0} for user {1}, kindly disabled default","Deja a fost setat implicit în profilul pos {0} pentru utilizatorul {1}, dezactivat în mod prestabilit",
-Alternate Item,Articol alternativ,
-Alternative item must not be same as item code,Elementul alternativ nu trebuie să fie identic cu cel al articolului,
-Amended From,Modificat din,
-Amount,Sumă,
-Amount After Depreciation,Suma după amortizare,
-Amount of Integrated Tax,Suma impozitului integrat,
-Amount of TDS Deducted,Cantitatea de TDS dedusă,
-Amount should not be less than zero.,Suma nu trebuie să fie mai mică de zero.,
-Amount to Bill,Sumă pentru facturare,
-Amount {0} {1} against {2} {3},Suma {0} {1} împotriva {2} {3},
-Amount {0} {1} deducted against {2},Suma {0} {1} dedusă împotriva {2},
-Amount {0} {1} transferred from {2} to {3},Suma {0} {1} transferată de la {2} la {3},
-Amount {0} {1} {2} {3},Suma {0} {1} {2} {3},
-Amt,Suma,
-"An Item Group exists with same name, please change the item name or rename the item group","Există un grup de articole cu aceeaşi denumire, vă rugăm să schimbați denumirea articolului sau să redenumiţi grupul articolului",
-An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Un termen academic cu acest &quot;An universitar&quot; {0} și &quot;Numele Termenul&quot; {1} există deja. Vă rugăm să modificați aceste intrări și încercați din nou.,
-An error occurred during the update process,A apărut o eroare în timpul procesului de actualizare,
-"An item exists with same name ({0}), please change the item group name or rename the item","Există un articol cu aceeaşi denumire ({0}), vă rugăm să schimbați denumirea grupului articolului sau să redenumiţi articolul",
-Analyst,Analist,
-Analytics,Google Analytics,
-Annual Billing: {0},Facturare anuală: {0},
-Annual Salary,Salariu anual,
-Anonymous,Anonim,
-Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},O altă înregistrare bugetară {0} există deja pentru {1} &#39;{2}&#39; și contul &#39;{3}&#39; pentru anul fiscal {4},
-Another Period Closing Entry {0} has been made after {1},O altă intrare închidere de perioada {0} a fost efectuată după {1},
-Another Sales Person {0} exists with the same Employee id,Un alt Sales Person {0} există cu același ID Angajat,
-Antibiotic,Antibiotic,
-Apparel & Accessories,Îmbrăcăminte și accesorii,
-Applicable For,Aplicabil pentru,
-"Applicable if the company is SpA, SApA or SRL","Se aplică dacă compania este SpA, SApA sau SRL",
-Applicable if the company is a limited liability company,Se aplică dacă compania este o societate cu răspundere limitată,
-Applicable if the company is an Individual or a Proprietorship,Se aplică dacă compania este o persoană fizică sau o proprietate,
-Applicant,Solicitant,
-Applicant Type,Tipul solicitantului,
-Application of Funds (Assets),Aplicarea fondurilor (active),
-Application period cannot be across two allocation records,Perioada de aplicare nu poate fi cuprinsă între două înregistrări de alocare,
-Application period cannot be outside leave allocation period,Perioada de aplicare nu poate fi perioadă de alocare concediu în afara,
-Applied,Aplicat,
-Apply Now,Aplica acum,
-Appointment Confirmation,Confirmare programare,
-Appointment Duration (mins),Durata intalnire (minute),
-Appointment Type,Tip de întâlnire,
-Appointment {0} and Sales Invoice {1} cancelled,Mențiunea {0} și factura de vânzări {1} au fost anulate,
-Appointments and Encounters,Numiri și întâlniri,
-Appointments and Patient Encounters,Numiri și întâlniri cu pacienții,
-Appraisal {0} created for Employee {1} in the given date range,Expertiza {0} creată pentru angajatul {1} în intervalul de timp dat,
-Apprentice,Începător,
-Approval Status,Status aprobare,
-Approval Status must be 'Approved' or 'Rejected',"Statusul aprobării trebuie să fie ""Aprobat"" sau ""Respins""",
-Approve,Aproba,
-Approving Role cannot be same as role the rule is Applicable To,Aprobarea unui rol nu poate fi aceeaşi cu rolul. Regula este aplicabilă pentru,
-Approving User cannot be same as user the rule is Applicable To,Aprobarea unui utilizator nu poate fi aceeași cu utilizatorul. Regula este aplicabilă pentru,
-"Apps using current key won't be able to access, are you sure?","Aplicațiile care utilizează cheia curentă nu vor putea accesa, sunteți sigur?",
-Are you sure you want to cancel this appointment?,Sigur doriți să anulați această întâlnire?,
-Arrear,restanță,
-As Examiner,Ca Examiner,
-As On Date,Ca pe data,
-As Supervisor,Ca supraveghetor,
-As per rules 42 & 43 of CGST Rules,Conform regulilor 42 și 43 din Regulile CGST,
-As per section 17(5),În conformitate cu secțiunea 17 (5),
-As per your assigned Salary Structure you cannot apply for benefits,"În conformitate cu structura salarială atribuită, nu puteți aplica pentru beneficii",
-Assessment,Evaluare,
-Assessment Criteria,Criterii de evaluare,
-Assessment Group,Grup de evaluare,
-Assessment Group: ,Grup de evaluare:,
-Assessment Plan,Plan de evaluare,
-Assessment Plan Name,Numele planului de evaluare,
-Assessment Report,Raport de evaluare,
-Assessment Reports,Rapoarte de evaluare,
-Assessment Result,Rezultatul evaluării,
-Assessment Result record {0} already exists.,Inregistrarea Rezultatului evaluării {0} există deja.,
-Asset,activ,
-Asset Category,Categorie activ,
-Asset Category is mandatory for Fixed Asset item,Categorie Activ este obligatorie pentru articolul Activ Fix,
-Asset Maintenance,Întreținerea activelor,
-Asset Movement,Miscarea activelor,
-Asset Movement record {0} created,Mișcarea de înregistrare a activelor {0} creat,
-Asset Name,Denumire activ,
-Asset Received But Not Billed,"Activul primit, dar nu facturat",
-Asset Value Adjustment,Ajustarea valorii activelor,
-"Asset cannot be cancelled, as it is already {0}","Activul nu poate fi anulat, deoarece este deja {0}",
-Asset scrapped via Journal Entry {0},Activ casate prin Jurnal de intrare {0},
-"Asset {0} cannot be scrapped, as it is already {1}","Activul {0} nu poate fi scos din uz, deoarece este deja {1}",
-Asset {0} does not belong to company {1},Activul {0} nu aparține companiei {1},
-Asset {0} must be submitted,Activul {0} trebuie transmis,
-Assets,Active,
-Assign,Atribuiţi,
-Assign Salary Structure,Alocați structurii salariale,
-Assign To,Atribuţi pentru,
-Assign to Employees,Atribuie la Angajați,
-Assigning Structures...,Alocarea structurilor ...,
-Associate,Asociaţi,
-At least one mode of payment is required for POS invoice.,Cel puțin un mod de plată este necesar factura POS.,
-Atleast one item should be entered with negative quantity in return document,Cel puțin un articol ar trebui să fie introdus cu cantitate negativa în documentul de returnare,
-Atleast one of the Selling or Buying must be selected,Cel puţin una din opţiunile de vânzare sau cumpărare trebuie să fie selectată,
-Atleast one warehouse is mandatory,Cel puţin un depozit este obligatoriu,
-Attach Logo,Atașați logo,
-Attachment,Atașament,
-Attachments,Ataşamente,
-Attendance,prezență,
-Attendance From Date and Attendance To Date is mandatory,Prezenţa de la data și Prezența până la data sunt obligatorii,
-Attendance can not be marked for future dates,Prezenţa nu poate fi consemnată pentru date viitoare,
-Attendance date can not be less than employee's joining date,Data de prezență nu poate fi anteriara datii angajarii salariatului,
-Attendance for employee {0} is already marked,Prezenţa pentru angajatul {0} este deja consemnată,
-Attendance for employee {0} is already marked for this day,Prezența pentru angajatul {0} este deja marcată pentru această zi,
-Attendance has been marked successfully.,Prezența a fost marcată cu succes.,
-Attendance not submitted for {0} as it is a Holiday.,Participarea nu a fost trimisă pentru {0} deoarece este o sărbătoare.,
-Attendance not submitted for {0} as {1} on leave.,Participarea nu a fost trimisă pentru {0} ca {1} în concediu.,
-Attribute table is mandatory,Tabelul atribut este obligatoriu,
-Attribute {0} selected multiple times in Attributes Table,Atributul {0} este selectat de mai multe ori în tabelul Atribute,
-Author,Autor,
-Authorized Signatory,Semnatar autorizat,
-Auto Material Requests Generated,Cereri materiale Auto Generat,
-Auto Repeat,Auto Repetare,
-Auto repeat document updated,Documentul repetat automat a fost actualizat,
-Automotive,Autopropulsat,
-Available,Disponibil,
-Available Leaves,Frunzele disponibile,
-Available Qty,Cantitate disponibilă,
-Available Selling,Vânzări disponibile,
-Available for use date is required,Data de utilizare disponibilă pentru utilizare este necesară,
-Available slots,Sloturi disponibile,
-Available {0},Disponibile {0},
-Available-for-use Date should be after purchase date,Data disponibilă pentru utilizare ar trebui să fie după data achiziției,
-Average Age,Varsta medie,
-Average Rate,Rata medie,
-Avg Daily Outgoing,Ieșire zilnică medie,
-Avg. Buying Price List Rate,Med. Achiziționarea ratei listei de prețuri,
-Avg. Selling Price List Rate,Med. Rata de listare a prețurilor de vânzare,
-Avg. Selling Rate,Rată Medie de Vânzare,
-BOM,BOM,
-BOM Browser,BOM Browser,
-BOM No,Nr. BOM,
-BOM Rate,Rata BOM,
-BOM Stock Report,BOM Raport stoc,
-BOM and Manufacturing Quantity are required,BOM și cantitatea de producție sunt necesare,
-BOM does not contain any stock item,BOM nu conține nici un element de stoc,
-BOM {0} does not belong to Item {1},BOM {0} nu aparţine articolului {1},
-BOM {0} must be active,BOM {0} trebuie să fie activ,
-BOM {0} must be submitted,BOM {0} trebuie să fie introdus,
-Balance,Bilanţ,
-Balance (Dr - Cr),Sold (Dr-Cr),
-Balance ({0}),Sold ({0}),
-Balance Qty,Cantitate de bilanţ,
-Balance Sheet,Bilanț,
-Balance Value,Valoarea bilanţului,
-Balance for Account {0} must always be {1},Bilanţă pentru contul {0} trebuie să fie întotdeauna {1},
-Bank,bancă,
-Bank Account,Cont bancar,
-Bank Accounts,Conturi bancare,
-Bank Draft,Ciorna bancară,
-Bank Entries,Intrările bancare,
-Bank Name,Denumire bancă,
-Bank Overdraft Account,Descoperire cont bancar,
-Bank Reconciliation,Reconciliere bancară,
-Bank Reconciliation Statement,Extras de cont reconciliere bancară,
-Bank Statement,Extras de cont,
-Bank Statement Settings,Setările declarației bancare,
-Bank Statement balance as per General Ledger,Banca echilibru Declarație pe General Ledger,
-Bank account cannot be named as {0},Contul bancar nu poate fi numit ca {0},
-Bank/Cash transactions against party or for internal transfer,tranzacții bancare / numerar contra partidului sau pentru transfer intern,
-Banking,Bancar,
-Banking and Payments,Bancare și plăți,
-Barcode {0} already used in Item {1},Cod de bare {0} deja folosit pentru articolul {1},
-Barcode {0} is not a valid {1} code,Codul de bare {0} nu este un cod valid {1},
-Base,Baza,
-Base URL,URL-ul de bază,
-Based On,Bazat pe,
-Based On Payment Terms,Pe baza condițiilor de plată,
-Basic,Elementar,
-Batch,Lot,
-Batch Entries,Înregistrări pe lot,
-Batch ID is mandatory,ID-ul lotului este obligatoriu,
-Batch Inventory,Lot Inventarul,
-Batch Name,Nume lot,
-Batch No,Lot nr.,
-Batch number is mandatory for Item {0},Numărul aferent lotului este obligatoriu pentru articolul {0},
-Batch {0} of Item {1} has expired.,Lot {0} din {1} Postul a expirat.,
-Batch {0} of Item {1} is disabled.,Lotul {0} al elementului {1} este dezactivat.,
-Batch: ,Lot:,
-Batches,Sarjele,
-Become a Seller,Deveniți un vânzător,
-Beginner,Începător,
-Bill,Factură,
-Bill Date,Dată factură,
-Bill No,Factură nr.,
-Bill of Materials,Reţete de Producţie,
-Bill of Materials (BOM),Lista de materiale (BOM),
-Billable Hours,Ore Billable,
-Billed,Facturat,
-Billed Amount,Sumă facturată,
-Billing,Facturare,
-Billing Address,Adresa De Facturare,
-Billing Address is same as Shipping Address,Adresa de facturare este aceeași cu adresa de expediere,
-Billing Amount,Suma de facturare,
-Billing Status,Stare facturare,
-Billing currency must be equal to either default company's currency or party account currency,"Valuta de facturare trebuie să fie identica fie cu valuta implicită a companiei, fie cu moneda contului de partid",
-Bills raised by Suppliers.,Facturi cu valoarea ridicată de către furnizori.,
-Bills raised to Customers.,Facturi cu valoarea ridicată pentru clienți.,
-Biotechnology,Biotehnologie,
-Birthday Reminder,Amintirea zilei de naștere,
-Black,Negru,
-Blanket Orders from Costumers.,Comenzi cuverturi de la clienți.,
-Block Invoice,Blocați factura,
-Boms,BOM,
-Bonus Payment Date cannot be a past date,Data de plată Bonus nu poate fi o dată trecută,
-Both Trial Period Start Date and Trial Period End Date must be set,"Trebuie să fie setată atât data de începere a perioadei de încercare, cât și data de încheiere a perioadei de încercare",
-Both Warehouse must belong to same Company,Ambele Depozite trebuie să aparțină aceleiași companii,
-Branch,ramură,
-Broadcasting,Transminiune,
-Brokerage,brokeraj,
-Browse BOM,Navigare BOM,
-Budget Against,Buget împotriva,
-Budget List,Lista de bugete,
-Budget Variance Report,Raport de variaţie buget,
-Budget cannot be assigned against Group Account {0},Buget nu pot fi atribuite în Grupa Contul {0},
-"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Bugetul nu pot fi atribuite în {0}, deoarece nu este un cont venituri sau cheltuieli",
-Buildings,Corpuri,
-Bundle items at time of sale.,Set de articole în momemntul vânzării.,
-Business Development Manager,Manager pentru Dezvoltarea Afacerilor,
-Buy,A cumpara,
-Buying,Cumpărare,
-Buying Amount,Sumă de cumpărare,
-Buying Price List,Achiziționarea listei de prețuri,
-Buying Rate,Rata de cumparare,
-"Buying must be checked, if Applicable For is selected as {0}","Destinat Cumpărării trebuie să fie bifat, dacă Se Aplica Pentru este selectat ca şi {0}",
-By {0},Până la {0},
-Bypass credit check at Sales Order ,Anulați verificarea creditului la Ordin de vânzări,
-C-Form records,Înregistrări formular-C,
-C-form is not applicable for Invoice: {0},Formularul C nu se aplică pentru factură: {0},
-CEO,CEO,
-CESS Amount,Suma CESS,
-CGST Amount,Suma CGST,
-CRM,CRM,
-CWIP Account,Contul CWIP,
-Calculated Bank Statement balance,Calculat Bank echilibru Declaratie,
-Calls,apeluri,
-Campaign,Campanie,
-Can be approved by {0},Poate fi aprobat/a de către {0},
-"Can not filter based on Account, if grouped by Account","Nu se poate filtra pe baza de cont, în cazul gruparii in functie de Cont",
-"Can not filter based on Voucher No, if grouped by Voucher","Nu se poate filtra pe baza voucher Nr., în cazul gruparii in functie de Voucher",
-"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Nu se poate marca evacuarea inpatientului, există facturi neachitate {0}",
-Can only make payment against unbilled {0},Plata se poate efectua numai în cazul factrilor neachitate {0},
-Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Se poate face referire la inregistrare numai dacă tipul de taxa este 'Suma inregistrare precedenta' sau 'Total inregistrare precedenta',
-"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Metoda de evaluare nu poate fi schimbată, deoarece există tranzacții împotriva anumitor elemente care nu au metoda de evaluare proprie",
-Can't create standard criteria. Please rename the criteria,Nu se pot crea criterii standard. Renunțați la criterii,
-Cancel,Anulează,
-Cancel Material Visit {0} before cancelling this Warranty Claim,Anulează Stivuitoare Vizitați {0} înainte de a anula acest revendicarea Garanție,
-Cancel Material Visits {0} before cancelling this Maintenance Visit,Anuleaza Vizite Material {0} înainte de a anula această Vizita de întreținere,
-Cancel Subscription,Anulează Abonament,
-Cancel the journal entry {0} first,Anulați mai întâi înregistrarea jurnalului {0},
-Canceled,Anulat,
-"Cannot Submit, Employees left to mark attendance","Nu se poate trimite, Angajații lăsați să marcheze prezența",
-Cannot be a fixed asset item as Stock Ledger is created.,"Nu poate fi un element de activ fix, deoarece este creat un registru de stoc.",
-Cannot cancel because submitted Stock Entry {0} exists,"Nu pot anula, deoarece a prezentat Bursa de intrare {0} există",
-Cannot cancel transaction for Completed Work Order.,Nu se poate anula tranzacția pentru comanda finalizată de lucru.,
-Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},Nu se poate anula {0} {1} deoarece numărul de serie {2} nu aparține depozitului {3},
-Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Nu se poate modifica atributele după tranzacția de stoc. Creați un element nou și transferați stocul la noul element,
-Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Nu se poate schimba anul fiscal Data de începere și se termină anul fiscal Data odată ce anul fiscal este salvată.,
-Cannot change Service Stop Date for item in row {0},Nu se poate schimba data de începere a serviciului pentru elementul din rândul {0},
-Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,Nu se pot modifica proprietățile Variant după tranzacția stoc. Va trebui să faceți un nou element pentru a face acest lucru.,
-"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Nu se poate schimba moneda implicita a companiei, deoarece există tranzacții in desfasurare. Tranzacțiile trebuie să fie anulate pentru a schimba moneda implicita.",
-Cannot change status as student {0} is linked with student application {1},Nu se poate schimba statutul de student ca {0} este legat cu aplicația de student {1},
-Cannot convert Cost Center to ledger as it has child nodes,"Nu se poate converti de cost Centrul de registru, deoarece are noduri copil",
-Cannot covert to Group because Account Type is selected.,Nu se poate sub acoperire la Grupul pentru că este selectată Tip cont.,
-Cannot create Retention Bonus for left Employees,Nu se poate crea Bonus de retenție pentru angajații stânga,
-Cannot create a Delivery Trip from Draft documents.,Nu se poate crea o călătorie de livrare din documentele Draft.,
-Cannot deactivate or cancel BOM as it is linked with other BOMs,"Nu se poate deactiva sau anula FDM, deoarece este conectat cu alte FDM-uri",
-"Cannot declare as lost, because Quotation has been made.","Nu se poate declara pierdut, pentru că Oferta a fost realizata.",
-Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Nu se poate deduce când categoria este de 'Evaluare' sau 'Evaluare și total',
-Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Nu se poate deduce atunci când este categoria de &quot;evaluare&quot; sau &quot;Vaulation și Total&quot;,
-"Cannot delete Serial No {0}, as it is used in stock transactions","Nu se poate șterge de serie nr {0}, așa cum este utilizat în tranzacțiile bursiere",
-Cannot enroll more than {0} students for this student group.,Nu se poate inscrie mai mult de {0} studenți pentru acest grup de studenți.,
-Cannot find active Leave Period,Nu se poate găsi perioada activă de plecare,
-Cannot produce more Item {0} than Sales Order quantity {1},Nu se pot produce mai multe Articole {0} decât cantitatea din Ordinul de Vânzări {1},
-Cannot promote Employee with status Left,Nu puteți promova angajatul cu starea Stânga,
-Cannot refer row number greater than or equal to current row number for this Charge type,Nu se poate face referire la un număr de inregistare mai mare sau egal cu numărul curent de inregistrare pentru acest tip de Incasare,
-Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Nu se poate selecta tipul de incasare ca 'Suma inregistrare precedenta' sau 'Total inregistrare precedenta' pentru prima inregistrare,
-Cannot set as Lost as Sales Order is made.,Nu se poate seta pierdut deoarece se intocmeste comandă de vânzări.,
-Cannot set authorization on basis of Discount for {0},Nu se poate seta autorizare pe baza de Discount pentru {0},
-Cannot set multiple Item Defaults for a company.,Nu se pot seta mai multe setări implicite pentru o companie.,
-Cannot set quantity less than delivered quantity,Cantitatea nu poate fi mai mică decât cea livrată,
-Cannot set quantity less than received quantity,Cantitatea nu poate fi mai mică decât cea primită,
-Cannot set the field <b>{0}</b> for copying in variants,Nu se poate seta câmpul <b>{0}</b> pentru copiere în variante,
-Cannot transfer Employee with status Left,Nu se poate transfera angajatul cu starea Stânga,
-Cannot {0} {1} {2} without any negative outstanding invoice,Nu se poate {0} {1} {2} in lipsa unei facturi negative restante,
-Capital Equipments,Echipamente de capital,
-Capital Stock,Capital Stock,
-Capital Work in Progress,Capitalul în curs de desfășurare,
-Cart,Coș,
-Cart is Empty,Cosul este gol,
-Case No(s) already in use. Try from Case No {0},Cazul nr. (s) este deja utilizat. Încercați din cazul nr. {s},
-Cash,Numerar,
-Cash Flow Statement,Situația fluxurilor de trezorerie,
-Cash Flow from Financing,Cash Flow de la finanțarea,
-Cash Flow from Investing,Cash Flow de la Investiții,
-Cash Flow from Operations,Cash Flow din Operațiuni,
-Cash In Hand,Bani în mână,
-Cash or Bank Account is mandatory for making payment entry,Pentru a face o inregistrare de plată este obligatoriu numerar sau cont bancar,
-Cashier Closing,Încheierea caselor,
-Casual Leave,Concediu Aleator,
-Category,Categorie,
-Category Name,Nume Categorie,
-Caution,Prudență,
-Central Tax,Impozitul central,
-Certification,Certificare,
-Cess,CESS,
-Change Amount,Sumă schimbare,
-Change Item Code,Modificați codul elementului,
-Change Release Date,Modificați data de lansare,
-Change Template Code,Schimbați codul de șablon,
-Changing Customer Group for the selected Customer is not allowed.,Schimbarea Grupului de Clienți pentru Clientul selectat nu este permisă.,
-Chapter,Capitol,
-Chapter information.,Informații despre capitol.,
-Charge of type 'Actual' in row {0} cannot be included in Item Rate,"Taxa de tip 'Efectiv' în inregistrarea {0} nu poate fi inclus în Rata Articol""",
-Chargeble,Chargeble,
-Charges are updated in Purchase Receipt against each item,Tarifele sunt actualizate în Primirea cumparare pentru fiecare articol,
-"Charges will be distributed proportionately based on item qty or amount, as per your selection","Taxele vor fi distribuite proporțional în funcție de produs Cantitate sau valoarea, ca pe dvs. de selecție",
-Chart of Cost Centers,Diagramă Centre de Cost,
-Check all,Selectați toate,
-Checkout,Verifică,
-Chemical,Chimic,
-Cheque,Cec,
-Cheque/Reference No,Cecul / de referință nr,
-Cheques Required,Verificări necesare,
-Cheques and Deposits incorrectly cleared,Cecuri și Depozite respingă incorect,
-Child Task exists for this Task. You can not delete this Task.,Sarcina pentru copii există pentru această sarcină. Nu puteți șterge această activitate.,
-Child nodes can be only created under 'Group' type nodes,noduri pentru copii pot fi create numai în noduri de tip &quot;grup&quot;,
-Child warehouse exists for this warehouse. You can not delete this warehouse.,Există depozit copil pentru acest depozit. Nu puteți șterge acest depozit.,
-Circular Reference Error,Eroare de referință Circular,
-City,Oraș,
-City/Town,Oras/Localitate,
-Claimed Amount,Suma solicitată,
-Clay,Lut,
-Clear filters,Șterge filtrele,
-Clear values,Valori clare,
-Clearance Date,Data Aprobare,
-Clearance Date not mentioned,Data Aprobare nespecificata,
-Clearance Date updated,Clearance-ul Data actualizat,
-Client,Client,
-Client ID,ID-ul clientului,
-Client Secret,Secret Client,
-Clinical Procedure,Procedura clinică,
-Clinical Procedure Template,Formularul procedurii clinice,
-Close Balance Sheet and book Profit or Loss.,Inchideti Bilanțul și registrul Profit sau Pierdere.,
-Close Loan,Împrumut închis,
-Close the POS,Închideți POS,
-Closed,Închis,
-Closed order cannot be cancelled. Unclose to cancel.,Pentru închis nu poate fi anulată. Pentru a anula redeschide.,
-Closing (Cr),De închidere (Cr),
-Closing (Dr),De închidere (Dr),
-Closing (Opening + Total),Închidere (Deschidere + Total),
-Closing Account {0} must be of type Liability / Equity,Contul {0} de închidere trebuie să fie de tip răspunderii / capitaluri proprii,
-Closing Balance,Soldul de încheiere,
-Code,Cod,
-Collapse All,Reduceți totul În această,
-Color,Culoare,
-Colour,Culoare,
-Combined invoice portion must equal 100%,Partea facturată combinată trebuie să fie egală cu 100%,
-Commercial,Comercial,
-Commission,Comision,
-Commission Rate %,Rata comisionului %,
-Commission on Sales,Comision pentru Vânzări,
-Commission rate cannot be greater than 100,Rata de comision nu poate fi mai mare decat 100,
-Community Forum,Community Forum,
-Company (not Customer or Supplier) master.,Directorul Companiei(nu al Clientului sau al Furnizorui).,
-Company Abbreviation,Abreviere Companie,
-Company Abbreviation cannot have more than 5 characters,Abrevierea companiei nu poate avea mai mult de 5 caractere,
-Company Name,Denumire Furnizor,
-Company Name cannot be Company,Numele Companiei nu poate fi Companie,
-Company currencies of both the companies should match for Inter Company Transactions.,Monedele companiilor ambelor companii ar trebui să se potrivească cu tranzacțiile Inter-Company.,
-Company is manadatory for company account,Compania este managerială pentru contul companiei,
-Company name not same,Numele companiei nu este același,
-Company {0} does not exist,Firma {0} nu există,
-Compensatory Off,Fara Masuri Compensatorii,
-Compensatory leave request days not in valid holidays,Plățile compensatorii pleacă în zilele de sărbători valabile,
-Complaint,Reclamație,
-Completion Date,Data Finalizare,
-Computer,Computer,
-Condition,Condiție,
-Configure,Configurarea,
-Configure {0},Configurare {0},
-Confirmed orders from Customers.,Comenzi confirmate de la clienți.,
-Connect Amazon with ERPNext,Conectați-vă la Amazon cu ERPNext,
-Connect Shopify with ERPNext,Conectați-vă la Shopify cu ERPNext,
-Connect to Quickbooks,Conectați-vă la agendele rapide,
-Connected to QuickBooks,Conectat la QuickBooks,
-Connecting to QuickBooks,Conectarea la QuickBooks,
-Consultation,Consultare,
-Consultations,consultări,
-Consulting,Consilia,
-Consumable,Consumabile,
-Consumed,Consumat,
-Consumed Amount,Consumat Suma,
-Consumed Qty,Cantitate consumată,
-Consumer Products,Produse consumator,
-Contact,Persoana de Contact,
-Contact Details,Detalii Persoana de Contact,
-Contact Number,Numar de contact,
-Contact Us,Contacteaza-ne,
-Content,Continut,
-Content Masters,Maeștri de conținut,
-Content Type,Tip Conținut,
-Continue Configuration,Continuați configurarea,
-Contract,Contract,
-Contract End Date must be greater than Date of Joining,Data de Incheiere Contract trebuie să fie ulterioara Datei Aderării,
-Contribution %,Contribuția%,
-Contribution Amount,Contribuția Suma,
-Conversion factor for default Unit of Measure must be 1 in row {0},Factor de Conversie pentru Unitatea de Măsură implicita trebuie să fie 1 pentru inregistrarea {0},
-Conversion rate cannot be 0 or 1,Rata de conversie nu poate fi 0 sau 1,
-Convert to Group,Transformă în grup,
-Convert to Non-Group,Converti la non-Group,
-Cosmetics,Cosmetică,
-Cost Center,Centrul de cost,
-Cost Center Number,Numărul centrului de costuri,
-Cost Center and Budgeting,Centrul de costuri și buget,
-Cost Center is required in row {0} in Taxes table for type {1},Centrul de Cost este necesar pentru inregistrarea {0} din tabelul Taxe pentru tipul {1},
-Cost Center with existing transactions can not be converted to group,Centrul de Cost cu tranzacții existente nu poate fi transformat în grup,
-Cost Center with existing transactions can not be converted to ledger,Centrul de Cost cu tranzacții existente nu poate fi transformat în registru contabil,
-Cost Centers,Centre de cost,
-Cost Updated,Cost actualizat,
-Cost as on,Cost cu o schimbare ca pe,
-Cost of Delivered Items,Costul de articole livrate,
-Cost of Goods Sold,Cost Bunuri Vândute,
-Cost of Issued Items,Costul de articole emise,
-Cost of New Purchase,Costul de achiziție nouă,
-Cost of Purchased Items,Costul de produsele cumparate,
-Cost of Scrapped Asset,Costul de active scoase din uz,
-Cost of Sold Asset,Costul de active vândute,
-Cost of various activities,Costul diverse activități,
-"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again","Nu s-a putut crea Nota de credit în mod automat, debifați &quot;Notați nota de credit&quot; și trimiteți-o din nou",
-Could not generate Secret,Nu am putut genera secret,
-Could not retrieve information for {0}.,Nu s-au putut obține informații pentru {0}.,
-Could not solve criteria score function for {0}. Make sure the formula is valid.,Nu s-a putut rezolva funcția de evaluare a criteriilor pentru {0}. Asigurați-vă că formula este validă.,
-Could not solve weighted score function. Make sure the formula is valid.,Nu s-a putut rezolva funcția de scor ponderat. Asigurați-vă că formula este validă.,
-Could not submit some Salary Slips,Nu am putut trimite unele Salariile,
-"Could not update stock, invoice contains drop shipping item.","Nu s-a putut actualiza stocul, factura conține elementul de expediere.",
-Country wise default Address Templates,Șabloanele țară înțelept adresa implicită,
-Course,Curs,
-Course Code: ,Codul cursului:,
-Course Enrollment {0} does not exists,Înscrierea la curs {0} nu există,
-Course Schedule,Program de curs de,
-Course: ,Curs:,
-Cr,Cr,
-Create,Creează,
-Create BOM,Creați BOM,
-Create Delivery Trip,Creați călătorie de livrare,
-Create Disbursement Entry,Creați intrare pentru dezbursare,
-Create Employee,Creați angajat,
-Create Employee Records,Crearea angajaților Records,
-"Create Employee records to manage leaves, expense claims and payroll","Crearea de înregistrări angajaților pentru a gestiona frunze, cheltuieli și salarizare creanțe",
-Create Fee Schedule,Creați programul de taxe,
-Create Fees,Creați taxe,
-Create Inter Company Journal Entry,Creați jurnalul companiei Inter,
-Create Invoice,Creați factură,
-Create Invoices,Creați facturi,
-Create Job Card,Creați carte de muncă,
-Create Journal Entry,Creați intrarea în jurnal,
-Create Lead,Creați Lead,
-Create Leads,Creează Piste,
-Create Maintenance Visit,Creați vizită de întreținere,
-Create Material Request,Creați solicitare de materiale,
-Create Multiple,Creați mai multe,
-Create Opening Sales and Purchase Invoices,Creați deschiderea vânzărilor și facturilor de achiziție,
-Create Payment Entries,Creați intrări de plată,
-Create Payment Entry,Creați intrare de plată,
-Create Print Format,Creați Format imprimare,
-Create Purchase Order,Creați comanda de aprovizionare,
-Create Purchase Orders,Creare comenzi de aprovizionare,
-Create Quotation,Creare Ofertă,
-Create Salary Slip,Crea Fluturasul de Salariul,
-Create Salary Slips,Creați buletine de salariu,
-Create Sales Invoice,Creați factură de vânzări,
-Create Sales Order,Creați o comandă de vânzări,
-Create Sales Orders to help you plan your work and deliver on-time,Creați comenzi de vânzare pentru a vă ajuta să vă planificați munca și să vă livrați la timp,
-Create Sample Retention Stock Entry,Creați intrare de stoc de reținere a eșantionului,
-Create Student,Creați student,
-Create Student Batch,Creați lot de elevi,
-Create Student Groups,Creați Grupurile de studenți,
-Create Supplier Quotation,Creați ofertă pentru furnizori,
-Create Tax Template,Creați șablonul fiscal,
-Create Timesheet,Creați o foaie de lucru,
-Create User,Creaza utilizator,
-Create Users,Creați utilizatori,
-Create Variant,Creați varianta,
-Create Variants,Creați variante,
-"Create and manage daily, weekly and monthly email digests.","Creare și gestionare rezumate e-mail zilnice, săptămânale și lunare.",
-Create customer quotes,Creați citate client,
-Create rules to restrict transactions based on values.,Creare reguli pentru restricționare tranzacții bazate pe valori.,
-Created {0} scorecards for {1} between: ,A creat {0} cărți de scor pentru {1} între:,
-Creating Company and Importing Chart of Accounts,Crearea companiei și importul graficului de conturi,
-Creating Fees,Crearea de taxe,
-Creating Payment Entries......,Crearea intrărilor de plată ......,
-Creating Salary Slips...,Crearea salvărilor salariale ...,
-Creating student groups,Crearea grupurilor de studenți,
-Creating {0} Invoice,Crearea facturii {0},
-Credit,Credit,
-Credit ({0}),Credit ({0}),
-Credit Account,Cont de credit,
-Credit Balance,Balanța de credit,
-Credit Card,Card de credit,
-Credit Days cannot be a negative number,Zilele de credit nu pot fi un număr negativ,
-Credit Limit,Limita de credit,
-Credit Note,Nota de credit,
-Credit Note Amount,Nota de credit Notă,
-Credit Note Issued,Nota de credit Eliberat,
-Credit Note {0} has been created automatically,Nota de credit {0} a fost creată automat,
-Credit limit has been crossed for customer {0} ({1}/{2}),Limita de credit a fost depășită pentru clientul {0} ({1} / {2}),
-Creditors,creditorii,
-Criteria weights must add up to 100%,Criteriile de greutate trebuie să adauge până la 100%,
-Crop Cycle,Ciclu de recoltare,
-Crops & Lands,Culturi și terenuri,
-Currency Exchange must be applicable for Buying or for Selling.,Cursul valutar trebuie să fie aplicabil pentru cumpărare sau pentru vânzare.,
-Currency can not be changed after making entries using some other currency,Moneda nu poate fi schimbat după efectuarea înregistrări folosind un altă valută,
-Currency exchange rate master.,Maestru cursului de schimb valutar.,
-Currency for {0} must be {1},Moneda pentru {0} trebuie să fie {1},
-Currency is required for Price List {0},Moneda este necesară pentru lista de prețuri {0},
-Currency of the Closing Account must be {0},Valuta contului de închidere trebuie să fie {0},
-Currency of the price list {0} must be {1} or {2},Moneda din lista de prețuri {0} trebuie să fie {1} sau {2},
-Currency should be same as Price List Currency: {0},Valuta trebuie sa fie aceeasi cu Moneda Preturilor: {0},
-Current,Actual,
-Current Assets,Active curente,
-Current BOM and New BOM can not be same,FDM-ul curent și FDM-ul nou nu pot fi identici,
-Current Job Openings,Locuri de munca disponibile,
-Current Liabilities,Raspunderi Curente,
-Current Qty,Cantitate curentă,
-Current invoice {0} is missing,Factura curentă {0} lipsește,
-Custom HTML,Personalizat HTML,
-Custom?,Personalizat?,
-Customer,Client,
-Customer Addresses And Contacts,Adrese de clienți și Contacte,
-Customer Contact,Clientul A lua legatura,
-Customer Database.,Baza de Date Client.,
-Customer Group,Grup Clienți,
-Customer LPO,Clientul LPO,
-Customer LPO No.,Client nr. LPO,
-Customer Name,Nume client,
-Customer POS Id,ID POS utilizator,
-Customer Service,Service Client,
-Customer and Supplier,Client și Furnizor,
-Customer is required,Clientul este necesar,
-Customer isn't enrolled in any Loyalty Program,Clientul nu este înscris în niciun program de loialitate,
-Customer required for 'Customerwise Discount',Client necesar pentru 'Reducere Client',
-Customer {0} does not belong to project {1},Clientul {0} nu aparține proiectului {1},
-Customer {0} is created.,Clientul {0} este creat.,
-Customers in Queue,Clienții din coadă,
-Customize Homepage Sections,Personalizați secțiunile homepage,
-Customizing Forms,Personalizare Formulare,
-Daily Project Summary for {0},Rezumatul zilnic al proiectului pentru {0},
-Daily Reminders,Memento de zi cu zi,
-Daily Work Summary,Sumar Zilnic de Lucru,
-Daily Work Summary Group,Grup de lucru zilnic de lucru,
-Data Import and Export,Datele de import și export,
-Data Import and Settings,Import de date și setări,
-Database of potential customers.,Bază de date cu clienți potențiali.,
-Date Format,Format Dată,
-Date Of Retirement must be greater than Date of Joining,Data Pensionare trebuie să fie ulterioara Datei Aderării,
-Date is repeated,Data se repetă,
-Date of Birth,Data Nașterii,
-Date of Birth cannot be greater than today.,Data Nașterii nu poate fi mai mare decât în prezent.,
-Date of Commencement should be greater than Date of Incorporation,Data de Începere ar trebui să fie mai mare decât data înființării,
-Date of Joining,Data aderării,
-Date of Joining must be greater than Date of Birth,Data Aderării trebuie să fie ulterioara Datei Nașterii,
-Date of Transaction,Data tranzacției,
-Datetime,DatăTimp,
-Day,Zi,
-Debit,Debit,
-Debit ({0}),Debit ({0}),
-Debit A/C Number,Număr de debit A / C,
-Debit Account,Cont Debit,
-Debit Note,Notă Debit,
-Debit Note Amount,Sumă Notă Debit,
-Debit Note Issued,Notă Debit Eliberată,
-Debit To is required,Pentru debit este necesar,
-Debit and Credit not equal for {0} #{1}. Difference is {2}.,Debit și credit nu este egal pentru {0} # {1}. Diferența este {2}.,
-Debtors,Debitori,
-Debtors ({0}),Debitorilor ({0}),
-Declare Lost,Declar pierdut,
-Deduction,Deducere,
-Default Activity Cost exists for Activity Type - {0},Există implicit Activitate Cost de activitate de tip - {0},
-Default BOM ({0}) must be active for this item or its template,Implicit BOM ({0}) trebuie să fie activ pentru acest element sau șablon de,
-Default BOM for {0} not found,BOM implicit pentru {0} nu a fost găsit,
-Default BOM not found for Item {0} and Project {1},Implicit BOM nu a fost găsit pentru articolele {0} și proiectul {1},
-Default Letter Head,Implicit Scrisoare Șef,
-Default Tax Template,Implicit Template fiscal,
-Default Unit of Measure for Item {0} cannot be changed directly because you have already made some transaction(s) with another UOM. You will need to create a new Item to use a different Default UOM.,"Unitatea de măsură implicită pentru postul {0} nu poate fi schimbat direct, deoarece aveti si voi deja unele tranzacții (i) cu un alt UOM. Veți avea nevoie pentru a crea un nou element pentru a utiliza un alt implicit UOM.",
-Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',Unitatea implicit de măsură pentru Variant &#39;{0} &quot;trebuie să fie la fel ca în Template&quot; {1} &quot;,
-Default settings for buying transactions.,Setări implicite pentru tranzacțiilor de achizitie.,
-Default settings for selling transactions.,Setări implicite pentru tranzacțiile de vânzare.,
-Default tax templates for sales and purchase are created.,Se creează șabloane fiscale predefinite pentru vânzări și achiziții.,
-Defaults,Implicite,
-Defense,Apărare,
-Define Project type.,Definiți tipul de proiect.,
-Define budget for a financial year.,Definiți bugetul pentru un exercițiu financiar.,
-Define various loan types,Definirea diferitelor tipuri de împrumut,
-Del,del,
-Delay in payment (Days),Întârziere de plată (zile),
-Delete all the Transactions for this Company,Ștergeți toate tranzacțiile de acest companie,
-Deletion is not permitted for country {0},Ștergerea nu este permisă pentru țara {0},
-Delivered,Livrat,
-Delivered Amount,Suma Pronunțată,
-Delivered Qty,Cantitate Livrata,
-Delivered: {0},Livrate: {0},
-Delivery,Livrare,
-Delivery Date,Data de Livrare,
-Delivery Note,Nota de Livrare,
-Delivery Note {0} is not submitted,Nota de Livrare {0} nu este introdusa,
-Delivery Note {0} must not be submitted,Nota de Livrare {0} nu trebuie sa fie introdusa,
-Delivery Notes {0} must be cancelled before cancelling this Sales Order,Nota de Livrare {0} trebuie sa fie anulată înainte de a anula aceasta Comandă de Vânzări,
-Delivery Notes {0} updated,Notele de livrare {0} sunt actualizate,
-Delivery Status,Starea de Livrare,
-Delivery Trip,Excursie la expediere,
-Delivery warehouse required for stock item {0},Depozit de livrare necesar pentru articol stoc {0},
-Department,Departament,
-Department Stores,Magazine Departament,
-Depreciation,Depreciere,
-Depreciation Amount,Sumă de amortizare,
-Depreciation Amount during the period,Suma de amortizare în timpul perioadei,
-Depreciation Date,Data de amortizare,
-Depreciation Eliminated due to disposal of assets,Amortizare Eliminată din cauza eliminării activelor,
-Depreciation Entry,amortizare intrare,
-Depreciation Method,Metoda de amortizare,
-Depreciation Row {0}: Depreciation Start Date is entered as past date,Rândul de amortizare {0}: Data de începere a amortizării este introdusă ca dată trecută,
-Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Rata de amortizare {0}: Valoarea estimată după viața utilă trebuie să fie mai mare sau egală cu {1},
-Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Rândul de amortizare {0}: Data următoarei amortizări nu poate fi înaintea datei disponibile pentru utilizare,
-Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Rata de amortizare {0}: Data următoare a amortizării nu poate fi înainte de data achiziției,
-Designer,proiectant,
-Detailed Reason,Motiv detaliat,
-Details,Detalii,
-Details of Outward Supplies and inward supplies liable to reverse charge,"Detalii despre consumabile externe și consumabile interioare, care pot fi percepute invers",
-Details of the operations carried out.,Detalii privind operațiunile efectuate.,
-Diagnosis,Diagnostic,
-Did not find any item called {0},Nu am gasit nici un element numit {0},
-Diff Qty,Cantitate diferențială,
-Difference Account,Diferența de Cont,
-"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Diferența cont trebuie să fie un cont de tip activ / pasiv, deoarece acest stoc Reconcilierea este un intrare de deschidere",
-Difference Amount,Diferență Sumă,
-Difference Amount must be zero,Diferența Suma trebuie să fie zero,
-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.,Un UOM diferit pentru articole va conduce la o valoare incorecta pentru Greutate Neta (Total). Asigurați-vă că Greutatea Netă a fiecărui articol este în același UOM.,
-Direct Expenses,Cheltuieli directe,
-Direct Income,Venituri Directe,
-Disable,Dezactivați,
-Disabled template must not be default template,șablon cu handicap nu trebuie să fie șablon implicit,
-Disburse Loan,Împrumut de debit,
-Disbursed,debursate,
-Disc,Disc,
-Discharge,descărcare,
-Discount,Reducere,
-Discount Percentage can be applied either against a Price List or for all Price List.,Procentul de reducere se poate aplica fie pe o listă de prețuri sau pentru toate lista de prețuri.,
-Discount must be less than 100,Reducerea trebuie să fie mai mică de 100,
-Diseases & Fertilizers,Boli și îngrășăminte,
-Dispatch,Expediere,
-Dispatch Notification,Notificare de expediere,
-Dispatch State,Statul de expediere,
-Distance,Distanţă,
-Distribution,distribuire,
-Distributor,Distribuitor,
-Dividends Paid,Dividendele plătite,
-Do you really want to restore this scrapped asset?,Sigur doriți să restabiliți acest activ casate?,
-Do you really want to scrap this asset?,Chiar vrei să resturi acest activ?,
-Do you want to notify all the customers by email?,Doriți să notificăți toți clienții prin e-mail?,
-Doc Date,Data Documentelor,
-Doc Name,Denumire Doc,
-Doc Type,Tip Doc,
-Docs Search,Căutare în Docs,
-Document Name,Document Nume,
-Document Status,Stare Document,
-Document Type,Tip Document,
-Domain,Domeniu,
-Domains,Domenii,
-Done,Făcut,
-Donor,Donator,
-Donor Type information.,Informații tip donator.,
-Donor information.,Informații despre donator.,
-Download JSON,Descărcați JSON,
-Draft,Proiect,
-Drop Ship,Drop navelor,
-Drug,Medicament,
-Due / Reference Date cannot be after {0},Datorită / Reference Data nu poate fi după {0},
-Due Date cannot be before Posting / Supplier Invoice Date,Data scadentă nu poate fi înainte de data de înregistrare / factură a furnizorului,
-Due Date is mandatory,Due Date este obligatorie,
-Duplicate Entry. Please check Authorization Rule {0},Inregistrare Duplicat. Vă rugăm să verificați Regula de Autorizare {0},
-Duplicate Serial No entered for Item {0},Nr. Serial introdus pentru articolul {0} este duplicat,
-Duplicate customer group found in the cutomer group table,grup de clienți dublu exemplar găsit în tabelul grupului cutomer,
-Duplicate entry,Inregistrare duplicat,
-Duplicate item group found in the item group table,Grup de element dublu exemplar găsit în tabelul de grup de elemente,
-Duplicate roll number for student {0},Numărul de rolă duplicat pentru student {0},
-Duplicate row {0} with same {1},Inregistrare {0} este duplicata cu aceeași {1},
-Duplicate {0} found in the table,Duplicat {0} găsit în tabel,
-Duration in Days,Durata în Zile,
-Duties and Taxes,Impozite și taxe,
-E-Invoicing Information Missing,Informații privind facturarea electronică lipsă,
-ERPNext Demo,ERPNext Demo,
-ERPNext Settings,Setări ERPNext,
-Earliest,cel mai devreme,
-Earnest Money,Banii cei mai castigati,
-Earning,Câștig Salarial,
-Edit,Editați | ×,
-Edit Publishing Details,Editați detaliile publicării,
-"Edit in full page for more options like assets, serial nos, batches etc.","Modificați pe pagina completă pentru mai multe opțiuni, cum ar fi active, numere de serie, loturi etc.",
-Education,Educaţie,
-Either location or employee must be required,Trebuie să fie necesară locația sau angajatul,
-Either target qty or target amount is mandatory,Cantitatea țintă sau valoarea țintă este obligatorie,
-Either target qty or target amount is mandatory.,Cantitatea țintă sau valoarea țintă este obligatorie.,
-Electrical,Electric,
-Electronic Equipments,Echipamente electronice,
-Electronics,Electronică,
-Eligible ITC,ITC eligibil,
-Email Account,Contul de e-mail,
-Email Address,Adresa de email,
-"Email Address must be unique, already exists for {0}","Adresa de e-mail trebuie să fie unic, există deja pentru {0}",
-Email Digest: ,Email Digest:,
-Email Reminders will be sent to all parties with email contacts,Mementourile de e-mail vor fi trimise tuturor părților cu contacte de e-mail,
-Email Sent,E-mail trimis,
-Email Template,Șablon de e-mail,
-Email not found in default contact,E-mailul nu a fost găsit în contactul implicit,
-Email sent to {0},E-mail trimis la {0},
-Employee,Angajat,
-Employee A/C Number,Numărul A / C al angajaților,
-Employee Advances,Avansuri ale angajaților,
-Employee Benefits,Beneficiile angajatului,
-Employee Grade,Clasa angajatilor,
-Employee ID,card de identitate al angajatului,
-Employee Lifecycle,Durata de viață a angajatului,
-Employee Name,Nume angajat,
-Employee Promotion cannot be submitted before Promotion Date ,Promovarea angajaților nu poate fi depusă înainte de data promoției,
-Employee Referral,Referirea angajaților,
-Employee Transfer cannot be submitted before Transfer Date ,Transferul angajaților nu poate fi depus înainte de data transferului,
-Employee cannot report to himself.,Angajat nu pot raporta la sine.,
-Employee relieved on {0} must be set as 'Left',Angajat eliberat din finctie pe {0} trebuie să fie setat ca 'Plecat',
-Employee {0} already submited an apllication {1} for the payroll period {2},Angajatul {0} a trimis deja o aplicație {1} pentru perioada de plată {2},
-Employee {0} has already applied for {1} between {2} and {3} : ,Angajatul {0} a solicitat deja {1} între {2} și {3}:,
-Employee {0} has no maximum benefit amount,Angajatul {0} nu are o valoare maximă a beneficiului,
-Employee {0} is not active or does not exist,Angajatul {0} nu este activ sau nu există,
-Employee {0} is on Leave on {1},Angajatul {0} este activat Lăsați pe {1},
-Employee {0} of grade {1} have no default leave policy,Angajații {0} ai clasei {1} nu au o politică de concediu implicită,
-Employee {0} on Half day on {1},Angajat {0} pe jumătate de zi pe {1},
-Enable,Activare,
-Enable / disable currencies.,Activare / dezactivare valute.,
-Enabled,Activat,
-"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Dacă activați opțiunea &quot;Utilizare pentru Cos de cumparaturi &#39;, ca Cosul de cumparaturi este activat și trebuie să existe cel puțin o regulă fiscală pentru Cos de cumparaturi",
-End Date,Dată finalizare,
-End Date can not be less than Start Date,Data de încheiere nu poate fi mai mică decât data de începere,
-End Date cannot be before Start Date.,Data de încheiere nu poate fi înainte de data de începere.,
-End Year,Anul de încheiere,
-End Year cannot be before Start Year,Sfârșitul anului nu poate fi înainte de Anul de început,
-End on,Terminați,
-End time cannot be before start time,Ora de încheiere nu poate fi înainte de ora de începere,
-Ends On date cannot be before Next Contact Date.,Sfârșitul de data nu poate fi înaintea datei următoarei persoane de contact.,
-Energy,Energie,
-Engineer,Inginer,
-Enough Parts to Build,Piese de schimb suficient pentru a construi,
-Enroll,A se inscrie,
-Enrolling student,student inregistrat,
-Enrolling students,Înscrierea studenților,
-Enter depreciation details,Introduceți detaliile de depreciere,
-Enter the Bank Guarantee Number before submittting.,Introduceți numărul de garanție bancară înainte de depunere.,
-Enter the name of the Beneficiary before submittting.,Introduceți numele Beneficiarului înainte de depunerea.,
-Enter the name of the bank or lending institution before submittting.,Introduceți numele băncii sau al instituției de credit înainte de depunere.,
-Enter value betweeen {0} and {1},Introduceți valoarea dintre {0} și {1},
-Entertainment & Leisure,Divertisment & Relaxare,
-Entertainment Expenses,Cheltuieli de Divertisment,
-Equity,echitate,
-Error Log,eroare Log,
-Error evaluating the criteria formula,Eroare la evaluarea formulei de criterii,
-Error in formula or condition: {0},Eroare în formulă sau o condiție: {0},
-Error: Not a valid id?,Eroare: Nu a id valid?,
-Estimated Cost,Cost estimat,
-Evaluation,Evaluare,
-"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Chiar dacă există mai multe reguli de stabilire a prețurilor, cu cea mai mare prioritate, se aplică apoi următoarele priorități interne:",
-Event,Eveniment,
-Event Location,Locația evenimentului,
-Event Name,Numele evenimentului,
-Exchange Gain/Loss,Cheltuiala / Venit din diferente de curs valutar,
-Exchange Rate Revaluation master.,Master reevaluarea cursului de schimb.,
-Exchange Rate must be same as {0} {1} ({2}),Cursul de schimb trebuie să fie același ca și {0} {1} ({2}),
-Excise Invoice,Factura acciza,
-Execution,Execuţie,
-Executive Search,Cautare executiva,
-Expand All,Extinde toate,
-Expected Delivery Date,Data de Livrare Preconizata,
-Expected Delivery Date should be after Sales Order Date,Data de livrare preconizată trebuie să fie după data de comandă de vânzare,
-Expected End Date,Data de Incheiere Preconizata,
-Expected Hrs,Se așteptau ore,
-Expected Start Date,Data de Incepere Preconizata,
-Expense,cheltuială,
-Expense / Difference account ({0}) must be a 'Profit or Loss' account,"Cheltuială cont / Diferența ({0}) trebuie să fie un cont de ""profit sau pierdere""",
-Expense Account,Cont de cheltuieli,
-Expense Claim,Solicitare Cheltuială,
-Expense Claim for Vehicle Log {0},Solicitare Cheltuială pentru Log Vehicul {0},
-Expense Claim {0} already exists for the Vehicle Log,Solicitare Cheltuială {0} există deja pentru Log Vehicul,
-Expense Claims,Creanțe cheltuieli,
-Expense account is mandatory for item {0},Cont de cheltuieli este obligatoriu pentru articolul {0},
-Expenses,cheltuieli,
-Expenses Included In Asset Valuation,Cheltuieli incluse în evaluarea activelor,
-Expenses Included In Valuation,Cheltuieli incluse în evaluare,
-Expired Batches,Loturile expirate,
-Expires On,Expira la,
-Expiring On,Expirând On,
-Expiry (In Days),Expirării (în zile),
-Explore,Explorați,
-Export E-Invoices,Export facturi electronice,
-Extra Large,Extra mare,
-Extra Small,Extra Small,
-Fail,eșua,
-Failed,A eșuat,
-Failed to create website,Eroare la crearea site-ului,
-Failed to install presets,Eroare la instalarea presetărilor,
-Failed to login,Eroare la autentificare,
-Failed to setup company,Setarea companiei nu a reușit,
-Failed to setup defaults,Setările prestabilite nu au reușit,
-Failed to setup post company fixtures,Nu sa reușit configurarea posturilor companiei,
-Fax,Fax,
-Fee,taxă,
-Fee Created,Taxa a fost creată,
-Fee Creation Failed,Crearea de comisioane a eșuat,
-Fee Creation Pending,Crearea taxelor în așteptare,
-Fee Records Created - {0},Taxa de inregistrare Creat - {0},
-Feedback,Reactie,
-Fees,Taxele de,
-Female,Feminin,
-Fetch Data,Fetch Data,
-Fetch Subscription Updates,Actualizați abonamentul la preluare,
-Fetch exploded BOM (including sub-assemblies),Obtine FDM expandat (inclusiv subansamblurile),
-Fetching records......,Recuperarea înregistrărilor ......,
-Field Name,Nume câmp,
-Fieldname,Nume câmp,
-Fields,Câmpuri,
-Fill the form and save it,Completați formularul și salvați-l,
-Filter Employees By (Optional),Filtrați angajații după (opțional),
-"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Rândul câmpurilor de filtrare # {0}: Numele de câmp <b>{1}</b> trebuie să fie de tipul &quot;Link&quot; sau &quot;MultiSelect de tabel&quot;,
-Filter Total Zero Qty,Filtrați numărul total zero,
-Finance Book,Cartea de finanțe,
-Financial / accounting year.,An financiar / contabil.,
-Financial Services,Servicii financiare,
-Financial Statements,Situațiile financiare,
-Financial Year,An financiar,
-Finish,finalizarea,
-Finished Good,Terminat bine,
-Finished Good Item Code,Cod articol bun finalizat,
-Finished Goods,Produse finite,
-Finished Item {0} must be entered for Manufacture type entry,Postul terminat {0} trebuie să fie introdusă de intrare de tip fabricarea,
-Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,Produsul finit <b>{0}</b> și Cantitatea <b>{1}</b> nu pot fi diferite,
-First Name,Prenume,
-"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","Regimul fiscal este obligatoriu, vă rugăm să setați regimul fiscal în companie {0}",
-Fiscal Year,An fiscal,
-Fiscal Year End Date should be one year after Fiscal Year Start Date,Data de încheiere a anului fiscal trebuie să fie un an de la data începerii anului fiscal,
-Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Data începerii anului fiscal și se termină anul fiscal la data sunt deja stabilite în anul fiscal {0},
-Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,Data de începere a anului fiscal ar trebui să fie cu un an mai devreme decât data de încheiere a anului fiscal,
-Fiscal Year {0} does not exist,Anul fiscal {0} nu există,
-Fiscal Year {0} is required,Anul fiscal {0} este necesară,
-Fiscal Year {0} not found,Anul fiscal {0} nu a fost găsit,
-Fixed Asset,Activ Fix,
-Fixed Asset Item must be a non-stock item.,Fix elementul de activ trebuie să fie un element de bază non-stoc.,
-Fixed Assets,Active Fixe,
-Following Material Requests have been raised automatically based on Item's re-order level,Ca urmare a solicitărilor de materiale au fost ridicate în mod automat în funcție de nivelul de re-comanda item,
-Following accounts might be selected in GST Settings:,Următoarele conturi ar putea fi selectate în Setări GST:,
-Following course schedules were created,Următoarele programe au fost create,
-Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,Următorul articol {0} nu este marcat ca {1} element. Puteți să le activați ca element {1} din capitolul Articol,
-Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,Următoarele elemente {0} nu sunt marcate ca {1} element. Puteți să le activați ca element {1} din capitolul Articol,
-Food,Produse Alimentare,
-"Food, Beverage & Tobacco","Produse Alimentare, Bauturi si Tutun",
-For,Pentru,
-"For 'Product Bundle' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Product Bundle' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table.","Pentru elementele &quot;produse Bundle&quot;, Warehouse, Serial No și lot nr vor fi luate în considerare de la &quot;ambalare List&quot; masa. Dacă Warehouse și Lot nr sunt aceleași pentru toate elementele de ambalaj pentru produs orice &quot;Bundle produs&quot;, aceste valori pot fi introduse în tabelul de punctul principal, valorile vor fi copiate &quot;de ambalare Lista&quot; masă.",
-For Employee,Pentru angajat,
-For Quantity (Manufactured Qty) is mandatory,Pentru Cantitate (fabricat Cant) este obligatorie,
-For Supplier,Pentru Furnizor,
-For Warehouse,Pentru depozit,
-For Warehouse is required before Submit,Pentru Depozit este necesar înainte de Inregistrare,
-"For an item {0}, quantity must be negative number","Pentru un element {0}, cantitatea trebuie să fie număr negativ",
-"For an item {0}, quantity must be positive number","Pentru un element {0}, cantitatea trebuie să fie un număr pozitiv",
-"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry","Pentru cartea de muncă {0}, puteți înscrie doar stocul de tip „Transfer de material pentru fabricare”",
-"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Pentru rândul {0} în {1}. Pentru a include {2} ratei punctul, randuri {3} De asemenea, trebuie să fie incluse",
-For row {0}: Enter Planned Qty,Pentru rândul {0}: Introduceți cantitatea planificată,
-"For {0}, only credit accounts can be linked against another debit entry","Pentru {0}, numai conturi de credit poate fi legat de o altă intrare în debit",
-"For {0}, only debit accounts can be linked against another credit entry","Pentru {0}, numai conturi de debit poate fi legat de o altă intrare în credit",
-Forum Activity,Activitatea Forumului,
-Free item code is not selected,Codul gratuit al articolului nu este selectat,
-Freight and Forwarding Charges,Incarcatura și Taxe de Expediere,
-Frequency,Frecvență,
-Friday,Vineri,
-From,De la,
-From Address 1,De la adresa 1,
-From Address 2,Din adresa 2,
-From Currency and To Currency cannot be same,Din Valuta și In Valuta nu pot fi identice,
-From Date and To Date lie in different Fiscal Year,De la data și până la data se află în anul fiscal diferit,
-From Date cannot be greater than To Date,De la data nu poate fi mai mare decât la data,
-From Date must be before To Date,Din Data trebuie să fie anterioara Pana la Data,
-From Date should be within the Fiscal Year. Assuming From Date = {0},De la data trebuie să fie în anul fiscal. Presupunând că la data = {0},
-From Date {0} cannot be after employee's relieving Date {1},De la data {0} nu poate fi după data eliberării angajatului {1},
-From Date {0} cannot be before employee's joining Date {1},De la data {0} nu poate fi înainte de data de îmbarcare a angajatului {1},
-From Datetime,De la Datetime,
-From Delivery Note,Din Nota de livrare,
-From Fiscal Year,Din anul fiscal,
-From GSTIN,De la GSTIN,
-From Party Name,De la numele partidului,
-From Pin Code,Din codul PIN,
-From Place,De la loc,
-From Range has to be less than To Range,Din Gama trebuie să fie mai mică de la gama,
-From State,Din stat,
-From Time,Din Time,
-From Time Should Be Less Than To Time,Din timp ar trebui să fie mai puțin decât timpul,
-From Time cannot be greater than To Time.,Din Timpul nu poate fi mai mare decât în timp.,
-"From a supplier under composition scheme, Exempt and Nil rated","De la un furnizor în regim de compoziție, Exempt și Nil au evaluat",
-From and To dates required,Datele De La și Pana La necesare,
-From date can not be less than employee's joining date,De la data nu poate fi mai mică decât data angajării angajatului,
-From value must be less than to value in row {0},Din valoare trebuie să fie mai mică decat in valoare pentru inregistrarea {0},
-From {0} | {1} {2},De la {0} | {1} {2},
-Fuel Price,Preț de combustibil,
-Fuel Qty,combustibil Cantitate,
-Fulfillment,Împlinire,
-Full,Deplin,
-Full Name,Nume complet,
-Full-time,Permanent,
-Fully Depreciated,Depreciata pe deplin,
-Furnitures and Fixtures,Furnitures și Programe,
-"Further accounts can be made under Groups, but entries can be made against non-Groups","Conturile suplimentare pot fi făcute sub Groups, dar intrările pot fi făcute împotriva non-Grupuri",
-Further cost centers can be made under Groups but entries can be made against non-Groups,"Centre de costuri pot fi realizate în grupuri, dar intrările pot fi făcute împotriva non-Grupuri",
-Further nodes can be only created under 'Group' type nodes,Noduri suplimentare pot fi create numai în noduri de tip 'Grup',
-Future dates not allowed,Datele viitoare nu sunt permise,
-GSTIN,GSTIN,
-GSTR3B-Form,GSTR3B-Form,
-Gain/Loss on Asset Disposal,Câștigul / Pierdere de eliminare a activelor,
-Gantt Chart,Diagrama Gantt,
-Gantt chart of all tasks.,Diagrama Gantt a tuturor sarcinilor.,
-Gender,Sex,
-General,General,
-General Ledger,Registru Contabil General,
-Generate Material Requests (MRP) and Work Orders.,Generează cereri de material (MRP) și comenzi de lucru.,
-Generate Secret,Generați secret,
-Get Details From Declaration,Obțineți detalii din declarație,
-Get Employees,Obțineți angajați,
-Get Invocies,Obțineți invocări,
-Get Invoices,Obțineți facturi,
-Get Invoices based on Filters,Obțineți facturi bazate pe filtre,
-Get Items from BOM,Obține articole din FDM,
-Get Items from Healthcare Services,Obțineți articole din serviciile de asistență medicală,
-Get Items from Prescriptions,Obțineți articole din prescripții,
-Get Items from Product Bundle,Obține elemente din Bundle produse,
-Get Suppliers,Obțineți furnizori,
-Get Suppliers By,Obțineți furnizori prin,
-Get Updates,Obțineți actualizări,
-Get customers from,Obțineți clienți de la,
-Get from Patient Encounter,Ia de la întâlnirea cu pacienții,
-Getting Started,Noțiuni de bază,
-GitHub Sync ID,ID-ul de sincronizare GitHub,
-Global settings for all manufacturing processes.,Setările globale pentru toate procesele de producție.,
-Go to the Desktop and start using ERPNext,Du-te la desktop și începe să utilizați ERPNext,
-GoCardless SEPA Mandate,GoCardless Mandatul SEPA,
-GoCardless payment gateway settings,Setările gateway-ului de plată GoCardless,
-Goal and Procedure,Obiectivul și procedura,
-Goals cannot be empty,Obiectivele nu poate fi gol,
-Goods In Transit,Bunuri în tranzit,
-Goods Transferred,Mărfuri transferate,
-Goods and Services Tax (GST India),Mărfuri și servicii fiscale (GST India),
-Goods are already received against the outward entry {0},Mărfurile sunt deja primite cu intrarea exterioară {0},
-Government,Guvern,
-Grand Total,Total general,
-Grant,Acorda,
-Grant Application,Cerere de finanțare nerambursabilă,
-Grant Leaves,Grant Frunze,
-Grant information.,Acordați informații.,
-Grocery,Băcănie,
-Gross Pay,Plata Bruta,
-Gross Profit,Profit brut,
-Gross Profit %,Profit Brut%,
-Gross Profit / Loss,Profit brut / Pierdere,
-Gross Purchase Amount,Sumă brută Cumpărare,
-Gross Purchase Amount is mandatory,Valoarea brută Achiziția este obligatorie,
-Group by Account,Grup in functie de Cont,
-Group by Party,Grup după partid,
-Group by Voucher,Grup in functie de Voucher,
-Group by Voucher (Consolidated),Grup după Voucher (Consolidat),
-Group node warehouse is not allowed to select for transactions,depozit nod grup nu este permis să selecteze pentru tranzacții,
-Group to Non-Group,Grup non-grup,
-Group your students in batches,Grupa elevii în loturi,
-Groups,Grupuri,
-Guardian1 Email ID,Codul de e-mail al Guardian1,
-Guardian1 Mobile No,Guardian1 mobil nr,
-Guardian1 Name,Nume Guardian1,
-Guardian2 Email ID,Codul de e-mail Guardian2,
-Guardian2 Mobile No,Guardian2 mobil nr,
-Guardian2 Name,Nume Guardian2,
-Guest,Oaspete,
-HR Manager,Manager Resurse Umane,
-HSN,HSN,
-HSN/SAC,HSN / SAC,
-Half Day,Jumătate de zi,
-Half Day Date is mandatory,Data semestrului este obligatorie,
-Half Day Date should be between From Date and To Date,Jumătate Data zi ar trebui să fie între De la data si pana in prezent,
-Half Day Date should be in between Work From Date and Work End Date,Data de la jumătate de zi ar trebui să se afle între Data de lucru și Data de terminare a lucrului,
-Half Yearly,Semestrial,
-Half day date should be in between from date and to date,Data de la jumătate de zi ar trebui să fie între data și data,
-Half-Yearly,Semestrial,
-Hardware,Hardware,
-Head of Marketing and Sales,Director de Marketing și Vânzări,
-Health Care,Servicii de Sanatate,
-Healthcare,Sănătate,
-Healthcare (beta),Servicii medicale (beta),
-Healthcare Practitioner,Medicul de îngrijire medicală,
-Healthcare Practitioner not available on {0},Medicul de îngrijire medicală nu este disponibil la {0},
-Healthcare Practitioner {0} not available on {1},Medicul de îngrijire medicală {0} nu este disponibil la {1},
-Healthcare Service Unit,Serviciul de asistență medicală,
-Healthcare Service Unit Tree,Unitatea de servicii de asistență medicală,
-Healthcare Service Unit Type,Tipul unității de servicii medicale,
-Healthcare Services,Servicii pentru sanatate,
-Healthcare Settings,Setări de asistență medicală,
-Hello,buna,
-Help Results for,Rezultate de ajutor pentru,
-High,Ridicat,
-High Sensitivity,Sensibilitate crescută,
-Hold,Păstrarea / Ţinerea / Deţinerea,
-Hold Invoice,Rețineți factura,
-Holiday,Vacanţă,
-Holiday List,Lista de vacanță,
-Hotel Rooms of type {0} are unavailable on {1},Camerele Hotel de tip {0} nu sunt disponibile în {1},
-Hotels,Hoteluri,
-Hourly,ore,
-Hours,ore,
-House rent paid days overlapping with {0},Chirie de casă zile plătite care se suprapun cu {0},
-House rented dates required for exemption calculation,Datele de închiriat pentru casa cerute pentru calcularea scutirii,
-House rented dates should be atleast 15 days apart,Căminul de închiriat al casei trebuie să fie la cel puțin 15 zile,
-How Pricing Rule is applied?,Cum se aplică regula pret?,
-Hub Category,Categorie Hub,
-Hub Sync ID,Hub ID de sincronizare,
-Human Resource,Resurse umane,
-Human Resources,Resurse umane,
-IFSC Code,Codul IFSC,
-IGST Amount,Suma IGST,
-IP Address,Adresa IP,
-ITC Available (whether in full op part),ITC Disponibil (fie în opțiune integrală),
-ITC Reversed,ITC inversat,
-Identifying Decision Makers,Identificarea factorilor de decizie,
-"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Dacă este bifată opțiunea Auto Opt In, clienții vor fi conectați automat la programul de loialitate respectiv (la salvare)",
-"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","În cazul în care mai multe reguli de stabilire a prețurilor continuă să prevaleze, utilizatorii sunt rugați să setați manual prioritate pentru a rezolva conflictul.",
-"If selected Pricing Rule is made for 'Rate', it will overwrite Price List. Pricing Rule rate is the final rate, so no further discount should be applied. Hence, in transactions like Sales Order, Purchase Order etc, it will be fetched in 'Rate' field, rather than 'Price List Rate' field.","Dacă regula de preț este selectată pentru &quot;Rate&quot;, va suprascrie lista de prețuri. Tarifarea tarifului Rata de rată este rata finală, deci nu trebuie să aplicați nici o reducere suplimentară. Prin urmare, în tranzacții cum ar fi Comandă de Vânzare, Comandă de Achiziție etc, va fi extrasă în câmpul &quot;Rată&quot;, mai degrabă decât în câmpul &quot;Rata Prețurilor&quot;.",
-"If two or more Pricing Rules are found based on the above conditions, Priority is applied. Priority is a number between 0 to 20 while default value is zero (blank). Higher number means it will take precedence if there are multiple Pricing Rules with same conditions.","În cazul în care două sau mai multe reguli de stabilire a prețurilor sunt găsite bazează pe condițiile de mai sus, se aplică prioritate. Prioritatea este un număr între 0 și 20 în timp ce valoarea implicită este zero (gol). Numărul mai mare înseamnă că va avea prioritate în cazul în care există mai multe norme de stabilire a prețurilor, cu aceleași condiții.",
-"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.","Dacă expiră nelimitat pentru Punctele de loialitate, păstrați Durata de expirare goală sau 0.",
-"If you have any questions, please get back to us.","Dacă aveți întrebări, vă rugăm să ne întoarcem la noi.",
-Ignore Existing Ordered Qty,Ignorați cantitatea comandată existentă,
-Image,Imagine,
-Image View,Imagine Vizualizare,
-Import Data,Importați date,
-Import Day Book Data,Importați datele cărții de zi,
-Import Log,Import Conectare,
-Import Master Data,Importați datele de bază,
-Import in Bulk,Importare în masă,
-Import of goods,Importul de bunuri,
-Import of services,Importul serviciilor,
-Importing Items and UOMs,Importarea de articole și UOM-uri,
-Importing Parties and Addresses,Importarea părților și adreselor,
-In Maintenance,În Mentenanță,
-In Production,In productie,
-In Qty,În Cantitate,
-In Stock Qty,În stoc Cantitate,
-In Stock: ,In stoc:,
-In Value,În valoare,
-"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","În cazul unui program cu mai multe niveluri, Clienții vor fi automat alocați nivelului respectiv în funcție de cheltuielile efectuate",
-Inactive,Inactiv,
-Incentives,stimulente,
-Include Default Book Entries,Includeți intrări implicite în cărți,
-Include Exploded Items,Includeți articole explodate,
-Include POS Transactions,Includeți tranzacțiile POS,
-Include UOM,Includeți UOM,
-Included in Gross Profit,Inclus în Profitul brut,
-Income,Venit,
-Income Account,Contul de venit,
-Income Tax,Impozit pe venit,
-Incoming,Primite,
-Incoming Rate,Rate de intrare,
-Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Număr incorect de contabilitate intrările găsit. Este posibil să fi selectat un cont greșit în tranzacție.,
-Increment cannot be 0,Creștere nu poate fi 0,
-Increment for Attribute {0} cannot be 0,Creștere pentru Atribut {0} nu poate fi 0,
-Indirect Expenses,Cheltuieli indirecte,
-Indirect Income,Venituri indirecte,
-Individual,Individual,
-Ineligible ITC,ITC neeligibil,
-Initiated,Iniţiat,
-Inpatient Record,Înregistrări de pacienți,
-Insert,Introduceți,
-Installation Note,Instalare Notă,
-Installation Note {0} has already been submitted,Instalarea Nota {0} a fost deja prezentat,
-Installation date cannot be before delivery date for Item {0},Data de instalare nu poate fi înainte de data de livrare pentru postul {0},
-Installing presets,Instalarea presetărilor,
-Institute Abbreviation,Institutul Abreviere,
-Institute Name,Numele Institutului,
-Instructor,Instructor,
-Insufficient Stock,Stoc insuficient,
-Insurance Start date should be less than Insurance End date,Asigurare Data de pornire ar trebui să fie mai mică de asigurare Data terminării,
-Integrated Tax,Impozit integrat,
-Inter-State Supplies,Consumabile inter-statale,
-Interest Amount,Suma Dobânda,
-Interests,interese,
-Intern,interna,
-Internet Publishing,Editura Internet,
-Intra-State Supplies,Furnizori intra-statale,
-Introduction,Introducere,
-Invalid Attribute,Atribut nevalid,
-Invalid Blanket Order for the selected Customer and Item,Comanda nevalabilă pentru client și element selectat,
-Invalid Company for Inter Company Transaction.,Companie nevalidă pentru tranzacția inter companie.,
-Invalid GSTIN! A GSTIN must have 15 characters.,GSTIN nevalid! Un GSTIN trebuie să aibă 15 caractere.,
-Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,GSTIN nevalid! Primele 2 cifre ale GSTIN ar trebui să se potrivească cu numărul de stat {0}.,
-Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,GSTIN nevalid! Intrarea introdusă nu corespunde formatului GSTIN.,
-Invalid Posting Time,Ora nevalidă a postării,
-Invalid attribute {0} {1},atribut nevalid {0} {1},
-Invalid quantity specified for item {0}. Quantity should be greater than 0.,Cantitate nevalidă specificată pentru element {0}. Cantitatea ar trebui să fie mai mare decât 0.,
-Invalid reference {0} {1},Referință invalid {0} {1},
-Invalid {0},Invalid {0},
-Invalid {0} for Inter Company Transaction.,Nevalabil {0} pentru tranzacția între companii.,
-Invalid {0}: {1},Invalid {0}: {1},
-Inventory,Inventarierea,
-Investment Banking,Investment Banking,
-Investments,investiţii,
-Invoice,Factură,
-Invoice Created,Factura creată,
-Invoice Discounting,Reducerea facturilor,
-Invoice Patient Registration,Inregistrarea pacientului,
-Invoice Posting Date,Data Postare factură,
-Invoice Type,Tip Factura,
-Invoice already created for all billing hours,Factura deja creată pentru toate orele de facturare,
-Invoice can't be made for zero billing hour,Factura nu poate fi făcută pentru cantitate 0 ore facturabile,
-Invoice {0} no longer exists,Factura {0} nu mai există,
-Invoiced,facturată,
-Invoiced Amount,Sumă facturată,
-Invoices,Facturi,
-Invoices for Costumers.,Facturi pentru clienți.,
-Inward supplies from ISD,Consumabile interioare de la ISD,
-Inward supplies liable to reverse charge (other than 1 & 2 above),Livrări interne susceptibile de încărcare inversă (altele decât 1 și 2 de mai sus),
-Is Active,Este activ,
-Is Default,Este Implicit,
-Is Existing Asset,Este activ existent,
-Is Frozen,Este inghetat,
-Is Group,Is Group,
-Issue,Problema,
-Issue Material,Eliberarea Material,
-Issued,Emis,
-Issues,Probleme,
-It is needed to fetch Item Details.,Este nevoie să-i aducă Detalii despre articol.,
-Item,Obiect,
-Item 1,Postul 1,
-Item 2,Punctul 2,
-Item 3,Punctul 3,
-Item 4,Punctul 4,
-Item 5,Punctul 5,
-Item Cart,Cos,
-Item Code,Cod articol,
-Item Code cannot be changed for Serial No.,Cod articol nu pot fi schimbate pentru Serial No.,
-Item Code required at Row No {0},Cod Articol necesar la inregistrarea Nr. {0},
-Item Description,Descriere Articol,
-Item Group,Grup Articol,
-Item Group Tree,Ramificatie Grup Articole,
-Item Group not mentioned in item master for item {0},Grupa de articole care nu sunt menționate la punctul de master pentru element {0},
-Item Name,Numele articolului,
-Item Price added for {0} in Price List {1},Articol Preț adăugată pentru {0} în lista de prețuri {1},
-"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Elementul Preț apare de mai multe ori pe baza listei de prețuri, furnizor / client, valută, element, UOM, cantitate și date.",
-Item Price updated for {0} in Price List {1},Articol Preț actualizat pentru {0} în lista de prețuri {1},
-Item Row {0}: {1} {2} does not exist in above '{1}' table,Rândul {0}: {1} {2} nu există în tabelul de mai sus {1},
-Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Taxa Articol pentru inregistrarea {0} trebuie sa detina un cont de tip Fiscal sau De Venituri sau De Cheltuieli sau Taxabil,
-Item Template,Șablon de șablon,
-Item Variant Settings,Setări pentru variantele de articol,
-Item Variant {0} already exists with same attributes,Postul Varianta {0} există deja cu aceleași atribute,
-Item Variants,Variante Postul,
-Item Variants updated,Variante de articol actualizate,
-Item has variants.,Element are variante.,
-Item must be added using 'Get Items from Purchase Receipts' button,"Postul trebuie să fie adăugate folosind ""obține elemente din Cumpără Încasări"" buton",
-Item valuation rate is recalculated considering landed cost voucher amount,Rata de evaluare Articolul este recalculat în vedere aterizat sumă voucher de cost,
-Item variant {0} exists with same attributes,Postul varianta {0} există cu aceleași atribute,
-Item {0} does not exist,Articolul {0} nu există,
-Item {0} does not exist in the system or has expired,Articolul {0} nu există în sistem sau a expirat,
-Item {0} has already been returned,Articolul {0} a fost deja returnat,
-Item {0} has been disabled,Postul {0} a fost dezactivat,
-Item {0} has reached its end of life on {1},Articolul {0} a ajuns la sfârșitul cliclului sau de viață in {1},
-Item {0} ignored since it is not a stock item,"Element {0} ignorat, deoarece nu este un element de stoc",
-"Item {0} is a template, please select one of its variants","Postul {0} este un șablon, vă rugăm să selectați unul dintre variantele sale",
-Item {0} is cancelled,Articolul {0} este anulat,
-Item {0} is disabled,Postul {0} este dezactivat,
-Item {0} is not a serialized Item,Articolul {0} nu este un articol serializat,
-Item {0} is not a stock Item,Articolul{0} nu este un element de stoc,
-Item {0} is not active or end of life has been reached,Articolul {0} nu este activ sau sfarsitul ciclului sau de viata a fost atins,
-Item {0} is not setup for Serial Nos. Check Item master,Articolul {0} nu este configurat pentru Numerotare Seriala. Verificati Articolul Principal.,
-Item {0} is not setup for Serial Nos. Column must be blank,Articolul {0} nu este configurat pentru Numerotare Seriala. Coloana trebuie să fie vida,
-Item {0} must be a Fixed Asset Item,Postul {0} trebuie să fie un element activ fix,
-Item {0} must be a Sub-contracted Item,Articolul {0} trebuie să fie un Articol Sub-contractat,
-Item {0} must be a non-stock item,Postul {0} trebuie să fie un element de bază non-stoc,
-Item {0} must be a stock Item,Articolul {0} trebuie să fie un Articol de Stoc,
-Item {0} not found,Articolul {0} nu a fost găsit,
-Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Postul {0} nu a fost găsit în &quot;Materii prime furnizate&quot; masă în Comandă {1},
-Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Postul {0}: Cantitate comandat {1} nu poate fi mai mică de cantitate minimă de comandă {2} (definită la punctul).,
-Item: {0} does not exist in the system,Postul: {0} nu există în sistemul,
-Items,Articole,
-Items Filter,Filtrarea elementelor,
-Items and Pricing,Articole și Prețuri,
-Items for Raw Material Request,Articole pentru cererea de materii prime,
-Job Card,Carte de muncă,
-Job Description,Descrierea postului,
-Job Offer,Ofertă de muncă,
-Job card {0} created,Cartea de activitate {0} a fost creată,
-Jobs,Posturi,
-Join,A adera,
-Journal Entries {0} are un-linked,Intrările Jurnal {0} sunt ne-legate,
-Journal Entry,Intrare în jurnal,
-Journal Entry {0} does not have account {1} or already matched against other voucher,Jurnal de intrare {0} nu are cont {1} sau deja comparate cu alte voucher,
-Kanban Board,Consiliul de Kanban,
-Key Reports,Rapoarte cheie,
-LMS Activity,Activitate LMS,
-Lab Test,Test de laborator,
-Lab Test Report,Raport de testare în laborator,
-Lab Test Sample,Test de laborator,
-Lab Test Template,Lab Test Template,
-Lab Test UOM,Laboratorul de testare UOM,
-Lab Tests and Vital Signs,Teste de laborator și semne vitale,
-Lab result datetime cannot be before testing datetime,Rezultatul datetimei de laborator nu poate fi înainte de data testării,
-Lab testing datetime cannot be before collection datetime,Timpul de testare al laboratorului nu poate fi înainte de data de colectare,
-Label,Eticheta,
-Laboratory,Laborator,
-Language Name,Nume limbă,
-Large,Mare,
-Last Communication,Ultima comunicare,
-Last Communication Date,Ultima comunicare,
-Last Name,Nume,
-Last Order Amount,Ultima cantitate,
-Last Order Date,Ultima comandă Data,
-Last Purchase Price,Ultima valoare de cumpărare,
-Last Purchase Rate,Ultima Rate de Cumparare,
-Latest,Ultimul,
-Latest price updated in all BOMs,Ultimul preț actualizat în toate BOM-urile,
-Lead,Pistă,
-Lead Count,Număr Pistă,
-Lead Owner,Proprietar Pistă,
-Lead Owner cannot be same as the Lead,Plumb Proprietarul nu poate fi aceeași ca de plumb,
-Lead Time Days,Timpul in Zile Conducere,
-Lead to Quotation,Pistă către Ofertă,
-"Leads help you get business, add all your contacts and more as your leads","Oportunitati de afaceri ajuta să obțineți, adăugați toate contactele și mai mult ca dvs. conduce",
-Learn,Învăța,
-Leave Approval Notification,Lăsați notificarea de aprobare,
-Leave Blocked,Concediu Blocat,
-Leave Encashment,Lasă încasări,
-Leave Management,Lasă managementul,
-Leave Status Notification,Lăsați notificarea de stare,
-Leave Type,Tip Concediu,
-Leave Type is madatory,Tipul de plecare este madatoriu,
-Leave Type {0} cannot be allocated since it is leave without pay,"Lasă un {0} Tipul nu poate fi alocată, deoarece este în concediu fără plată",
-Leave Type {0} cannot be carry-forwarded,Lasă Tipul {0} nu poate fi transporta-transmise,
-Leave Type {0} is not encashable,Tipul de plecare {0} nu este încasat,
-Leave Without Pay,Concediu Fără Plată,
-Leave and Attendance,Plece și prezență,
-Leave application {0} already exists against the student {1},Lăsați aplicația {0} să existe deja împotriva elevului {1},
-"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Concediu nu poate fi repartizat înainte {0}, ca echilibru concediu a fost deja carry transmise în viitor înregistrarea alocare concediu {1}",
-"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Lasă nu poate fi aplicat / anulata pana la {0}, ca echilibru concediu a fost deja carry transmise în viitor înregistrarea alocare concediu {1}",
-Leave of type {0} cannot be longer than {1},Concediul de tip {0} nu poate dura mai mare de {1},
-Leaves,Frunze,
-Leaves Allocated Successfully for {0},Concedii alocate cu succes pentru {0},
-Leaves has been granted sucessfully,Frunzele au fost acordate cu succes,
-Leaves must be allocated in multiples of 0.5,"Concediile trebuie să fie alocate în multipli de 0.5""",
-Leaves per Year,Frunze pe an,
-Ledger,Registru Contabil,
-Legal,Juridic,
-Legal Expenses,Cheltuieli Juridice,
-Letter Head,Antet Scrisoare,
-Letter Heads for print templates.,Antete de Scrisoare de Sabloane de Imprimare.,
-Level,Nivel,
-Liability,Răspundere,
-License,Licență,
-Lifecycle,Ciclu de viață,
-Limit,Limită,
-Limit Crossed,limita Traversat,
-Link to Material Request,Link la solicitarea materialului,
-List of all share transactions,Lista tuturor tranzacțiilor cu acțiuni,
-List of available Shareholders with folio numbers,Lista Acționarilor disponibili cu numere folio,
-Loading Payment System,Încărcarea sistemului de plată,
-Loan,Împrumut,
-Loan Amount cannot exceed Maximum Loan Amount of {0},Suma creditului nu poate depăși valoarea maximă a împrumutului de {0},
-Loan Application,Cerere de împrumut,
-Loan Management,Managementul împrumuturilor,
-Loan Repayment,Rambursare a creditului,
-Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,Data de început a împrumutului și perioada de împrumut sunt obligatorii pentru a salva reducerea facturilor,
-Loans (Liabilities),Imprumuturi (Raspunderi),
-Loans and Advances (Assets),Împrumuturi și avansuri (active),
-Local,Local,
-Log,Buturuga,
-Logs for maintaining sms delivery status,Busteni pentru menținerea statutului de livrare sms,
-Lost,Pierdut,
-Lost Reasons,Motivele pierdute,
-Low,Scăzut,
-Low Sensitivity,Sensibilitate scăzută,
-Lower Income,Micsoreaza Venit,
-Loyalty Amount,Suma de loialitate,
-Loyalty Point Entry,Punct de loialitate,
-Loyalty Points,Puncte de loialitate,
-"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Punctele de loialitate vor fi calculate din suma cheltuită (prin factura de vânzare), pe baza factorului de colectare menționat.",
-Loyalty Points: {0},Puncte de fidelitate: {0},
-Loyalty Program,Program de fidelizare,
-Main,Principal,
-Maintenance,Mentenanţă,
-Maintenance Log,Jurnal Mentenanță,
-Maintenance Manager,Manager Mentenanță,
-Maintenance Schedule,Program Mentenanță,
-Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Programul de Mentenanta nu este generat pentru toate articolele. Vă rugăm să faceți clic pe 'Generare Program',
-Maintenance Schedule {0} exists against {1},Planul de Mentenanță {0} există împotriva {1},
-Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Programul de Mentenanță{0} trebuie anulat înainte de a anula această Comandă de Vânzări,
-Maintenance Status has to be Cancelled or Completed to Submit,Starea de întreținere trebuie anulată sau finalizată pentru a fi trimisă,
-Maintenance User,Întreținere utilizator,
-Maintenance Visit,Vizită Mentenanță,
-Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Vizita de Mentenanță {0} trebuie să fie anulată înainte de a anula această Comandă de Vânzări,
-Maintenance start date can not be before delivery date for Serial No {0},Data de Incepere a Mentenantei nu poate fi anterioara datei de livrare aferent de Nr. de Serie {0},
-Make,Realizare,
-Make Payment,Plateste,
-Make project from a template.,Realizați proiectul dintr-un șablon.,
-Making Stock Entries,Efectuarea de stoc Entries,
-Male,Masculin,
-Manage Customer Group Tree.,Gestioneaza Ramificatiile de Group a Clientului.,
-Manage Sales Partners.,Gestionează Parteneri Vânzări,
-Manage Sales Person Tree.,Gestioneaza Ramificatiile Persoanei responsabila cu Vanzarile,
-Manage Territory Tree.,Gestioneaza Ramificatiile Teritoriule.,
-Manage your orders,Gestionează Comenzi,
-Management,Management,
-Manager,Manager,
-Managing Projects,Managementul Proiectelor,
-Managing Subcontracting,Gestionarea Subcontracte,
-Mandatory,Obligatoriu,
-Mandatory field - Academic Year,Domeniu obligatoriu - An universitar,
-Mandatory field - Get Students From,Domeniu obligatoriu - Obțineți elevii de la,
-Mandatory field - Program,Câmp obligatoriu - Program,
-Manufacture,Fabricare,
-Manufacturer,Producător,
-Manufacturer Part Number,Numarul de piesa,
-Manufacturing,Producţie,
-Manufacturing Quantity is mandatory,Cantitatea de fabricație este obligatorie,
-Mapping,Cartografierea,
-Mapping Type,Tipul de tipărire,
-Mark Absent,Mark Absent,
-Mark Attendance,Marchează prezența,
-Mark Half Day,Mark jumatate de zi,
-Mark Present,Mark Prezent,
-Marketing,Marketing,
-Marketing Expenses,Cheltuieli de marketing,
-Marketplace,Piata de desfacere,
-Marketplace Error,Eroare de pe piață,
-Masters,Masterat,
-Match Payments with Invoices,Plățile se potrivesc cu facturi,
-Match non-linked Invoices and Payments.,Potrivesc Facturi non-legate și plăți.,
-Material,Material,
-Material Consumption,Consumul de materiale,
-Material Consumption is not set in Manufacturing Settings.,Consumul de materiale nu este setat în Setări de fabricare.,
-Material Receipt,Primirea de material,
-Material Request,Cerere de material,
-Material Request Date,Cerere de material Data,
-Material Request No,Cerere de material Nu,
-"Material Request not created, as quantity for Raw Materials already available.","Cerere de material nefiind creată, ca cantitate pentru materiile prime deja disponibile.",
-Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Cerere de material de maximum {0} se poate face pentru postul {1} împotriva comandă de vânzări {2},
-Material Request to Purchase Order,Cerere de material de cumpărare Ordine,
-Material Request {0} is cancelled or stopped,Cerere de material {0} este anulată sau oprită,
-Material Request {0} submitted.,Cerere de materiale {0} trimisă.,
-Material Transfer,Transfer de material,
-Material Transferred,Material transferat,
-Material to Supplier,Material de Furnizor,
-Max Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},Suma maximă de scutire nu poate fi mai mare decât valoarea scutirii maxime {0} din categoria scutirii de impozite {1},
-Max benefits should be greater than zero to dispense benefits,Beneficiile maxime ar trebui să fie mai mari decât zero pentru a renunța la beneficii,
-Max discount allowed for item: {0} is {1}%,Discount maxim permis pentru articol: {0} este {1}%,
-Max: {0},Max: {0},
-Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,Probele maxime - {0} pot fi păstrate pentru lotul {1} și articolul {2}.,
-Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,Probele maxime - {0} au fost deja reținute pentru lotul {1} și articolul {2} din lotul {3}.,
-Maximum amount eligible for the component {0} exceeds {1},Suma maximă eligibilă pentru componenta {0} depășește {1},
-Maximum benefit amount of component {0} exceeds {1},Suma maximă de beneficii a componentei {0} depășește {1},
-Maximum benefit amount of employee {0} exceeds {1},Suma maximă a beneficiilor angajatului {0} depășește {1},
-Maximum discount for Item {0} is {1}%,Reducerea maximă pentru articolul {0} este {1}%,
-Maximum leave allowed in the leave type {0} is {1},Permisul maxim permis în tipul de concediu {0} este {1},
-Medical,Medical,
-Medical Code,Codul medical,
-Medical Code Standard,Codul medical standard,
-Medical Department,Departamentul medical,
-Medical Record,Fișă medicală,
-Medium,Medie,
-Meeting,Întâlnire,
-Member Activity,Activitatea membrilor,
-Member ID,Membru ID,
-Member Name,Numele membrului,
-Member information.,Informații despre membri.,
-Membership,apartenență,
-Membership Details,Detalii de membru,
-Membership ID,ID-ul de membru,
-Membership Type,Tipul de membru,
-Memebership Details,Detalii de membru,
-Memebership Type Details,Detalii despre tipul de membru,
-Merge,contopi,
-Merge Account,Îmbinare cont,
-Merge with Existing Account,Mergeți cu contul existent,
-"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Fuziune este posibilă numai în cazul în care următoarele proprietăți sunt aceleași în ambele registre. Este Group, Root Type, Company",
-Message Examples,Exemple de mesaje,
-Message Sent,Mesajul a fost trimis,
-Method,Metoda,
-Middle Income,Venituri medii,
-Middle Name,Al doilea nume,
-Middle Name (Optional),Al Doilea Nume (Opțional),
-Min Amt can not be greater than Max Amt,Min Amt nu poate fi mai mare decât Max Amt,
-Min Qty can not be greater than Max Qty,Min Cantitate nu poate fi mai mare decât Max Cantitate,
-Minimum Lead Age (Days),Vârsta minimă de plumb (zile),
-Miscellaneous Expenses,Cheltuieli diverse,
-Missing Currency Exchange Rates for {0},Lipsesc cursuri de schimb valutar pentru {0},
-Missing email template for dispatch. Please set one in Delivery Settings.,Șablonul de e-mail lipsă pentru expediere. Alegeți unul din Setările de livrare.,
-"Missing value for Password, API Key or Shopify URL","Valoare lipsă pentru parola, cheia API sau adresa URL pentru cumpărături",
-Mode of Payment,Modul de plată,
-Mode of Payments,Modul de plată,
-Mode of Transport,Mijloc de transport,
-Mode of Transportation,Mijloc de transport,
-Mode of payment is required to make a payment,Modul de plată este necesară pentru a efectua o plată,
-Model,Model,
-Moderate Sensitivity,Sensibilitate moderată,
-Monday,Luni,
-Monthly,Lunar,
-Monthly Distribution,Distributie lunar,
-Monthly Repayment Amount cannot be greater than Loan Amount,Rambursarea lunară Suma nu poate fi mai mare decât Suma creditului,
-More,Mai mult,
-More Information,Mai multe informatii,
-More than one selection for {0} not allowed,Nu sunt permise mai multe selecții pentru {0},
-More...,Mai Mult...,
-Motion Picture & Video,Motion Picture & Video,
-Move,Mutare,
-Move Item,Postul mutare,
-Multi Currency,Multi valutar,
-Multiple Item prices.,Mai multe prețuri element.,
-Multiple Loyalty Program found for the Customer. Please select manually.,Programul de loialitate multiplă găsit pentru client. Selectați manual.,
-"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}","Reguli de preturi multiple există cu aceleași criterii, vă rugăm să rezolve conflictul prin atribuirea de prioritate. Reguli de preț: {0}",
-Multiple Variants,Variante multiple,
-Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,ani fiscali multiple exista in data de {0}. Vă rugăm să setați companie în anul fiscal,
-Music,Muzica,
-My Account,Contul Meu,
-Name error: {0},Numele de eroare: {0},
-Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Numele de cont nou. Notă: Vă rugăm să nu creați conturi pentru clienți și furnizori,
-Name or Email is mandatory,Nume sau E-mail este obligatorie,
-Nature Of Supplies,Natura aprovizionării,
-Navigating,Navigarea,
-Needs Analysis,Analiza nevoilor,
-Negative Quantity is not allowed,Nu este permisă cantitate negativă,
-Negative Valuation Rate is not allowed,Negativ Rata de evaluare nu este permis,
-Negotiation/Review,Negocierea / revizuire,
-Net Asset value as on,Valoarea activelor nete pe,
-Net Cash from Financing,Numerar net din Finantare,
-Net Cash from Investing,Numerar net din investiții,
-Net Cash from Operations,Numerar net din operațiuni,
-Net Change in Accounts Payable,Schimbarea net în conturi de plătit,
-Net Change in Accounts Receivable,Schimbarea net în conturile de creanțe,
-Net Change in Cash,Schimbarea net în numerar,
-Net Change in Equity,Schimbarea net în capitaluri proprii,
-Net Change in Fixed Asset,Schimbarea net în active fixe,
-Net Change in Inventory,Schimbarea net în inventar,
-Net ITC Available(A) - (B),ITC net disponibil (A) - (B),
-Net Pay,Plată netă,
-Net Pay cannot be less than 0,Plata netă nu poate fi mai mică decât 0,
-Net Profit,Profit net,
-Net Salary Amount,Valoarea netă a salariului,
-Net Total,Total net,
-Net pay cannot be negative,Salariul net nu poate fi negativ,
-New Account Name,Nume nou cont,
-New Address,Adresa noua,
-New BOM,Nou BOM,
-New Batch ID (Optional),ID-ul lotului nou (opțional),
-New Batch Qty,Numărul nou de loturi,
-New Company,Companie nouă,
-New Cost Center Name,Numele noului centru de cost,
-New Customer Revenue,Noi surse de venit pentru clienți,
-New Customers,clienti noi,
-New Department,Departamentul nou,
-New Employee,Angajat nou,
-New Location,Locație nouă,
-New Quality Procedure,Noua procedură de calitate,
-New Sales Invoice,Adauga factură de vânzări,
-New Sales Person Name,Nume nou Agent de vânzări,
-New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Noua ordine nu pot avea Warehouse. Depozit trebuie să fie stabilite de către Bursa de intrare sau de primire de cumparare,
-New Warehouse Name,Nume nou depozit,
-New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},Noua limită de credit este mai mică decât valoarea curentă restante pentru client. Limita de credit trebuie să fie atleast {0},
-New task,Sarcina noua,
-New {0} pricing rules are created,Sunt create noi {0} reguli de preț,
-Newsletters,Buletine,
-Newspaper Publishers,Editorii de ziare,
-Next,Următor,
-Next Contact By cannot be same as the Lead Email Address,Următoarea Contact Prin faptul că nu poate fi aceeași cu adresa de e-mail Plumb,
-Next Contact Date cannot be in the past,În continuare Contact Data nu poate fi în trecut,
-Next Steps,Pasii urmatori,
-No Action,Fara actiune,
-No Customers yet!,Nu există clienți încă!,
-No Data,No Data,
-No Delivery Note selected for Customer {},Nu este selectată nicio notificare de livrare pentru client {},
-No Employee Found,Nu a fost găsit angajat,
-No Item with Barcode {0},Nici un articol cu coduri de bare {0},
-No Item with Serial No {0},Nici un articol cu ordine {0},
-No Items available for transfer,Nu există elemente disponibile pentru transfer,
-No Items selected for transfer,Nu există elemente selectate pentru transfer,
-No Items to pack,Nu sunt produse în ambalaj,
-No Items with Bill of Materials to Manufacture,Nu există niciun articol cu Lista de materiale pentru fabricarea,
-No Items with Bill of Materials.,Nu există articole cu Bill of Materials.,
-No Permission,Nici o permisiune,
-No Remarks,Nu Observații,
-No Result to submit,Niciun rezultat nu trebuie trimis,
-No Salary Structure assigned for Employee {0} on given date {1},Nu există structură salarială atribuită pentru angajat {0} la data dată {1},
-No Staffing Plans found for this Designation,Nu au fost găsite planuri de personal pentru această desemnare,
-No Student Groups created.,Nu există grupuri create de studenți.,
-No Students in,Nu există studenți în,
-No Tax Withholding data found for the current Fiscal Year.,Nu au fost găsite date privind reținerea fiscală pentru anul fiscal curent.,
-No Work Orders created,Nu au fost create comenzi de lucru,
-No accounting entries for the following warehouses,Nici o intrare contabile pentru următoarele depozite,
-No active or default Salary Structure found for employee {0} for the given dates,Nr Structură activă sau Salariul implicit găsite pentru angajat al {0} pentru datele indicate,
-No contacts with email IDs found.,Nu au fost găsite contacte cu ID-urile de e-mail.,
-No data for this period,Nu există date pentru această perioadă,
-No description given,Nici o descriere dat,
-No employees for the mentioned criteria,Nu există angajați pentru criteriile menționate,
-No gain or loss in the exchange rate,Nu există cheltuieli sau venituri din diferente ale cursului de schimb,
-No items listed,Nu sunt enumerate elemente,
-No items to be received are overdue,Nu sunt întârziate niciun element de primit,
-No material request created,Nu a fost creată nicio solicitare materială,
-No more updates,Nu există mai multe actualizări,
-No of Interactions,Nr de interacțiuni,
-No of Shares,Numărul de acțiuni,
-No pending Material Requests found to link for the given items.,Nu au fost găsite solicitări de material în așteptare pentru link-ul pentru elementele date.,
-No products found,Nu au fost găsite produse,
-No products found.,Nu găsiți produse.,
-No record found,Nu s-au găsit înregistrări,
-No records found in the Invoice table,Nu sunt găsite inregistrari în tabelul de facturi înregistrate,
-No records found in the Payment table,Nu sunt găsite în tabelul de plăți înregistrări,
-No replies from,Nu există răspunsuri de la,
-No salary slip found to submit for the above selected criteria OR salary slip already submitted,Nu s-a găsit nicio corespondență salarială pentru criteriile de mai sus sau salariul deja trimis,
-No tasks,Nu există nicio sarcină,
-No time sheets,Nu există nicio foaie de timp,
-No values,Fără valori,
-No {0} found for Inter Company Transactions.,Nu a fost găsit {0} pentru tranzacțiile Intercompanie.,
-Non GST Inward Supplies,Consumabile interioare non-GST,
-Non Profit,Non-Profit,
-Non Profit (beta),Nonprofit (beta),
-Non-GST outward supplies,Oferte externe non-GST,
-Non-Group to Group,Non-Grup la Grup,
-None,Nici unul,
-None of the items have any change in quantity or value.,Nici unul din elementele au nici o schimbare în cantitate sau de valoare.,
-Nos,nos,
-Not Available,Indisponibil,
-Not Marked,nemarcate,
-Not Paid and Not Delivered,Nu sunt plătite și nu sunt livrate,
-Not Permitted,Nu este permisă,
-Not Started,Neînceput,
-Not active,Nu este activ,
-Not allow to set alternative item for the item {0},Nu permiteți setarea unui element alternativ pentru articolul {0},
-Not allowed to update stock transactions older than {0},Nu este permis să actualizeze tranzacțiile bursiere mai vechi de {0},
-Not authorized to edit frozen Account {0},Nu este autorizat pentru a edita Contul {0} blocat,
-Not authroized since {0} exceeds limits,Nu authroized din {0} depășește limitele,
-Not permitted for {0},Nu este permisă {0},
-"Not permitted, configure Lab Test Template as required","Nu este permisă, configurați Șablon de testare Lab așa cum este necesar",
-Not permitted. Please disable the Service Unit Type,Nu sunt acceptate. Dezactivați tipul unității de serviciu,
-Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Notă: Datorită / Reference Data depășește de companie zile de credit client de {0} zi (le),
-Note: Item {0} entered multiple times,Notă: Articolul {0} a intrat de mai multe ori,
-Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,"Notă: Plata de intrare nu va fi creat deoarece ""Cash sau cont bancar"" nu a fost specificat",
-Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,"Notă: Sistemul nu va verifica peste, livrare și supra-rezervări pentru postul {0} ca și cantitatea sau valoarea este 0",
-Note: There is not enough leave balance for Leave Type {0},Notă: Nu este echilibrul concediu suficient pentru concediul de tip {0},
-Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Notă: Acest centru de cost este un grup. Nu pot face înregistrări contabile impotriva grupuri.,
-Note: {0},Notă: {0},
-Notes,Observații,
-Nothing is included in gross,Nimic nu este inclus în brut,
-Nothing more to show.,Nimic mai mult pentru a arăta.,
-Nothing to change,Nimic de schimbat,
-Notice Period,Perioada de preaviz,
-Notify Customers via Email,Notificați clienții prin e-mail,
-Number,Număr,
-Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Numărul de Deprecieri Booked nu poate fi mai mare decât Număr total de Deprecieri,
-Number of Interaction,Numărul interacțiunii,
-Number of Order,Numărul de comandă,
-"Number of new Account, it will be included in the account name as a prefix","Numărul de cont nou, acesta va fi inclus în numele contului ca prefix",
-"Number of new Cost Center, it will be included in the cost center name as a prefix","Numărul noului Centru de cost, acesta va fi inclus în prefixul centrului de costuri",
-Number of root accounts cannot be less than 4,Numărul de conturi root nu poate fi mai mic de 4,
-Odometer,Contorul de kilometraj,
-Office Equipments,Echipamente de birou,
-Office Maintenance Expenses,Cheltuieli Mentenanță Birou,
-Office Rent,Birou inchiriat,
-On Hold,In asteptare,
-On Net Total,Pe Net Total,
-One customer can be part of only single Loyalty Program.,Un client poate face parte dintr-un singur program de loialitate.,
-Online Auctions,Licitatii online,
-Only Leave Applications with status 'Approved' and 'Rejected' can be submitted,Lăsați numai aplicațiile cu statut „Aprobat“ și „Respins“ pot fi depuse,
-"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",În tabelul de mai jos va fi selectat numai Solicitantul studenților cu statutul &quot;Aprobat&quot;.,
-Only users with {0} role can register on Marketplace,Numai utilizatorii cu rolul {0} se pot înregistra pe Marketplace,
-Open BOM {0},Deschideți BOM {0},
-Open Item {0},Deschis Postul {0},
-Open Notifications,Notificări deschise,
-Open Orders,Comenzi deschise,
-Open a new ticket,Deschideți un nou bilet,
-Opening,Deschidere,
-Opening (Cr),Deschidere (Cr),
-Opening (Dr),Deschidere (Dr),
-Opening Accounting Balance,Sold Contabilitate,
-Opening Accumulated Depreciation,Deschidere Amortizarea Acumulate,
-Opening Accumulated Depreciation must be less than equal to {0},Amortizarea de deschidere trebuie să fie mai mică Acumulate decât egală cu {0},
-Opening Balance,Soldul de deschidere,
-Opening Balance Equity,Sold Equity,
-Opening Date and Closing Date should be within same Fiscal Year,Deschiderea și data inchiderii ar trebui să fie în același an fiscal,
-Opening Date should be before Closing Date,"Deschiderea Data ar trebui să fie, înainte de Data inchiderii",
-Opening Entry Journal,Deschiderea Jurnalului de intrare,
-Opening Invoice Creation Tool,Deschiderea Instrumentului de creare a facturilor,
-Opening Invoice Item,Deschidere element factură,
-Opening Invoices,Deschiderea facturilor,
-Opening Invoices Summary,Sumar de deschidere a facturilor,
-Opening Qty,Deschiderea Cantitate,
-Opening Stock,deschidere stoc,
-Opening Stock Balance,Sold Stock,
-Opening Value,Valoarea de deschidere,
-Opening {0} Invoice created,Deschidere {0} Factură creată,
-Operation,Operație,
-Operation Time must be greater than 0 for Operation {0},Funcționarea timp trebuie să fie mai mare decât 0 pentru funcționare {0},
-"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operațiunea {0} mai mult decât orice ore de lucru disponibile în stație de lucru {1}, descompun operațiunea în mai multe operațiuni",
-Operations,Operatii,
-Operations cannot be left blank,Operații nu poate fi lăsat necompletat,
-Opp Count,Opp Count,
-Opp/Lead %,Opp / Plumb%,
-Opportunities,Oportunități,
-Opportunities by lead source,Oportunități după sursă pistă,
-Opportunity,Oportunitate,
-Opportunity Amount,Oportunitate Sumă,
-Optional Holiday List not set for leave period {0},Lista de vacanță opțională nu este setată pentru perioada de concediu {0},
-"Optional. Sets company's default currency, if not specified.","Opțional. Setează implicit moneda companiei, în cazul în care nu este specificat.",
-Optional. This setting will be used to filter in various transactions.,Opțional. Această setare va fi utilizat pentru a filtra în diverse tranzacții.,
-Options,Optiuni,
-Order Count,Numărătoarea comenzilor,
-Order Entry,Intrare comandă,
-Order Value,Valoarea comenzii,
-Order rescheduled for sync,Ordonată reprogramată pentru sincronizare,
-Order/Quot %,Ordine / Cotare%,
-Ordered,Ordonat,
-Ordered Qty,Ordonat Cantitate,
-"Ordered Qty: Quantity ordered for purchase, but not received.","Comandat Cantitate: Cantitatea comandat pentru cumpărare, dar nu a primit.",
-Orders,Comenzi,
-Orders released for production.,Comenzi lansat pentru producție.,
-Organization,Organizare,
-Organization Name,Numele Organizatiei,
-Other,Altul,
-Other Reports,Alte rapoarte,
-"Other outward supplies(Nil rated,Exempted)","Alte consumabile exterioare (Nil evaluat, scutit)",
-Others,Altel,
-Out Qty,Out Cantitate,
-Out Value,Valoarea afară,
-Out of Order,Scos din uz,
-Outgoing,Trimise,
-Outstanding,remarcabil,
-Outstanding Amount,Remarcabil Suma,
-Outstanding Amt,Impresionant Amt,
-Outstanding Cheques and Deposits to clear,Cecuri restante și pentru a șterge Depozite,
-Outstanding for {0} cannot be less than zero ({1}),Restante pentru {0} nu poate fi mai mică decât zero ({1}),
-Outward taxable supplies(zero rated),Livrări impozabile externe (zero),
-Overdue,întârziat,
-Overlap in scoring between {0} and {1},Suprapunerea punctajului între {0} și {1},
-Overlapping conditions found between:,Condiții se suprapun găsite între:,
-Owner,Proprietar,
-PAN,TIGAIE,
-POS,POS,
-POS Profile,POS Profil,
-POS Profile is required to use Point-of-Sale,Profilul POS este necesar pentru a utiliza Punctul de vânzare,
-POS Profile required to make POS Entry,POS Profil necesare pentru a face POS intrare,
-POS Settings,Setări POS,
-Packed quantity must equal quantity for Item {0} in row {1},Cantitate ambalate trebuie să fie egală cantitate pentru postul {0} în rândul {1},
-Packing Slip,Slip de ambalare,
-Packing Slip(s) cancelled,Slip de ambalare (e) anulate,
-Paid,Plătit,
-Paid Amount,Suma plătită,
-Paid Amount cannot be greater than total negative outstanding amount {0},Suma plătită nu poate fi mai mare decât suma totală negativă restante {0},
-Paid amount + Write Off Amount can not be greater than Grand Total,Suma plătită + Scrie Off Suma nu poate fi mai mare decât Grand total,
-Paid and Not Delivered,Plătite și nu sunt livrate,
-Parameter,Parametru,
-Parent Item {0} must not be a Stock Item,Postul părinte {0} nu trebuie să fie un articol stoc,
-Parents Teacher Meeting Attendance,Conferința părinților la conferința părintească,
-Part-time,Part-time,
-Partially Depreciated,parțial Depreciata,
-Partially Received,Parțial primite,
-Party,Partener,
-Party Name,Nume partid,
-Party Type,Tip de partid,
-Party Type and Party is mandatory for {0} account,Tipul partidului și partidul este obligatoriu pentru contul {0},
-Party Type is mandatory,Tipul de partid este obligatorie,
-Party is mandatory,Party este obligatorie,
-Password,Parolă,
-Password policy for Salary Slips is not set,Politica de parolă pentru Salarii Slips nu este setată,
-Past Due Date,Data trecută,
-Patient,Rabdator,
-Patient Appointment,Numirea pacientului,
-Patient Encounter,Întâlnirea cu pacienții,
-Patient not found,Pacientul nu a fost găsit,
-Pay Remaining,Plătiți rămase,
-Pay {0} {1},Plătește {0} {1},
-Payable,plătibil,
-Payable Account,Contul furnizori,
-Payable Amount,Sumă plătibilă,
-Payment,Plată,
-Payment Cancelled. Please check your GoCardless Account for more details,Plata anulată. Verificați contul GoCardless pentru mai multe detalii,
-Payment Confirmation,Confirmarea platii,
-Payment Date,Data de plată,
-Payment Days,Zile de plată,
-Payment Document,Documentul de plată,
-Payment Due Date,Data scadentă de plată,
-Payment Entries {0} are un-linked,Intrările de plată {0} sunt nesemnalate legate,
-Payment Entry,Intrare plăţi,
-Payment Entry already exists,Există deja intrare plată,
-Payment Entry has been modified after you pulled it. Please pull it again.,Plata intrare a fost modificat după ce-l tras. Vă rugăm să trage din nou.,
-Payment Entry is already created,Plata Intrarea este deja creat,
-Payment Failed. Please check your GoCardless Account for more details,Plata esuata. Verificați contul GoCardless pentru mai multe detalii,
-Payment Gateway,Gateway de plată,
-"Payment Gateway Account not created, please create one manually.","Plata Gateway Cont nu a fost creată, vă rugăm să creați manual unul.",
-Payment Gateway Name,Numele gateway-ului de plată,
-Payment Mode,Modul de plată,
-Payment Receipt Note,Plată Primirea Note,
-Payment Request,Cerere de plata,
-Payment Request for {0},Solicitare de plată pentru {0},
-Payment Tems,Tems de plată,
-Payment Term,Termen de plata,
-Payment Terms,Termeni de plată,
-Payment Terms Template,Formularul termenilor de plată,
-Payment Terms based on conditions,Termeni de plată în funcție de condiții,
-Payment Type,Tip de plată,
-"Payment Type must be one of Receive, Pay and Internal Transfer","Tipul de plată trebuie să fie unul dintre Primire, Pay și de transfer intern",
-Payment against {0} {1} cannot be greater than Outstanding Amount {2},Plata împotriva {0} {1} nu poate fi mai mare decât Impresionant Suma {2},
-Payment of {0} from {1} to {2},Plata pentru {0} de la {1} la {2},
-Payment request {0} created,Solicitarea de plată {0} a fost creată,
-Payments,Plăți,
-Payroll,stat de plată,
-Payroll Number,Număr de salarizare,
-Payroll Payable,Salarizare plateste,
-Payslip,fluturaș,
-Pending Activities,Activități în curs,
-Pending Amount,În așteptarea Suma,
-Pending Leaves,Frunze în așteptare,
-Pending Qty,Așteptare Cantitate,
-Pending Quantity,Cantitate în așteptare,
-Pending Review,Revizuirea în curs,
-Pending activities for today,Activități în așteptare pentru ziua de azi,
-Pension Funds,Fondurile de pensii,
-Percentage Allocation should be equal to 100%,Alocarea procent ar trebui să fie egală cu 100%,
-Perception Analysis,Analiza percepției,
-Period,Perioada,
-Period Closing Entry,Intrarea Perioada de închidere,
-Period Closing Voucher,Voucher perioadă de închidere,
-Periodicity,Periodicitate,
-Personal Details,Detalii personale,
-Pharmaceutical,Farmaceutic,
-Pharmaceuticals,Produse farmaceutice,
-Physician,Medic,
-Piecework,muncă în acord,
-Pincode,Parola așa,
-Place Of Supply (State/UT),Locul livrării (stat / UT),
-Place Order,Locul de comandă,
-Plan Name,Numele planului,
-Plan for maintenance visits.,Plan pentru vizite de mentenanță.,
-Planned Qty,Planificate Cantitate,
-"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Cantitate planificată: cantitatea pentru care a fost ridicată comanda de lucru, dar este în curs de fabricare.",
-Planning,Planificare,
-Plants and Machineries,Plante și mașini,
-Please Set Supplier Group in Buying Settings.,Setați Grupul de furnizori în Setări de cumpărare.,
-Please add a Temporary Opening account in Chart of Accounts,Adăugați un cont de deschidere temporară în Planul de conturi,
-Please add the account to root level Company - ,Vă rugăm să adăugați contul la nivelul companiei la nivel root -,
-Please add the remaining benefits {0} to any of the existing component,Vă rugăm să adăugați beneficiile rămase {0} la oricare dintre componentele existente,
-Please check Multi Currency option to allow accounts with other currency,Vă rugăm să verificați Multi opțiune de valuta pentru a permite conturi cu altă valută,
-Please click on 'Generate Schedule',"Vă rugăm să faceți clic pe ""Generate Program""",
-Please click on 'Generate Schedule' to fetch Serial No added for Item {0},"Vă rugăm să faceți clic pe ""Generate Program"", pentru a aduce ordine adăugat pentru postul {0}",
-Please click on 'Generate Schedule' to get schedule,"Vă rugăm să faceți clic pe ""Generate Program"", pentru a obține programul",
-Please confirm once you have completed your training,Vă rugăm să confirmați după ce ați terminat pregătirea,
-Please create purchase receipt or purchase invoice for the item {0},Creați factura de cumpărare sau factura de achiziție pentru elementul {0},
-Please define grade for Threshold 0%,Vă rugăm să definiți gradul pentru pragul 0%,
-Please enable Applicable on Booking Actual Expenses,Activați aplicabil pentru cheltuielile curente de rezervare,
-Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Activați aplicabil la comanda de aprovizionare și aplicabil cheltuielilor curente de rezervare,
-Please enable default incoming account before creating Daily Work Summary Group,Activați contul de intrare implicit înainte de a crea un grup zilnic de lucru,
-Please enable pop-ups,Vă rugăm să activați pop-up-uri,
-Please enter 'Is Subcontracted' as Yes or No,"Va rugam sa introduceti ""este subcontractată"" ca Da sau Nu",
-Please enter API Consumer Key,Introduceți cheia de consum API,
-Please enter API Consumer Secret,Introduceți secretul pentru clienți API,
-Please enter Account for Change Amount,Vă rugăm să introduceți cont pentru Schimbare Sumă,
-Please enter Approving Role or Approving User,Vă rugăm să introduceți Aprobarea Rolul sau aprobarea de utilizare,
-Please enter Cost Center,Va rugam sa introduceti Cost Center,
-Please enter Delivery Date,Introduceți data livrării,
-Please enter Employee Id of this sales person,Vă rugăm să introduceți ID-ul de angajat al acestei persoane de vânzări,
-Please enter Expense Account,Va rugam sa introduceti cont de cheltuieli,
-Please enter Item Code to get Batch Number,Vă rugăm să introduceți codul de articol pentru a obține numărul de lot,
-Please enter Item Code to get batch no,Va rugam sa introduceti codul articol pentru a obține lot nu,
-Please enter Item first,Va rugam sa introduceti Articol primul,
-Please enter Maintaince Details first,Va rugam sa introduceti maintaince detaliile prima,
-Please enter Planned Qty for Item {0} at row {1},Va rugam sa introduceti planificate Cantitate pentru postul {0} la rândul {1},
-Please enter Preferred Contact Email,Vă rugăm să introduceți preferate Contact E-mail,
-Please enter Production Item first,Va rugam sa introduceti de producție Articol întâi,
-Please enter Purchase Receipt first,Va rugam sa introduceti Primirea achiziția,
-Please enter Receipt Document,Vă rugăm să introduceți Document Primirea,
-Please enter Reference date,Vă rugăm să introduceți data de referință,
-Please enter Repayment Periods,Vă rugăm să introduceți perioada de rambursare,
-Please enter Reqd by Date,Introduceți Reqd după dată,
-Please enter Woocommerce Server URL,Introduceți adresa URL a serverului Woocommerce,
-Please enter Write Off Account,Va rugam sa introduceti Scrie Off cont,
-Please enter atleast 1 invoice in the table,Va rugam sa introduceti cel putin 1 factura în tabelul,
-Please enter company first,Va rugam sa introduceti prima companie,
-Please enter company name first,Va rugam sa introduceti numele companiei în primul rând,
-Please enter default currency in Company Master,Va rugam sa introduceti moneda implicit în Compania de Master,
-Please enter message before sending,Vă rugăm să introduceți mesajul înainte de trimitere,
-Please enter parent cost center,Vă rugăm să introduceți centru de cost părinte,
-Please enter quantity for Item {0},Va rugam sa introduceti cantitatea pentru postul {0},
-Please enter relieving date.,Vă rugăm să introduceți data alinarea.,
-Please enter repayment Amount,Vă rugăm să introduceți Suma de rambursare,
-Please enter valid Financial Year Start and End Dates,Va rugam sa introduceti valabil financiare Anul începe și a termina Perioada,
-Please enter valid email address,Introduceți adresa de e-mail validă,
-Please enter {0} first,Va rugam sa introduceti {0} primul,
-Please fill in all the details to generate Assessment Result.,Vă rugăm să completați toate detaliile pentru a genera rezultatul evaluării.,
-Please identify/create Account (Group) for type - {0},Vă rugăm să identificați / să creați un cont (grup) pentru tipul - {0},
-Please identify/create Account (Ledger) for type - {0},Vă rugăm să identificați / să creați un cont (contabil) pentru tipul - {0},
-Please login as another user to register on Marketplace,Conectați-vă ca alt utilizator pentru a vă înregistra pe Marketplace,
-Please make sure you really want to delete all the transactions for this company. Your master data will remain as it is. This action cannot be undone.,Vă rugăm să asigurați-vă că într-adevăr să ștergeți toate tranzacțiile pentru această companie. Datele dvs. de bază vor rămâne așa cum este. Această acțiune nu poate fi anulată.,
-Please mention Basic and HRA component in Company,Vă rugăm să menționați componentele de bază și HRA în cadrul companiei,
-Please mention Round Off Account in Company,Vă rugăm să menționați rotunji contul în companie,
-Please mention Round Off Cost Center in Company,Vă rugăm să menționați rotunji Center cost în companie,
-Please mention no of visits required,Vă rugăm să menționați nici de vizite necesare,
-Please mention the Lead Name in Lead {0},Menționați numele de plumb din plumb {0},
-Please pull items from Delivery Note,Vă rugăm să trage elemente de livrare Nota,
-Please register the SIREN number in the company information file,Înregistrați numărul SIREN în fișierul cu informații despre companie,
-Please remove this Invoice {0} from C-Form {1},Vă rugăm să eliminați acest factură {0} de la C-Form {1},
-Please save the patient first,Salvați mai întâi pacientul,
-Please save the report again to rebuild or update,Vă rugăm să salvați raportul din nou pentru a reconstrui sau actualiza,
-"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Vă rugăm să selectați suma alocată, de tip Factură și factură Numărul din atleast rând una",
-Please select Apply Discount On,Vă rugăm să selectați Aplicați Discount On,
-Please select BOM against item {0},Selectați BOM pentru elementul {0},
-Please select BOM for Item in Row {0},Vă rugăm să selectați BOM pentru postul în rândul {0},
-Please select BOM in BOM field for Item {0},Vă rugăm să selectați BOM BOM în domeniu pentru postul {0},
-Please select Category first,Vă rugăm să selectați categoria întâi,
-Please select Charge Type first,Vă rugăm să selectați tipul de taxă în primul rând,
-Please select Company,Vă rugăm să selectați Company,
-Please select Company and Designation,Selectați Companie și desemnare,
-Please select Company and Posting Date to getting entries,Selectați Company and Dateing date pentru a obține înregistrări,
-Please select Company first,Vă rugăm să selectați Company primul,
-Please select Completion Date for Completed Asset Maintenance Log,Selectați Data de încheiere pentru jurnalul de întreținere a activelor finalizat,
-Please select Completion Date for Completed Repair,Selectați Data de finalizare pentru Repararea finalizată,
-Please select Course,Selectați cursul,
-Please select Drug,Selectați Droguri,
-Please select Employee,Selectați Angajat,
-Please select Existing Company for creating Chart of Accounts,Vă rugăm să selectați Companie pentru crearea Existent Plan de conturi,
-Please select Healthcare Service,Selectați Serviciul de asistență medicală,
-"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle",Vă rugăm să selectați postul unde &quot;Este Piesa&quot; este &quot;nu&quot; și &quot;Este punctul de vânzare&quot; este &quot;da&quot; și nu este nici un alt produs Bundle,
-Please select Maintenance Status as Completed or remove Completion Date,Selectați Stare de întreținere ca Completat sau eliminați Data de finalizare,
-Please select Party Type first,Vă rugăm să selectați Party Type primul,
-Please select Patient,Selectați pacientul,
-Please select Patient to get Lab Tests,Selectați pacientul pentru a obține testele de laborator,
-Please select Posting Date before selecting Party,Vă rugăm să selectați Dată postare înainte de a selecta Parte,
-Please select Posting Date first,Vă rugăm să selectați postarea Data primei,
-Please select Price List,Vă rugăm să selectați lista de prețuri,
-Please select Program,Selectați Program,
-Please select Qty against item {0},Selectați Cantitate pentru elementul {0},
-Please select Sample Retention Warehouse in Stock Settings first,Vă rugăm să selectați mai întâi Warehouse de stocare a probelor din Setări stoc,
-Please select Start Date and End Date for Item {0},Vă rugăm să selectați data de început și Data de final pentru postul {0},
-Please select Student Admission which is mandatory for the paid student applicant,Selectați admiterea studenților care este obligatorie pentru solicitantul studenților plătiți,
-Please select a BOM,Selectați un BOM,
-Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,Selectați un lot pentru articolul {0}. Nu se poate găsi un singur lot care să îndeplinească această cerință,
-Please select a Company,Vă rugăm să selectați o companie,
-Please select a batch,Selectați un lot,
-Please select a csv file,Vă rugăm să selectați un fișier csv,
-Please select a field to edit from numpad,Selectați un câmp de editat din numpad,
-Please select a table,Selectați un tabel,
-Please select a valid Date,Selectați o dată validă,
-Please select a value for {0} quotation_to {1},Vă rugăm să selectați o valoare de {0} {1} quotation_to,
-Please select a warehouse,Te rugăm să selectazi un depozit,
-Please select at least one domain.,Selectați cel puțin un domeniu.,
-Please select correct account,Vă rugăm să selectați contul corect,
-Please select date,Vă rugăm să selectați data,
-Please select item code,Vă rugăm să selectați codul de articol,
-Please select month and year,Vă rugăm selectați luna și anul,
-Please select prefix first,Vă rugăm să selectați prefix întâi,
-Please select the Company,Selectați compania,
-Please select the Multiple Tier Program type for more than one collection rules.,Selectați tipul de program cu mai multe niveluri pentru mai multe reguli de colectare.,
-Please select the assessment group other than 'All Assessment Groups',Selectați alt grup de evaluare decât &quot;Toate grupurile de evaluare&quot;,
-Please select the document type first,Vă rugăm să selectați tipul de document primul,
-Please select weekly off day,Vă rugăm să selectați zi liberă pe săptămână,
-Please select {0},Vă rugăm să selectați {0},
-Please select {0} first,Vă rugăm selectați 0} {întâi,
-Please set 'Apply Additional Discount On',Vă rugăm să setați &quot;Aplicați discount suplimentar pe&quot;,
-Please set 'Asset Depreciation Cost Center' in Company {0},Vă rugăm să setați &quot;Activ Center Amortizarea Cost&quot; în companie {0},
-Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Vă rugăm să setați &#39;Gain / Pierdere de cont privind Eliminarea activelor &quot;în companie {0},
-Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Vă rugăm să configurați contul în depozit {0} sau contul implicit de inventar din companie {1},
-Please set B2C Limit in GST Settings.,Setați limita B2C în setările GST.,
-Please set Company,Stabiliți compania,
-Please set Company filter blank if Group By is 'Company',Filtru filtru de companie gol dacă grupul de grup este &quot;companie&quot;,
-Please set Default Payroll Payable Account in Company {0},Vă rugăm să setați Cont Cheltuieli suplimentare salarizare implicit în companie {0},
-Please set Depreciation related Accounts in Asset Category {0} or Company {1},Vă rugăm să setați Conturi aferente amortizării în categoria activelor {0} sau companie {1},
-Please set Email Address,Vă rugăm să setați adresa de e-mail,
-Please set GST Accounts in GST Settings,Vă rugăm să setați Conturi GST în Setări GST,
-Please set Hotel Room Rate on {},Vă rugăm să stabiliți tariful camerei la {},
-Please set Number of Depreciations Booked,Vă rugăm să setați Numărul de Deprecieri rezervat,
-Please set Unrealized Exchange Gain/Loss Account in Company {0},Vă rugăm să setați Contul de Cheltuiala / Venit din diferente de curs valutar in companie {0},
-Please set User ID field in an Employee record to set Employee Role,Vă rugăm să setați câmp ID de utilizator într-o înregistrare angajat să stabilească Angajat rol,
-Please set a default Holiday List for Employee {0} or Company {1},Vă rugăm să setați o valoare implicită Lista de vacanță pentru angajat {0} sau companie {1},
-Please set account in Warehouse {0},Vă rugăm să configurați un cont în Warehouse {0},
-Please set an active menu for Restaurant {0},Vă rugăm să setați un meniu activ pentru Restaurant {0},
-Please set associated account in Tax Withholding Category {0} against Company {1},Vă rugăm să setați contul asociat în categoria de reținere fiscală {0} împotriva companiei {1},
-Please set at least one row in the Taxes and Charges Table,Vă rugăm să setați cel puțin un rând în tabelul Impozite și taxe,
-Please set default Cash or Bank account in Mode of Payment {0},Vă rugăm să setați Cash implicit sau cont bancar în modul de plată {0},
-Please set default account in Salary Component {0},Vă rugăm să setați contul implicit în Salariu Component {0},
-Please set default customer in Restaurant Settings,Alegeți clientul implicit în Setări restaurant,
-Please set default template for Leave Approval Notification in HR Settings.,Stabiliți șablonul prestabilit pentru notificarea de aprobare de ieșire din setările HR.,
-Please set default template for Leave Status Notification in HR Settings.,Stabiliți șablonul implicit pentru notificarea de stare la ieșire în setările HR.,
-Please set default {0} in Company {1},Vă rugăm să setați implicit {0} în {1} companie,
-Please set filter based on Item or Warehouse,Vă rugăm să setați filtru bazat pe postul sau depozit,
-Please set leave policy for employee {0} in Employee / Grade record,Vă rugăm să stabiliți politica de concediu pentru angajatul {0} în evidența Angajat / Grad,
-Please set recurring after saving,Vă rugăm să setați recurente după salvare,
-Please set the Company,Stabiliți compania,
-Please set the Customer Address,Vă rugăm să setați Adresa Clientului,
-Please set the Date Of Joining for employee {0},Vă rugăm să setați data de îmbarcare pentru angajat {0},
-Please set the Default Cost Center in {0} company.,Alegeți Centrul de cost implicit în compania {0}.,
-Please set the Email ID for the Student to send the Payment Request,Vă rugăm să setați ID-ul de e-mail pentru ca studentul să trimită Solicitarea de plată,
-Please set the Item Code first,Vă rugăm să setați mai întâi Codul elementului,
-Please set the Payment Schedule,Vă rugăm să setați Programul de plată,
-Please set the series to be used.,Setați seria care urmează să fie utilizată.,
-Please set {0} for address {1},Vă rugăm să setați {0} pentru adresa {1},
-Please setup Students under Student Groups,Configurați elevii din grupurile de studenți,
-Please share your feedback to the training by clicking on 'Training Feedback' and then 'New',Vă rugăm să împărtășiți feedback-ul dvs. la antrenament făcând clic pe &quot;Feedback Training&quot; și apoi pe &quot;New&quot;,
-Please specify Company,Vă rugăm să specificați companiei,
-Please specify Company to proceed,Vă rugăm să specificați companiei pentru a continua,
-Please specify a valid 'From Case No.',"Vă rugăm să specificați un valabil ""Din cauza nr""",
-Please specify a valid Row ID for row {0} in table {1},Vă rugăm să specificați un ID rând valabil pentru rând {0} în tabelul {1},
-Please specify at least one attribute in the Attributes table,Vă rugăm să specificați cel puțin un atribut în tabelul Atribute,
-Please specify currency in Company,Vă rugăm să specificați în valută companie,
-Please specify either Quantity or Valuation Rate or both,Vă rugăm să specificați fie Cantitate sau Evaluează evaluare sau ambele,
-Please specify from/to range,Vă rugăm să precizați de la / la gama,
-Please supply the specified items at the best possible rates,Vă rugăm să furnizeze elementele specificate la cele mai bune tarife posibile,
-Please update your status for this training event,Actualizați starea dvs. pentru acest eveniment de instruire,
-Please wait 3 days before resending the reminder.,Așteptați 3 zile înainte de a retrimite mementourile.,
-Point of Sale,Point of Sale,
-Point-of-Sale,Punct-de-Vânzare,
-Point-of-Sale Profile,Profil Punct-de-Vânzare,
-Portal,Portal,
-Portal Settings,Setări portal,
-Possible Supplier,posibil furnizor,
-Postal Expenses,Cheltuieli poștale,
-Posting Date,Dată postare,
-Posting Date cannot be future date,Dată postare nu poate fi data viitoare,
-Posting Time,Postarea de timp,
-Posting date and posting time is mandatory,Data postării și postarea de timp este obligatorie,
-Posting timestamp must be after {0},Timestamp postarea trebuie să fie după {0},
-Potential opportunities for selling.,Potențiale oportunități de vânzare.,
-Practitioner Schedule,Programul practicianului,
-Pre Sales,Vânzări pre,
-Preference,Preferinţă,
-Prescribed Procedures,Proceduri prescrise,
-Prescription,Reteta medicala,
-Prescription Dosage,Dozaj de prescripție,
-Prescription Duration,Durata prescrierii,
-Prescriptions,Prescriptiile,
-Present,Prezenta,
-Prev,Anterior,
-Preview,Previzualizați,
-Preview Salary Slip,Previzualizare Salariu alunecare,
-Previous Financial Year is not closed,Exercițiul financiar precedent nu este închis,
-Price,Preț,
-Price List,Lista Prețuri,
-Price List Currency not selected,Lista de pret Valuta nu selectat,
-Price List Rate,Lista de prețuri Rate,
-Price List master.,Maestru Lista de prețuri.,
-Price List must be applicable for Buying or Selling,Lista de prețuri trebuie să fie aplicabilă pentru cumpărarea sau vânzarea de,
-Price List {0} is disabled or does not exist,Listă de prețuri {0} este dezactivat sau nu există,
-Price or product discount slabs are required,Este necesară plăci de reducere a prețului sau a produsului,
-Pricing,Stabilirea pretului,
-Pricing Rule,Regulă de stabilire a prețurilor,
-"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Regula de stabilire a prețurilor este selectat în primul rând bazat pe ""Aplicați pe"" teren, care poate fi produs, Grupa de articole sau de brand.",
-"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Regula de stabilire a prețurilor se face pentru a suprascrie Pret / defini procent de reducere, pe baza unor criterii.",
-Pricing Rule {0} is updated,Regula prețurilor {0} este actualizată,
-Pricing Rules are further filtered based on quantity.,Regulile de stabilire a prețurilor sunt filtrate în continuare în funcție de cantitate.,
-Primary Address Details,Detalii despre adresa primară,
-Primary Contact Details,Detalii de contact primare,
-Principal Amount,Sumă principală,
-Print Format,Print Format,
-Print IRS 1099 Forms,Tipărire formulare IRS 1099,
-Print Report Card,Print Print Card,
-Print Settings,Setări de imprimare,
-Print and Stationery,Imprimare și articole de papetărie,
-Print settings updated in respective print format,Setările de imprimare actualizate în format de imprimare respectiv,
-Print taxes with zero amount,Imprimă taxele cu suma zero,
-Printing and Branding,Imprimarea și Branding,
-Private Equity,Private Equity,
-Privilege Leave,Privilege concediu,
-Probation,probă,
-Probationary Period,Perioadă de probă,
-Procedure,Procedură,
-Process Day Book Data,Procesați datele despre cartea de zi,
-Process Master Data,Procesați datele de master,
-Processing Chart of Accounts and Parties,Procesarea Graficului de conturi și părți,
-Processing Items and UOMs,Prelucrare elemente și UOM-uri,
-Processing Party Addresses,Prelucrarea adreselor partidului,
-Processing Vouchers,Procesarea voucherelor,
-Procurement,achiziții publice,
-Produced Qty,Cantitate produsă,
-Product,Produs,
-Product Bundle,Bundle produs,
-Product Search,Cauta produse,
-Production,Producţie,
-Production Item,Producția Postul,
-Products,Instrumente,
-Profit and Loss,Profit și pierdere,
-Profit for the year,Profitul anului,
-Program,Program,
-Program in the Fee Structure and Student Group {0} are different.,Programul din structura taxelor și grupul de studenți {0} este diferit.,
-Program {0} does not exist.,Programul {0} nu există.,
-Program: ,Program:,
-Progress % for a task cannot be more than 100.,Progres% pentru o sarcină care nu poate fi mai mare de 100.,
-Project Collaboration Invitation,Colaborare proiect Invitație,
-Project Id,ID-ul proiectului,
-Project Manager,Manager de proiect,
-Project Name,Denumirea proiectului,
-Project Start Date,Data de începere a proiectului,
-Project Status,Status Proiect,
-Project Summary for {0},Rezumatul proiectului pentru {0},
-Project Update.,Actualizarea proiectului.,
-Project Value,Valoare proiect,
-Project activity / task.,Activitatea de proiect / sarcină.,
-Project master.,Maestru proiect.,
-Project-wise data is not available for Quotation,Date proiect-înțelept nu este disponibilă pentru ofertă,
-Projected,Proiectat,
-Projected Qty,Numărul estimat,
-Projected Quantity Formula,Formula de cantitate proiectată,
-Projects,proiecte,
-Property,Proprietate,
-Property already added,Proprietățile deja adăugate,
-Proposal Writing,Propunere de scriere,
-Proposal/Price Quote,Propunere / Citat pret,
-Prospecting,Prospectarea,
-Provisional Profit / Loss (Credit),Profit provizorie / Pierdere (Credit),
-Publications,Publicații,
-Publish Items on Website,Publica Articole pe site-ul,
-Published,Data publicării,
-Publishing,editare,
-Purchase,Cumpărarea,
-Purchase Amount,Suma cumpărată,
-Purchase Date,Data cumpărării,
-Purchase Invoice,Factura de cumpărare,
-Purchase Invoice {0} is already submitted,Factura de cumpărare {0} este deja depusă,
-Purchase Manager,Cumpărare Director,
-Purchase Master Manager,Cumpărare Maestru de Management,
-Purchase Order,Comandă de aprovizionare,
-Purchase Order Amount,Suma comenzii de cumpărare,
-Purchase Order Amount(Company Currency),Suma comenzii de cumpărare (moneda companiei),
-Purchase Order Date,Data comenzii de cumpărare,
-Purchase Order Items not received on time,Elemente de comandă de cumpărare care nu au fost primite la timp,
-Purchase Order number required for Item {0},Număr de comandă de aprovizionare necesare pentru postul {0},
-Purchase Order to Payment,Comandă de aprovizionare de plata,
-Purchase Order {0} is not submitted,Comandă {0} nu este prezentat,
-Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Comenzile de cumpărare nu sunt permise pentru {0} datorită unui punctaj din {1}.,
-Purchase Orders given to Suppliers.,A achiziționa ordine de date Furnizori.,
-Purchase Price List,Cumparare Lista de preturi,
-Purchase Receipt,Primirea de cumpărare,
-Purchase Receipt {0} is not submitted,Primirea de cumpărare {0} nu este prezentat,
-Purchase Tax Template,Achiziționa Format fiscală,
-Purchase User,Cumpărare de utilizare,
-Purchase orders help you plan and follow up on your purchases,Comenzile de aprovizionare vă ajuta să planificați și să urmați pe achizițiile dvs.,
-Purchasing,cumpărare,
-Purpose must be one of {0},Scopul trebuie să fie una dintre {0},
-Qty,Cantitate,
-Qty To Manufacture,Cantitate pentru fabricare,
-Qty Total,Cantitate totală,
-Qty for {0},Cantitate pentru {0},
-Qualification,Calificare,
-Quality,Calitate,
-Quality Action,Acțiune de calitate,
-Quality Goal.,Obiectivul de calitate.,
-Quality Inspection,Inspecție de calitate,
-Quality Inspection: {0} is not submitted for the item: {1} in row {2},Inspecție de calitate: {0} nu este trimis pentru articol: {1} în rândul {2},
-Quality Management,Managementul calității,
-Quality Meeting,Întâlnire de calitate,
-Quality Procedure,Procedura de calitate,
-Quality Procedure.,Procedura de calitate.,
-Quality Review,Evaluarea calității,
-Quantity,Cantitate,
-Quantity for Item {0} must be less than {1},Cantitatea pentru postul {0} trebuie să fie mai mică de {1},
-Quantity in row {0} ({1}) must be same as manufactured quantity {2},"Cantitatea în rândul {0} ({1}), trebuie să fie aceeași ca și cantitatea produsă {2}",
-Quantity must be less than or equal to {0},Cantitatea trebuie sa fie mai mic sau egal cu {0},
-Quantity must not be more than {0},Cantitatea nu trebuie să fie mai mare de {0},
-Quantity required for Item {0} in row {1},Cantitatea necesară pentru postul {0} în rândul {1},
-Quantity should be greater than 0,Cantitatea trebuie sa fie mai mare decât 0,
-Quantity to Make,Cantitate de făcut,
-Quantity to Manufacture must be greater than 0.,Cantitatea să Fabricare trebuie sa fie mai mare decât 0.,
-Quantity to Produce,Cantitate de produs,
-Quantity to Produce can not be less than Zero,Cantitatea de produs nu poate fi mai mică decât Zero,
-Query Options,Opțiuni de interogare,
-Queued for replacing the BOM. It may take a few minutes.,În așteptare pentru înlocuirea BOM. Ar putea dura câteva minute.,
-Queued for updating latest price in all Bill of Materials. It may take a few minutes.,A intrat în așteptare pentru actualizarea ultimului preț în toate materialele. Ar putea dura câteva minute.,
-Quick Journal Entry,Quick Jurnal de intrare,
-Quot Count,Contele de numere,
-Quot/Lead %,Cota / Plumb%,
-Quotation,Ofertă,
-Quotation {0} is cancelled,Ofertă {0} este anulat,
-Quotation {0} not of type {1},Ofertă {0} nu de tip {1},
-Quotations,Cotațiile,
-"Quotations are proposals, bids you have sent to your customers","Cotațiile sunt propuneri, sumele licitate le-ați trimis clienților dvs.",
-Quotations received from Suppliers.,Cotatiilor primite de la furnizori.,
-Quotations: ,Cotațiile:,
-Quotes to Leads or Customers.,Citate la Oportunitati sau clienți.,
-RFQs are not allowed for {0} due to a scorecard standing of {1},CV-urile nu sunt permise pentru {0} datorită unui punctaj din {1},
-Range,Interval,
-Rate,Rată,
-Rate:,Rată:,
-Rating,evaluare,
-Raw Material,Material brut,
-Raw Materials,Materie prima,
-Raw Materials cannot be blank.,Materii Prime nu poate fi gol.,
-Re-open,Re-deschide,
-Read blog,Citiți blogul,
-Read the ERPNext Manual,Citiți manualul ERPNext,
-Reading Uploaded File,Citind fișierul încărcat,
-Real Estate,Imobiliare,
-Reason For Putting On Hold,Motivul pentru a pune în așteptare,
-Reason for Hold,Motiv pentru reținere,
-Reason for hold: ,Motivul de reținere:,
-Receipt,Chitanţă,
-Receipt document must be submitted,Document primire trebuie să fie depuse,
-Receivable,De încasat,
-Receivable Account,Cont Încasări,
-Received,Primit,
-Received On,Primit la,
-Received Quantity,Cantitate primită,
-Received Stock Entries,Înscrierile primite,
-Receiver List is empty. Please create Receiver List,Receptor Lista goala. Vă rugăm să creați Receiver Lista,
-Recipients,Destinatarii,
-Reconcile,Reconcilierea,
-"Record of all communications of type email, phone, chat, visit, etc.","Înregistrare a tuturor comunicărilor de tip e-mail, telefon, chat, vizita, etc.",
-Records,Înregistrări,
-Redirect URL,Redirecționare URL-ul,
-Ref,Re,
-Ref Date,Ref Data,
-Reference,Referință,
-Reference #{0} dated {1},Reference # {0} din {1},
-Reference Date,Data de referință,
-Reference Doctype must be one of {0},Referința Doctype trebuie să fie una dintre {0},
-Reference Document,Documentul de referință,
-Reference Document Type,Referință Document Type,
-Reference No & Reference Date is required for {0},Nu referință și de referință Data este necesar pentru {0},
-Reference No and Reference Date is mandatory for Bank transaction,De referință nr și de referință Data este obligatorie pentru tranzacție bancară,
-Reference No is mandatory if you entered Reference Date,De referință nu este obligatorie în cazul în care ați introdus Reference Data,
-Reference No.,Numărul de referință,
-Reference Number,Numar de referinta,
-Reference Owner,Proprietar Referință,
-Reference Type,Tipul Referință,
-"Reference: {0}, Item Code: {1} and Customer: {2}","Referință: {0}, Cod articol: {1} și Client: {2}",
-References,Referințe,
-Refresh Token,Actualizează Indicativ,
-Region,Regiune,
-Register,Înregistrare,
-Reject,Respinge,
-Rejected,Respinse,
-Related,Legate de,
-Relation with Guardian1,Relația cu Guardian1,
-Relation with Guardian2,Relația cu Guardian2,
-Release Date,Data eliberării,
-Reload Linked Analysis,Reîncărcați Analiza Legată,
-Remaining,Rămas,
-Remaining Balance,Balanța rămasă,
-Remarks,Remarci,
-Reminder to update GSTIN Sent,Memento pentru actualizarea mesajului GSTIN Trimis,
-Remove item if charges is not applicable to that item,Eliminați element cazul în care costurile nu se aplică în acest element,
-Removed items with no change in quantity or value.,Articole eliminate fară nici o schimbare de cantitate sau  valoare.,
-Reopen,Redeschide,
-Reorder Level,Nivel pentru re-comanda,
-Reorder Qty,Cantitatea de comandat,
-Repeat Customer Revenue,Repetați Venituri Clienți,
-Repeat Customers,Clienții repetate,
-Replace BOM and update latest price in all BOMs,Înlocuiește BOM și actualizează prețul recent în toate BOM-urile,
-Replied,A răspuns:,
-Replies,Răspunsuri,
-Report,Raport,
-Report Builder,Constructor Raport,
-Report Type,Tip Raport,
-Report Type is mandatory,Tip Raport obligatoriu,
-Reports,Rapoarte,
-Reqd By Date,Cerere livrare la data de,
-Reqd Qty,Reqd Cantitate,
-Request for Quotation,Cerere de ofertă,
-Request for Quotations,Cerere de Oferte,
-Request for Raw Materials,Cerere pentru materii prime,
-Request for purchase.,Cerere de achizitie.,
-Request for quotation.,Cerere de ofertă.,
-Requested Qty,Cant. Solicitată,
-"Requested Qty: Quantity requested for purchase, but not ordered.","A solicitat Cantitate: Cantitatea solicitate pentru achiziții, dar nu a ordonat.",
-Requesting Site,Solicitarea site-ului,
-Requesting payment against {0} {1} for amount {2},Se solicita plata contra {0} {1} pentru suma {2},
-Requestor,care a făcut cererea,
-Required On,Cerut pe,
-Required Qty,Cantitate ceruta,
-Required Quantity,Cantitatea necesară,
-Reschedule,Reprogramează,
-Research,Cercetare,
-Research & Development,Cercetare & Dezvoltare,
-Researcher,Cercetător,
-Resend Payment Email,Retrimiteți e-mail-ul de plată,
-Reserve Warehouse,Rezervați Depozitul,
-Reserved Qty,Cant. rezervata,
-Reserved Qty for Production,Cant. rezervata pentru producție,
-Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Cantitate rezervată pentru producție: cantitate de materii prime pentru fabricarea articolelor de fabricație.,
-"Reserved Qty: Quantity ordered for sale, but not delivered.","Rezervate Cantitate: Cantitatea comandat de vânzare, dar nu livrat.",
-Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Depozitul rezervat este obligatoriu pentru articolul {0} din materiile prime furnizate,
-Reserved for manufacturing,Rezervat pentru fabricare,
-Reserved for sale,Rezervat pentru vânzare,
-Reserved for sub contracting,Rezervat pentru subcontractare,
-Resistant,Rezistent,
-Resolve error and upload again.,Rezolvați eroarea și încărcați din nou.,
-Responsibilities,responsabilităţi,
-Rest Of The World,Restul lumii,
-Restart Subscription,Reporniți Abonament,
-Restaurant,Restaurant,
-Result Date,Data rezultatului,
-Result already Submitted,Rezultatul deja trimis,
-Resume,Reluare,
-Retail,Cu amănuntul,
-Retail & Wholesale,Retail & Wholesale,
-Retail Operations,Operațiunile de vânzare cu amănuntul,
-Retained Earnings,Venituri reținute,
-Retention Stock Entry,Reținerea stocului,
-Retention Stock Entry already created or Sample Quantity not provided,Reținerea stocului de stocare deja creată sau Cantitatea de eșantion care nu a fost furnizată,
-Return,Întoarcere,
-Return / Credit Note,Revenire / credit Notă,
-Return / Debit Note,Returnare / debit Notă,
-Returns,Se intoarce,
-Reverse Journal Entry,Intrare în jurnal invers,
-Review Invitation Sent,Examinarea invitației trimisă,
-Review and Action,Revizuire și acțiune,
-Role,Rol,
-Rooms Booked,Camere rezervate,
-Root Company,Companie de rădăcină,
-Root Type,Rădăcină Tip,
-Root Type is mandatory,Rădăcină de tip este obligatorie,
-Root cannot be edited.,Rădăcină nu poate fi editat.,
-Root cannot have a parent cost center,Rădăcină nu poate avea un centru de cost părinte,
-Round Off,Rotunji,
-Rounded Total,Rotunjite total,
-Route,Traseu,
-Row # {0}: ,Rând # {0}:,
-Row # {0}: Batch No must be same as {1} {2},Row # {0}: Lot nr trebuie să fie aceeași ca și {1} {2},
-Row # {0}: Cannot return more than {1} for Item {2},Row # {0}: nu se pot întoarce mai mult {1} pentru postul {2},
-Row # {0}: Rate cannot be greater than the rate used in {1} {2},Rândul # {0}: Rata nu poate fi mai mare decât rata folosită în {1} {2},
-Row # {0}: Serial No is mandatory,Row # {0}: Nu serial este obligatorie,
-Row # {0}: Serial No {1} does not match with {2} {3},Row # {0}: Serial No {1} nu se potrivește cu {2} {3},
-Row #{0} (Payment Table): Amount must be negative,Rândul # {0} (tabelul de plată): Suma trebuie să fie negativă,
-Row #{0} (Payment Table): Amount must be positive,Rândul # {0} (tabelul de plată): Suma trebuie să fie pozitivă,
-Row #{0}: Account {1} does not belong to company {2},Rândul # {0}: Contul {1} nu aparține companiei {2},
-Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Rândul # {0}: Suma alocată nu poate fi mai mare decât suma rămasă.,
-"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Rând # {0}: {1} activ nu poate fi prezentat, este deja {2}",
-Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Rândul # {0}: nu se poate seta Rata dacă suma este mai mare decât suma facturată pentru articolul {1}.,
-Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Rând # {0}: Data de lichidare {1} nu poate fi înainte de Cheque Data {2},
-Row #{0}: Duplicate entry in References {1} {2},Rândul # {0}: intrarea duplicat în referințe {1} {2},
-Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Row # {0}: Data livrării așteptată nu poate fi înainte de data comenzii de achiziție,
-Row #{0}: Item added,Rândul # {0}: articol adăugat,
-Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Rând # {0}: Jurnal de intrare {1} nu are cont {2} sau deja compensată împotriva unui alt voucher,
-Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Row # {0}: Nu este permis să schimbe furnizorul ca Comandă există deja,
-Row #{0}: Please set reorder quantity,Row # {0}: Va rugam sa seta cantitatea reordona,
-Row #{0}: Please specify Serial No for Item {1},Rând # {0}: Vă rugăm să specificați Nu serial pentru postul {1},
-Row #{0}: Qty increased by 1,Rândul # {0}: cantitatea a crescut cu 1,
-Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Row # {0}: Rata trebuie să fie aceeași ca și {1}: {2} ({3} / {4}),
-Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Rândul # {0}: Tipul de document de referință trebuie să fie una dintre revendicările de cheltuieli sau intrări în jurnal,
-"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Rând # {0}: Tip document de referință trebuie să fie unul dintre comandă cumparare, factură sau Jurnal de intrare",
-Row #{0}: Rejected Qty can not be entered in Purchase Return,Row # {0}: Respins Cantitate nu pot fi introduse în Purchase Întoarcere,
-Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Row # {0}: Respins Warehouse este obligatorie împotriva postul respins {1},
-Row #{0}: Reqd by Date cannot be before Transaction Date,Rândul # {0}: Reqd by Date nu poate fi înainte de data tranzacției,
-Row #{0}: Set Supplier for item {1},Row # {0}: Set Furnizor de produs {1},
-Row #{0}: Status must be {1} for Invoice Discounting {2},Rândul # {0}: starea trebuie să fie {1} pentru reducerea facturilor {2},
-"Row #{0}: The batch {1} has only {2} qty. Please select another batch which has {3} qty available or split the row into multiple rows, to deliver/issue from multiple batches","Rândul # {0}: lotul {1} are doar {2} qty. Selectați un alt lot care are {3} qty disponibil sau împărți rândul în mai multe rânduri, pentru a livra / emite din mai multe loturi",
-Row #{0}: Timings conflicts with row {1},Rând # {0}: conflicte timpilor cu rândul {1},
-Row #{0}: {1} can not be negative for item {2},Row # {0}: {1} nu poate fi negativ pentru elementul {2},
-Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Rândul nr {0}: Suma nu poate fi mai mare decât așteptarea Suma împotriva revendicării cheltuieli {1}. În așteptarea Suma este {2},
-Row {0} : Operation is required against the raw material item {1},Rândul {0}: operația este necesară împotriva elementului de materie primă {1},
-Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2},Rândul {0} # Suma alocată {1} nu poate fi mai mare decât suma nerevendicată {2},
-Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},Rândul {0} # Articol {1} nu poate fi transferat mai mult de {2} față de comanda de aprovizionare {3},
-Row {0}# Paid Amount cannot be greater than requested advance amount,Rândul {0} # Suma plătită nu poate fi mai mare decât suma solicitată în avans,
-Row {0}: Activity Type is mandatory.,Rândul {0}: Activitatea de tip este obligatorie.,
-Row {0}: Advance against Customer must be credit,Row {0}: avans Clientul trebuie să fie de credit,
-Row {0}: Advance against Supplier must be debit,Row {0}: Advance împotriva Furnizor trebuie să fie de debit,
-Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Rândul {0}: Suma alocată {1} trebuie să fie mai mic sau egal cu suma de plată de intrare {2},
-Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Rândul {0}: Suma alocată {1} trebuie să fie mai mic sau egal cu factura suma restanta {2},
-Row {0}: An Reorder entry already exists for this warehouse {1},Rând {0}: O intrare de Comandă există deja pentru acest depozit {1},
-Row {0}: Bill of Materials not found for the Item {1},Rândul {0}: Lista de materiale nu a fost găsit pentru elementul {1},
-Row {0}: Conversion Factor is mandatory,Rând {0}: Factorul de conversie este obligatorie,
-Row {0}: Cost center is required for an item {1},Rând {0}: este necesar un centru de cost pentru un element {1},
-Row {0}: Credit entry can not be linked with a {1},Rând {0}: intrare de credit nu poate fi legat de o {1},
-Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Rând {0}: Moneda de BOM # {1} ar trebui să fie egal cu moneda selectată {2},
-Row {0}: Debit entry can not be linked with a {1},Rând {0}: debit de intrare nu poate fi legat de o {1},
-Row {0}: Depreciation Start Date is required,Rând {0}: este necesară începerea amortizării,
-Row {0}: Enter location for the asset item {1},Rând {0}: introduceți locația pentru elementul de activ {1},
-Row {0}: Exchange Rate is mandatory,Row {0}: Cursul de schimb este obligatoriu,
-Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Rând {0}: Valoarea așteptată după viața utilă trebuie să fie mai mică decât suma brută de achiziție,
-Row {0}: From Time and To Time is mandatory.,Rândul {0}: De la timp și de Ora este obligatorie.,
-Row {0}: From Time and To Time of {1} is overlapping with {2},Rândul {0}: De la timp și Ora {1} se suprapune cu {2},
-Row {0}: From time must be less than to time,Rândul {0}: Din timp trebuie să fie mai mic decât în timp,
-Row {0}: Hours value must be greater than zero.,Rândul {0}: Valoarea ore trebuie să fie mai mare decât zero.,
-Row {0}: Invalid reference {1},Rândul {0}: referință invalid {1},
-Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Rând {0}: Parte / conturi nu se potrivește cu {1} / {2} din {3} {4},
-Row {0}: Party Type and Party is required for Receivable / Payable account {1},Row {0}: Partidul Tipul și Partidul este necesar pentru creanțe / cont plateste {1},
-Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Rând {0}: Plata împotriva Vânzări / Ordinului de Procurare ar trebui să fie întotdeauna marcate ca avans,
-Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,"Rând {0}: Vă rugăm să verificați ""Este Advance"" împotriva Cont {1} dacă aceasta este o intrare în avans.",
-Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Rândul {0}: Vă rugăm să setați motivul scutirii de taxe în impozitele și taxele de vânzare,
-Row {0}: Please set the Mode of Payment in Payment Schedule,Rândul {0}: Vă rugăm să setați modul de plată în programul de plată,
-Row {0}: Please set the correct code on Mode of Payment {1},Rândul {0}: Vă rugăm să setați codul corect pe Modul de plată {1},
-Row {0}: Qty is mandatory,Rând {0}: Cant este obligatorie,
-Row {0}: Quality Inspection rejected for item {1},Rândul {0}: Inspecția de calitate a fost respinsă pentru articolul {1},
-Row {0}: UOM Conversion Factor is mandatory,Row {0}: Factorul de conversie UOM este obligatorie,
-Row {0}: select the workstation against the operation {1},Rând {0}: selectați stația de lucru pentru operația {1},
-Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Rând {0}: {1} Numerele de serie necesare pentru articolul {2}. Ați oferit {3}.,
-Row {0}: {1} must be greater than 0,Rând {0}: {1} trebuie să fie mai mare de 0,
-Row {0}: {1} {2} does not match with {3},Rând {0}: {1} {2} nu se potrivește cu {3},
-Row {0}:Start Date must be before End Date,Rând {0}: Data începerii trebuie să fie înainte de Data de încheiere,
-Rows with duplicate due dates in other rows were found: {0},Au fost găsite rânduri cu date scadente în alte rânduri: {0},
-Rules for adding shipping costs.,Reguli pentru a adăuga costurile de transport maritim.,
-Rules for applying pricing and discount.,Normele de aplicare de stabilire a prețurilor și de scont.,
-S.O. No.,SO No.,
-SGST Amount,Suma SGST,
-SO Qty,SO Cantitate,
-Safety Stock,Stoc de siguranta,
-Salary,Salariu,
-Salary Slip ID,ID-ul de salarizare alunecare,
-Salary Slip of employee {0} already created for this period,Platā angajatului {0} deja creat pentru această perioadă,
-Salary Slip of employee {0} already created for time sheet {1},Salariu de alunecare angajat al {0} deja creat pentru foaie de timp {1},
-Salary Slip submitted for period from {0} to {1},Plata salariului trimisă pentru perioada de la {0} la {1},
-Salary Structure Assignment for Employee already exists,Atribuirea structurii salariale pentru angajat există deja,
-Salary Structure Missing,Structura de salarizare lipsă,
-Salary Structure must be submitted before submission of Tax Ememption Declaration,Structura salariului trebuie depusă înainte de depunerea Declarației de eliberare de impozite,
-Salary Structure not found for employee {0} and date {1},Structura salarială nu a fost găsită pentru angajat {0} și data {1},
-Salary Structure should have flexible benefit component(s) to dispense benefit amount,Structura salariilor ar trebui să aibă componente flexibile pentru beneficiu pentru a renunța la suma beneficiilor,
-"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.","Salariu au fost deja procesate pentru perioada între {0} și {1}, Lăsați perioada de aplicare nu poate fi între acest interval de date.",
-Sales,Vânzări,
-Sales Account,Cont de vanzari,
-Sales Expenses,Cheltuieli de Vânzare,
-Sales Funnel,Pâlnie Vânzări,
-Sales Invoice,Factură de vânzări,
-Sales Invoice {0} has already been submitted,Factură de vânzări {0} a fost deja prezentat,
-Sales Invoice {0} must be cancelled before cancelling this Sales Order,Factură de vânzări {0} trebuie anulată înainte de a anula această comandă de vânzări,
-Sales Manager,Director De Vânzări,
-Sales Master Manager,Vânzări Maestru de Management,
-Sales Order,Comandă de vânzări,
-Sales Order Item,Comandă de vânzări Postul,
-Sales Order required for Item {0},Ordinul de vânzări necesar pentru postul {0},
-Sales Order to Payment,Comanda de vânzări la plată,
-Sales Order {0} is not submitted,Comandă de vânzări {0} nu este prezentat,
-Sales Order {0} is not valid,Comandă de vânzări {0} nu este valid,
-Sales Order {0} is {1},Comandă de vânzări {0} este {1},
-Sales Orders,Comenzi de Vânzări,
-Sales Partner,Partener de vânzări,
-Sales Pipeline,Conductă de Vânzări,
-Sales Price List,Lista de prețuri de vânzare,
-Sales Return,Vânzări de returnare,
-Sales Summary,Rezumat Vânzări,
-Sales Tax Template,Format impozitul pe vânzări,
-Sales Team,Echipa de vânzări,
-Sales User,Vânzări de utilizare,
-Sales and Returns,Vânzări și returnări,
-Sales campaigns.,Campanii de vânzări.,
-Sales orders are not available for production,Comenzile de vânzări nu sunt disponibile pentru producție,
-Salutation,Salut,
-Same Company is entered more than once,Aceeași societate este înscris de mai multe ori,
-Same item cannot be entered multiple times.,Același articol nu poate fi introdus de mai multe ori.,
-Same supplier has been entered multiple times,Același furnizor a fost introdus de mai multe ori,
-Sample,Exemplu,
-Sample Collection,Colectie de mostre,
-Sample quantity {0} cannot be more than received quantity {1},Cantitatea de probe {0} nu poate fi mai mare decât cantitatea primită {1},
-Sanctioned,consacrat,
-Sanctioned Amount,Sancționate Suma,
-Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Sancționat Suma nu poate fi mai mare decât revendicarea Suma în rândul {0}.,
-Sand,Nisip,
-Saturday,Sâmbătă,
-Saved,Salvat,
-Saving {0},Salvarea {0},
-Scan Barcode,Scanează codul de bare,
-Schedule,Program,
-Schedule Admission,Programați admiterea,
-Schedule Course,Curs orar,
-Schedule Date,Program Data,
-Schedule Discharge,Programați descărcarea,
-Scheduled,Programat,
-Scheduled Upto,Programată până,
-"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Programări pentru suprapunerile {0}, doriți să continuați după ce ați sări peste sloturile suprapuse?",
-Score cannot be greater than Maximum Score,Scorul nu poate fi mai mare decât Scorul maxim,
-Score must be less than or equal to 5,Scorul trebuie să fie mai mică sau egală cu 5,
-Scorecards,Scorecardurilor,
-Scrapped,dezmembrate,
-Search,Căutare,
-Search Results,rezultatele cautarii,
-Search Sub Assemblies,Căutare subansambluri,
-"Search by item code, serial number, batch no or barcode","Căutați după codul de articol, numărul de serie, numărul lotului sau codul de bare",
-"Seasonality for setting budgets, targets etc.","Sezonalitatea pentru stabilirea bugetelor, obiective etc.",
-Secret Key,Cheie secreta,
-Secretary,Secretar,
-Section Code,Codul secțiunii,
-Secured Loans,Împrumuturi garantate,
-Securities & Commodity Exchanges,A Valorilor Mobiliare și Burselor de Mărfuri,
-Securities and Deposits,Titluri de valoare și depozite,
-See All Articles,Vezi toate articolele,
-See all open tickets,Vedeți toate biletele deschise,
-See past orders,Vezi comenzile anterioare,
-See past quotations,Vezi citate anterioare,
-Select,Selectează,
-Select Alternate Item,Selectați elementul alternativ,
-Select Attribute Values,Selectați valorile atributelor,
-Select BOM,Selectați BOM,
-Select BOM and Qty for Production,Selectați BOM și Cant pentru producție,
-"Select BOM, Qty and For Warehouse","Selectați BOM, Qty și For Warehouse",
-Select Batch,Selectați lotul,
-Select Batch Numbers,Selectați numerele lotului,
-Select Brand...,Selectați marca ...,
-Select Company,Selectați Companie,
-Select Company...,Selectați compania ...,
-Select Customer,Selectați Client,
-Select Days,Selectați Zile,
-Select Default Supplier,Selectați Furnizor implicit,
-Select DocType,Selectați DocType,
-Select Fiscal Year...,Selectați Anul fiscal ...,
-Select Item (optional),Selectați elementul (opțional),
-Select Items based on Delivery Date,Selectați elementele bazate pe data livrării,
-Select Items to Manufacture,Selectați elementele de Fabricare,
-Select Loyalty Program,Selectați programul de loialitate,
-Select Patient,Selectați pacientul,
-Select Possible Supplier,Selectați Posibil furnizor,
-Select Property,Selectați proprietatea,
-Select Quantity,Selectați Cantitate,
-Select Serial Numbers,Selectați numerele de serie,
-Select Target Warehouse,Selectați Target Warehouse,
-Select Warehouse...,Selectați Depozit ...,
-Select an account to print in account currency,Selectați un cont pentru a imprima în moneda contului,
-Select an employee to get the employee advance.,Selectați un angajat pentru a avansa angajatul.,
-Select at least one value from each of the attributes.,Selectați cel puțin o valoare din fiecare dintre atribute.,
-Select change amount account,cont Selectați suma schimbare,
-Select company first,Selectați mai întâi compania,
-Select students manually for the Activity based Group,Selectați manual elevii pentru grupul bazat pe activități,
-Select the customer or supplier.,Selectați clientul sau furnizorul.,
-Select the nature of your business.,Selectați natura afacerii dumneavoastră.,
-Select the program first,Selectați mai întâi programul,
-Select to add Serial Number.,Selectați pentru a adăuga număr de serie.,
-Select your Domains,Selectați-vă domeniile,
-Selected Price List should have buying and selling fields checked.,Lista de prețuri selectată ar trebui să verifice câmpurile de cumpărare și vânzare.,
-Sell,Vinde,
-Selling,Vânzare,
-Selling Amount,Vanzarea Suma,
-Selling Price List,Listă Prețuri de Vânzare,
-Selling Rate,Rata de vanzare,
-"Selling must be checked, if Applicable For is selected as {0}","De vânzare trebuie să fie verificate, dacă este cazul Pentru este selectat ca {0}",
-Send Grant Review Email,Trimiteți e-mailul de examinare a granturilor,
-Send Now,Trimite Acum,
-Send SMS,Trimite SMS,
-Send mass SMS to your contacts,Trimite SMS-uri în masă a persoanelor de contact,
-Sensitivity,Sensibilitate,
-Sent,Trimis,
-Serial No and Batch,Serial și Lot nr,
-Serial No is mandatory for Item {0},Nu serial este obligatorie pentru postul {0},
-Serial No {0} does not belong to Batch {1},Numărul de serie {0} nu aparține lotului {1},
-Serial No {0} does not belong to Delivery Note {1},Serial No {0} nu aparține de livrare Nota {1},
-Serial No {0} does not belong to Item {1},Serial Nu {0} nu aparține postul {1},
-Serial No {0} does not belong to Warehouse {1},Serial Nu {0} nu apartine Warehouse {1},
-Serial No {0} does not belong to any Warehouse,Serial nr {0} nu apartine nici unei Warehouse,
-Serial No {0} does not exist,Serial Nu {0} nu există,
-Serial No {0} has already been received,Serial Nu {0} a fost deja primit,
-Serial No {0} is under maintenance contract upto {1},Serial Nu {0} este sub contract de întreținere pana {1},
-Serial No {0} is under warranty upto {1},Serial Nu {0} este în garanție pana {1},
-Serial No {0} not found,Serial nr {0} nu a fost găsit,
-Serial No {0} not in stock,Serial Nu {0} nu este în stoc,
-Serial No {0} quantity {1} cannot be a fraction,Serial Nu {0} {1} cantitate nu poate fi o fracțiune,
-Serial Nos Required for Serialized Item {0},Serial nr necesare pentru postul serializat {0},
-Serial Number: {0} is already referenced in Sales Invoice: {1},Numărul de serie: {0} este deja menționat în factura de vânzare: {1},
-Serial Numbers,Numere de serie,
-Serial Numbers in row {0} does not match with Delivery Note,Numerele de serie din rândul {0} nu se potrivesc cu Nota de livrare,
-Serial no {0} has been already returned,Numărul serial {0} nu a fost deja returnat,
-Serial number {0} entered more than once,Număr de serie {0} a intrat de mai multe ori,
-Serialized Inventory,Inventarul serializat,
-Series Updated,Seria Actualizat,
-Series Updated Successfully,Seria Actualizat cu succes,
-Series is mandatory,Seria este obligatorie,
-Series {0} already used in {1},Series {0} folosit deja în {1},
-Service,Servicii,
-Service Expense,Cheltuieli de serviciu,
-Service Level Agreement,Acord privind nivelul serviciilor,
-Service Level Agreement.,Acord privind nivelul serviciilor.,
-Service Level.,Nivel de servicii.,
-Service Stop Date cannot be after Service End Date,Dată de încetare a serviciului nu poate fi după Data de încheiere a serviciului,
-Service Stop Date cannot be before Service Start Date,Data de începere a serviciului nu poate fi înaintea datei de începere a serviciului,
-Services,Servicii,
-"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Seta valorile implicite, cum ar fi Compania, valutar, Current Anul fiscal, etc",
-Set Details,Setați detalii,
-Set New Release Date,Setați noua dată de lansare,
-Set Project and all Tasks to status {0}?,Setați proiectul și toate sarcinile la starea {0}?,
-Set Status,Setați starea,
-Set Tax Rule for shopping cart,Set Regula fiscală pentru coșul de cumpărături,
-Set as Closed,Setați ca închis,
-Set as Completed,Setați ca Finalizat,
-Set as Default,Setat ca implicit,
-Set as Lost,Setați ca Lost,
-Set as Open,Setați ca Deschis,
-Set default inventory account for perpetual inventory,Setați contul inventarului implicit pentru inventarul perpetuu,
-Set this if the customer is a Public Administration company.,Setați acest lucru dacă clientul este o companie de administrare publică.,
-Set {0} in asset category {1} or company {2},Setați {0} în categoria de active {1} sau în companie {2},
-"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Setarea Evenimente la {0}, deoarece angajatul atașat la mai jos de vânzare Persoanele care nu are un ID de utilizator {1}",
-Setting defaults,Setarea valorilor implicite,
-Setting up Email,Configurarea e-mail,
-Setting up Email Account,Configurarea contului de e-mail,
-Setting up Employees,Configurarea angajati,
-Setting up Taxes,Configurarea Impozite,
-Setting up company,Înființarea companiei,
-Settings,Setări,
-"Settings for online shopping cart such as shipping rules, price list etc.","Setări pentru cosul de cumparaturi on-line, cum ar fi normele de transport maritim, lista de preturi, etc.",
-Settings for website homepage,Setările pentru pagina de start site-ul web,
-Settings for website product listing,Setări pentru listarea produselor site-ului web,
-Settled,Stabilit,
-Setup Gateway accounts.,Setup conturi Gateway.,
-Setup SMS gateway settings,Setări de configurare SMS gateway-ul,
-Setup cheque dimensions for printing,Dimensiunile de instalare pentru imprimare de verificare,
-Setup default values for POS Invoices,Configurați valorile implicite pentru facturile POS,
-Setup mode of POS (Online / Offline),Modul de configurare a POS (online / offline),
-Setup your Institute in ERPNext,Configurați-vă Institutul în ERPNext,
-Share Balance,Soldul acțiunilor,
-Share Ledger,Împărțiți Registru Contabil,
-Share Management,Gestiune partajare,
-Share Transfer,Trimiteți transferul,
-Share Type,Tipul de distribuire,
-Shareholder,Acționar,
-Ship To State,Transport către stat,
-Shipments,Transporturile,
-Shipping,Transport,
-Shipping Address,Adresa de livrare,
-"Shipping Address does not have country, which is required for this Shipping Rule","Adresa de expediere nu are țara, care este necesară pentru această regulă de transport",
-Shipping rule only applicable for Buying,Regulă de expediere aplicabilă numai pentru cumpărături,
-Shipping rule only applicable for Selling,Regulă de expediere aplicabilă numai pentru vânzare,
-Shopify Supplier,Furnizor de magazin,
-Shopping Cart,Cosul de cumparaturi,
-Shopping Cart Settings,Setări Cosul de cumparaturi,
-Short Name,Numele scurt,
-Shortage Qty,Lipsă Cantitate,
-Show Completed,Spectacol finalizat,
-Show Cumulative Amount,Afișați suma cumulată,
-Show Employee,Afișați angajatul,
-Show Open,Afișați deschis,
-Show Opening Entries,Afișare intrări de deschidere,
-Show Payment Details,Afișați detaliile de plată,
-Show Return Entries,Afișați înregistrările returnate,
-Show Salary Slip,Afișează Salariu alunecare,
-Show Variant Attributes,Afișați atribute variate,
-Show Variants,Arată Variante,
-Show closed,Afișează închis,
-Show exploded view,Afișați vizualizarea explodată,
-Show only POS,Afișați numai POS,
-Show unclosed fiscal year's P&L balances,Afișați soldurile L P &amp; anul fiscal unclosed lui,
-Show zero values,Afiseaza valorile nule,
-Sick Leave,A concediului medical,
-Silt,Nămol,
-Single Variant,Varianta unică,
-Single unit of an Item.,Unitate unică a unui articol.,
-"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Scăderea listei de alocare pentru următorii angajați, deoarece înregistrările privind alocarea listei există deja împotriva acestora. {0}",
-"Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}","Trecerea alocării structurii salariale pentru următorii angajați, întrucât înregistrările privind structura salariului există deja împotriva lor {0}",
-Slideshow,Slideshow,
-Slots for {0} are not added to the schedule,Sloturile pentru {0} nu sunt adăugate la program,
-Small,Mic,
-Soap & Detergent,Soap & Detergent,
-Software,Software,
-Software Developer,Software Developer,
-Softwares,Softwares,
-Soil compositions do not add up to 100,Compozițiile solului nu adaugă până la 100,
-Sold,Vândut,
-Some emails are invalid,Unele e-mailuri sunt nevalide,
-Some information is missing,Lipsesc unele informații,
-Something went wrong!,Ceva a mers prost!,
-"Sorry, Serial Nos cannot be merged","Ne pare rău, Serial nr nu se pot uni",
-Source,Sursă,
-Source Name,sursa Nume,
-Source Warehouse,Depozit Sursă,
-Source and Target Location cannot be same,Sursa și locația țintă nu pot fi identice,
-Source and target warehouse cannot be same for row {0},Sursă și depozit țintă nu poate fi același pentru rând {0},
-Source and target warehouse must be different,Sursa și depozitul țintă trebuie să fie diferit,
-Source of Funds (Liabilities),Sursa fondurilor (pasive),
-Source warehouse is mandatory for row {0},Depozit sursă este obligatorie pentru rând {0},
-Specified BOM {0} does not exist for Item {1},BOM specificată {0} nu există pentru postul {1},
-Split,Despică,
-Split Batch,Split Lot,
-Split Issue,Emisiune separată,
-Sports,Sport,
-Staffing Plan {0} already exist for designation {1},Planul de personal {0} există deja pentru desemnare {1},
-Standard,Standard,
-Standard Buying,Cumpararea Standard,
-Standard Selling,Vânzarea standard,
-Standard contract terms for Sales or Purchase.,Clauzele contractuale standard pentru vânzări sau de cumpărare.,
-Start Date,Data începerii,
-Start Date of Agreement can't be greater than or equal to End Date.,Data de începere a acordului nu poate fi mai mare sau egală cu data de încheiere.,
-Start Year,Anul de începere,
-"Start and end dates not in a valid Payroll Period, cannot calculate {0}","Datele de început și de încheiere care nu sunt într-o perioadă de salarizare valabilă, nu pot fi calculate {0}",
-"Start and end dates not in a valid Payroll Period, cannot calculate {0}.","Datele de începere și de sfârșit nu se află într-o perioadă de salarizare valabilă, nu pot calcula {0}.",
-Start date should be less than end date for Item {0},Data de începere trebuie să fie mai mică decât data de sfârșit pentru postul {0},
-Start date should be less than end date for task {0},Data de începere ar trebui să fie mai mică decât data de încheiere pentru sarcina {0},
-Start day is greater than end day in task '{0}',Ziua de început este mai mare decât ziua de sfârșit în sarcina &quot;{0}&quot;,
-Start on,Începe,
-State,Stat,
-State/UT Tax,Impozitul de stat / UT,
-Statement of Account,Extras de cont,
-Status must be one of {0},Statusul trebuie să fie unul din {0},
-Stock,Stoc,
-Stock Adjustment,Ajustarea stoc,
-Stock Analytics,Analytics stoc,
-Stock Assets,Active Stoc,
-Stock Available,Stoc disponibil,
-Stock Balance,Stoc Sold,
-Stock Entries already created for Work Order ,Înregistrări stoc deja create pentru comanda de lucru,
-Stock Entry,Stoc de intrare,
-Stock Entry {0} created,Arhivă de intrare {0} creat,
-Stock Entry {0} is not submitted,Stock intrare {0} nu este prezentat,
-Stock Expenses,Cheltuieli stoc,
-Stock In Hand,Stoc în mână,
-Stock Items,stoc,
-Stock Ledger,Registru Contabil Stocuri,
-Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Stocul Ledger Înscrieri și GL intrările sunt postate pentru selectate Veniturile achiziție,
-Stock Levels,Niveluri stoc,
-Stock Liabilities,Pasive stoc,
-Stock Options,Opțiuni pe acțiuni,
-Stock Qty,Cota stocului,
-Stock Received But Not Billed,"Stock primite, dar nu Considerat",
-Stock Reports,Rapoarte de stoc,
-Stock Summary,Rezumat Stoc,
-Stock Transactions,Tranzacții de stoc,
-Stock UOM,Stoc UOM,
-Stock Value,Valoare stoc,
-Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},echilibru stoc în Serie {0} va deveni negativ {1} pentru postul {2} la Depozitul {3},
-Stock cannot be updated against Delivery Note {0},Stock nu poate fi actualizat împotriva livrare Nota {0},
-Stock cannot be updated against Purchase Receipt {0},Stock nu poate fi actualizat cu confirmare de primire {0} Purchase,
-Stock cannot exist for Item {0} since has variants,Stock nu poate exista pentru postul {0} deoarece are variante,
-Stock transactions before {0} are frozen,Tranzacțiilor bursiere înainte de {0} sunt înghețate,
-Stop,Oprire,
-Stopped,Oprita,
-"Stopped Work Order cannot be cancelled, Unstop it first to cancel","Oprirea comenzii de lucru nu poate fi anulată, deblocați mai întâi pentru a anula",
-Stores,Magazine,
-Structures have been assigned successfully,Structurile au fost alocate cu succes,
-Student,Student,
-Student Activity,Activitatea studenților,
-Student Address,Adresa studenților,
-Student Admissions,Admitere Student,
-Student Attendance,Participarea studenților,
-"Student Batches help you track attendance, assessments and fees for students","Student Sarjele ajută să urmăriți prezență, evaluările și taxele pentru studenți",
-Student Email Address,Adresa de e-mail Student,
-Student Email ID,ID-ul de student e-mail,
-Student Group,Grupul studențesc,
-Student Group Strength,Grupul Forței Studenților,
-Student Group is already updated.,Grupul de studenți este deja actualizat.,
-Student Group: ,Grupul studenților:,
-Student ID,Carnet de student,
-Student ID: ,Carnet de student:,
-Student LMS Activity,Activitatea LMS a studenților,
-Student Mobile No.,Elev mobil Nr,
-Student Name,Numele studentului,
-Student Name: ,Numele studentului:,
-Student Report Card,Student Card de raportare,
-Student is already enrolled.,Student este deja înscris.,
-Student {0} - {1} appears Multiple times in row {2} & {3},Elev {0} - {1} apare ori multiple în rândul {2} &amp; {3},
-Student {0} does not belong to group {1},Studentul {0} nu aparține grupului {1},
-Student {0} exist against student applicant {1},Student {0} există împotriva solicitantului de student {1},
-"Students are at the heart of the system, add all your students","Studenții sunt în centrul sistemului, adăugați toți elevii",
-Sub Assemblies,Sub Assemblies,
-Sub Type,Subtipul,
-Sub-contracting,Sub-contractare,
-Subcontract,subcontract,
-Subject,Subiect,
-Submit,Trimite,
-Submit Proof,Trimiteți dovada,
-Submit Salary Slip,Prezenta Salariul Slip,
-Submit this Work Order for further processing.,Trimiteți acest ordin de lucru pentru o prelucrare ulterioară.,
-Submit this to create the Employee record,Trimiteți acest lucru pentru a crea înregistrarea angajatului,
-Submitting Salary Slips...,Trimiterea buletinelor de salariu ...,
-Subscription,Abonament,
-Subscription Management,Managementul abonamentelor,
-Subscriptions,Abonamente,
-Subtotal,subtotală,
-Successful,De succes,
-Successfully Reconciled,Împăcați cu succes,
-Successfully Set Supplier,Setați cu succes furnizorul,
-Successfully created payment entries,Au fost create intrări de plată cu succes,
-Successfully deleted all transactions related to this company!,Șters cu succes toate tranzacțiile legate de aceasta companie!,
-Sum of Scores of Assessment Criteria needs to be {0}.,Suma Scorurile de criterii de evaluare trebuie să fie {0}.,
-Sum of points for all goals should be 100. It is {0},Suma de puncte pentru toate obiectivele ar trebui să fie 100. este {0},
-Summary,Rezumat,
-Summary for this month and pending activities,Rezumat pentru această lună și activități în așteptarea,
-Summary for this week and pending activities,Rezumat pentru această săptămână și a activităților în curs,
-Sunday,Duminică,
-Suplier,furnizo,
-Supplier,Furnizor,
-Supplier Group,Grupul de furnizori,
-Supplier Group master.,Managerul grupului de furnizori.,
-Supplier Id,Furnizor Id,
-Supplier Invoice Date cannot be greater than Posting Date,Furnizor Data facturii nu poate fi mai mare decât postare Data,
-Supplier Invoice No,Furnizor Factura Nu,
-Supplier Invoice No exists in Purchase Invoice {0},Furnizor Factura nr există în factură Purchase {0},
-Supplier Name,Furnizor Denumire,
-Supplier Part No,Furnizor de piesa,
-Supplier Quotation,Furnizor ofertă,
-Supplier Scorecard,Scorul de performanță al furnizorului,
-Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Furnizor Depozit obligatoriu pentru contractate sub-cumparare Primirea,
-Supplier database.,Baza de date furnizor.,
-Supplier {0} not found in {1},Furnizorul {0} nu a fost găsit în {1},
-Supplier(s),Furnizor (e),
-Supplies made to UIN holders,Materialele furnizate deținătorilor UIN,
-Supplies made to Unregistered Persons,Furnizare pentru persoane neînregistrate,
-Suppliies made to Composition Taxable Persons,Cupluri făcute persoanelor impozabile din componență,
-Supply Type,Tip de aprovizionare,
-Support,Suport,
-Support Analytics,Suport Analytics,
-Support Settings,Setări de sprijin,
-Support Tickets,Bilete de sprijin,
-Support queries from customers.,Interogări de suport din partea clienților.,
-Susceptible,Susceptibil,
-Sync has been temporarily disabled because maximum retries have been exceeded,"Sincronizarea a fost temporar dezactivată, deoarece au fost depășite încercările maxime",
-Syntax error in condition: {0},Eroare de sintaxă în stare: {0},
-Syntax error in formula or condition: {0},Eroare de sintaxă în formulă sau stare: {0},
-System Manager,System Manager,
-TDS Rate %,Rata TDS%,
-Tap items to add them here,Atingeți elementele pentru a le adăuga aici,
-Target,Țintă,
-Target ({}),Țintă ({}),
-Target On,Țintă pe,
-Target Warehouse,Depozit Țintă,
-Target warehouse is mandatory for row {0},Depozit țintă este obligatorie pentru rând {0},
-Task,Sarcină,
-Tasks,Sarcini,
-Tasks have been created for managing the {0} disease (on row {1}),S-au creat sarcini pentru gestionarea bolii {0} (pe rândul {1}),
-Tax,Impozite,
-Tax Assets,Active Fiscale,
-Tax Category,Categoria fiscală,
-Tax Category for overriding tax rates.,Categorie de impozite pentru cote de impozitare superioare.,
-"Tax Category has been changed to ""Total"" because all the Items are non-stock items",Categoria de taxe a fost modificată la &quot;Total&quot; deoarece toate elementele nu sunt elemente stoc,
-Tax ID,ID impozit,
-Tax Id: ,Cod fiscal:,
-Tax Rate,Cota de impozitare,
-Tax Rule Conflicts with {0},Conflicte normă fiscală cu {0},
-Tax Rule for transactions.,Regula de impozit pentru tranzacțiile.,
-Tax Template is mandatory.,Format de impozitare este obligatorie.,
-Tax Withholding rates to be applied on transactions.,Ratele de reținere fiscală aplicabile tranzacțiilor.,
-Tax template for buying transactions.,Șablon taxa pentru tranzacțiilor de cumpărare.,
-Tax template for item tax rates.,Model de impozitare pentru cote de impozit pe articole.,
-Tax template for selling transactions.,Șablon impozit pentru tranzacțiile de vânzare.,
-Taxable Amount,Sumă impozabilă,
-Taxes,Impozite,
-Team Updates,echipa Actualizări,
-Technology,Tehnologia nou-aparuta,
-Telecommunications,Telecomunicații,
-Telephone Expenses,Cheltuieli de telefon,
-Television,Televiziune,
-Template Name,Numele de șablon,
-Template of terms or contract.,Șablon de termeni sau contractului.,
-Templates of supplier scorecard criteria.,Șabloane ale criteriilor privind tabloul de bord al furnizorului.,
-Templates of supplier scorecard variables.,Șabloane ale variabilelor pentru scorurile pentru furnizori.,
-Templates of supplier standings.,Modele de clasificare a furnizorilor.,
-Temporarily on Hold,Temporar în așteptare,
-Temporary,Temporar,
-Temporary Accounts,Conturi temporare,
-Temporary Opening,Deschiderea temporară,
-Terms and Conditions,Termeni si conditii,
-Terms and Conditions Template,Termeni și condiții Format,
-Territory,Teritoriu,
-Test,Test,
-Thank you,Mulțumesc,
-Thank you for your business!,Vă mulțumesc pentru afacerea dvs!,
-The 'From Package No.' field must neither be empty nor it's value less than 1.,"&quot;Din pachetul nr.&quot; câmpul nu trebuie să fie nici gol, nici valoarea lui mai mică decât 1.",
-The Brand,Marca,
-The Item {0} cannot have Batch,Postul {0} nu poate avea Lot,
-The Loyalty Program isn't valid for the selected company,Programul de loialitate nu este valabil pentru compania selectată,
-The Payment Term at row {0} is possibly a duplicate.,"Termenul de plată la rândul {0} este, eventual, un duplicat.",
-The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Pe termen Data de încheiere nu poate fi mai devreme decât Start Termen Data. Vă rugăm să corectați datele și încercați din nou.,
-The Term End Date cannot be later than the Year End Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,Pe termen Data de încheiere nu poate fi mai târziu de Anul Data de încheiere a anului universitar la care este legat termenul (anului universitar {}). Vă rugăm să corectați datele și încercați din nou.,
-The Term Start Date cannot be earlier than the Year Start Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,Start Termen Data nu poate fi mai devreme decât data Anul de începere a anului universitar la care este legat termenul (anului universitar {}). Vă rugăm să corectați datele și încercați din nou.,
-The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,Anul Data de încheiere nu poate fi mai devreme decât data An Start. Vă rugăm să corectați datele și încercați din nou.,
-The amount of {0} set in this payment request is different from the calculated amount of all payment plans: {1}. Make sure this is correct before submitting the document.,Valoarea {0} stabilită în această solicitare de plată este diferită de suma calculată a tuturor planurilor de plată: {1}. Asigurați-vă că este corect înainte de a trimite documentul.,
-The day(s) on which you are applying for leave are holidays. You need not apply for leave.,A doua zi (e) pe care se aplica pentru concediu sunt sărbători. Nu trebuie să se aplice pentru concediu.,
-The field From Shareholder cannot be blank,Câmpul From Shareholder nu poate fi gol,
-The field To Shareholder cannot be blank,Câmpul către acționar nu poate fi necompletat,
-The fields From Shareholder and To Shareholder cannot be blank,Câmpurile de la acționar și de la acționar nu pot fi goale,
-The folio numbers are not matching,Numerele folio nu se potrivesc,
-The holiday on {0} is not between From Date and To Date,Vacanta pe {0} nu este între De la data si pana in prezent,
-The name of the institute for which you are setting up this system.,Numele institutului pentru care configurați acest sistem.,
-The name of your company for which you are setting up this system.,Numele companiei dumneavoastră pentru care vă sunt configurarea acestui sistem.,
-The number of shares and the share numbers are inconsistent,Numărul de acțiuni și numerele de acțiuni sunt incoerente,
-The payment gateway account in plan {0} is different from the payment gateway account in this payment request,Contul gateway-ului de plată din plan {0} este diferit de contul gateway-ului de plată din această solicitare de plată,
-The selected BOMs are not for the same item,Cele BOM selectate nu sunt pentru același articol,
-The selected item cannot have Batch,Elementul selectat nu poate avea lot,
-The seller and the buyer cannot be the same,Vânzătorul și cumpărătorul nu pot fi aceleași,
-The shareholder does not belong to this company,Acționarul nu aparține acestei companii,
-The shares already exist,Acțiunile există deja,
-The shares don't exist with the {0},Acțiunile nu există cu {0},
-"The task has been enqueued as a background job. In case there is any issue on processing in background, the system will add a comment about the error on this Stock Reconciliation and revert to the Draft stage","Sarcina a fost considerată ca o lucrare de fond. În cazul în care există vreo problemă cu privire la procesare în fundal, sistemul va adăuga un comentariu despre eroarea la această reconciliere a stocului și va reveni la etapa de proiectare.",
-"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Apoi normelor privind prețurile sunt filtrate pe baza Customer, Client Group, Territory, furnizor, furnizor de tip, Campania, Vanzari Partener etc",
-"There are inconsistencies between the rate, no of shares and the amount calculated","Există neconcordanțe între rata, numărul de acțiuni și suma calculată",
-There are more holidays than working days this month.,Există mai multe sărbători decât de zile de lucru în această lună.,
-There can be multiple tiered collection factor based on the total spent. But the conversion factor for redemption will always be same for all the tier.,Pot exista un factor de colectare multiplu diferențiat bazat pe totalul cheltuit. Dar factorul de conversie pentru răscumpărare va fi întotdeauna același pentru toate nivelurile.,
-There can only be 1 Account per Company in {0} {1},Nu poate fi doar un cont per companie în {0} {1},
-"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Nu poate fi doar o singură regulă Condiții presetate cu 0 sau o valoare necompletată pentru ""la valoarea""",
-There is no leave period in between {0} and {1},Nu există o perioadă de concediu între {0} și {1},
-There is not enough leave balance for Leave Type {0},Nu există echilibru concediu suficient pentru concediul de tip {0},
-There is nothing to edit.,Nu este nimic pentru editat.,
-There isn't any item variant for the selected item,Nu există variante de elemente pentru elementul selectat,
-"There seems to be an issue with the server's GoCardless configuration. Don't worry, in case of failure, the amount will get refunded to your account.","Se pare că există o problemă cu configurația serverului GoCardless. Nu vă faceți griji, în caz de eșec, suma va fi rambursată în cont.",
-There were errors creating Course Schedule,Au apărut erori la crearea programului de curs,
-There were errors.,Au fost erori.,
-This Item is a Template and cannot be used in transactions. Item attributes will be copied over into the variants unless 'No Copy' is set,"Acest post este un șablon și nu pot fi folosite în tranzacții. Atribute articol vor fi copiate pe în variantele cu excepția cazului în este setat ""Nu Copy""",
-This Item is a Variant of {0} (Template).,Acest element este o variantă de {0} (șablon).,
-This Month's Summary,Rezumatul acestei luni,
-This Week's Summary,Rezumat această săptămână,
-This action will stop future billing. Are you sure you want to cancel this subscription?,Această acțiune va opri facturarea viitoare. Sigur doriți să anulați acest abonament?,
-This covers all scorecards tied to this Setup,Aceasta acoperă toate tabelele de scoruri legate de această configurație,
-This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Acest document este peste limita de {0} {1} pentru elementul {4}. Faci un alt {3} împotriva aceleași {2}?,
-This is a root account and cannot be edited.,Acesta este un cont de rădăcină și nu pot fi editate.,
-This is a root customer group and cannot be edited.,Acesta este un grup de clienți rădăcină și nu pot fi editate.,
-This is a root department and cannot be edited.,Acesta este un departament rădăcină și nu poate fi editat.,
-This is a root healthcare service unit and cannot be edited.,Aceasta este o unitate de asistență medicală rădăcină și nu poate fi editată.,
-This is a root item group and cannot be edited.,Acesta este un grup element rădăcină și nu pot fi editate.,
-This is a root sales person and cannot be edited.,Aceasta este o persoană de vânzări rădăcină și nu pot fi editate.,
-This is a root supplier group and cannot be edited.,Acesta este un grup de furnizori rădăcini și nu poate fi editat.,
-This is a root territory and cannot be edited.,Acesta este un teritoriu rădăcină și nu pot fi editate.,
-This is an example website auto-generated from ERPNext,Acesta este un site web exemplu auto-generat de ERPNext,
-This is based on logs against this Vehicle. See timeline below for details,Aceasta se bazează pe bușteni împotriva acestui vehicul. A se vedea calendarul de mai jos pentru detalii,
-This is based on stock movement. See {0} for details,Aceasta se bazează pe mișcare stoc. A se vedea {0} pentru detalii,
-This is based on the Time Sheets created against this project,Aceasta se bazează pe fișele de pontaj create împotriva acestui proiect,
-This is based on the attendance of this Employee,Aceasta se bazează pe prezența a acestui angajat,
-This is based on the attendance of this Student,Aceasta se bazează pe prezența acestui student,
-This is based on transactions against this Customer. See timeline below for details,Aceasta se bazează pe tranzacțiile împotriva acestui client. A se vedea calendarul de mai jos pentru detalii,
-This is based on transactions against this Healthcare Practitioner.,Aceasta se bazează pe tranzacțiile împotriva acestui medic.,
-This is based on transactions against this Patient. See timeline below for details,Aceasta se bazează pe tranzacțiile împotriva acestui pacient. Consultați linia temporală de mai jos pentru detalii,
-This is based on transactions against this Sales Person. See timeline below for details,Aceasta se bazează pe tranzacțiile efectuate împotriva acestei persoane de vânzări. Consultați linia temporală de mai jos pentru detalii,
-This is based on transactions against this Supplier. See timeline below for details,Aceasta se bazează pe tranzacțiile împotriva acestui furnizor. A se vedea calendarul de mai jos pentru detalii,
-This will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,Aceasta va trimite salariile de salarizare și va crea înregistrarea de înregistrare în jurnal. Doriți să continuați?,
-This {0} conflicts with {1} for {2} {3},Acest {0} conflicte cu {1} pentru {2} {3},
-Time Sheet for manufacturing.,Fișa de timp pentru fabricație.,
-Time Tracking,Urmărirea timpului,
-"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Slotul de timp a fost anulat, slotul {0} până la {1} suprapune slotul existent {2} până la {3}",
-Time slots added,Au fost adăugate sloturi de timp,
-Time(in mins),Timp (în min),
-Timer,Cronometrul,
-Timer exceeded the given hours.,Timerul a depășit orele date.,
-Timesheet,Pontaj,
-Timesheet for tasks.,Timesheet pentru sarcini.,
-Timesheet {0} is already completed or cancelled,Pontajul {0} este deja finalizat sau anulat,
-Timesheets,pontaje,
-"Timesheets help keep track of time, cost and billing for activites done by your team","Pontaje ajuta să urmăriți timp, costuri și de facturare pentru activitati efectuate de echipa ta",
-Titles for print templates e.g. Proforma Invoice.,"Titluri de șabloane de imprimare, de exemplu proforma Factura.",
-To,La,
-To Address 1,Pentru a adresa 1,
-To Address 2,Pentru a adresa 2,
-To Bill,Pentru a Bill,
-To Date,La Data,
-To Date cannot be before From Date,Până în prezent nu poate fi înainte de data,
-To Date cannot be less than From Date,Data nu poate fi mai mică decât Din data,
-To Date must be greater than From Date,Pentru data trebuie să fie mai mare decât de la data,
-To Date should be within the Fiscal Year. Assuming To Date = {0},Pentru a Data ar trebui să fie în anul fiscal. Presupunând Pentru a Data = {0},
-To Datetime,Pentru a Datetime,
-To Deliver,A livra,
-To Deliver and Bill,Pentru a livra și Bill,
-To Fiscal Year,Anul fiscal,
-To GSTIN,Pentru GSTIN,
-To Party Name,La numele partidului,
-To Pin Code,Pentru a activa codul,
-To Place,A plasa,
-To Receive,A primi,
-To Receive and Bill,Pentru a primi și Bill,
-To State,A afirma,
-To Warehouse,La Depozit,
-To create a Payment Request reference document is required,Pentru a crea un document de referință privind solicitarea de plată este necesar,
-To date can not be equal or less than from date,Până în prezent nu poate fi egală sau mai mică decât de la data,
-To date can not be less than from date,Până în prezent nu poate fi mai mică decât de la data,
-To date can not greater than employee's relieving date,Până în prezent nu poate fi mai mare decât data scutirii angajatului,
-"To filter based on Party, select Party Type first","Pentru a filtra pe baza Party, selectați Party Tip primul",
-"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","Pentru a obține cele mai bune din ERPNext, vă recomandăm să luați ceva timp și de ceas aceste filme de ajutor.",
-"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Pentru a include taxa în rândul {0} în rata articol, impozitele în rânduri {1} trebuie de asemenea să fie incluse",
-To make Customer based incentive schemes.,Pentru a crea scheme de stimulare bazate pe client.,
-"To merge, following properties must be same for both items","Pentru a îmbina, următoarele proprietăți trebuie să fie aceeași pentru ambele elemente",
-"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","De a nu aplica regula Preturi într-o anumită tranzacție, ar trebui să fie dezactivat toate regulile de tarifare aplicabile.",
-"To set this Fiscal Year as Default, click on 'Set as Default'","Pentru a seta acest an fiscal ca implicit, faceți clic pe ""Set as Default""",
-To view logs of Loyalty Points assigned to a Customer.,Pentru a vizualiza jurnalele punctelor de loialitate atribuite unui client.,
-To {0},Pentru a {0},
-To {0} | {1} {2},Pentru a {0} | {1} {2},
-Toggle Filters,Comutați filtrele,
-Too many columns. Export the report and print it using a spreadsheet application.,Prea multe coloane. Exporta raportul și imprima utilizând o aplicație de calcul tabelar.,
-Tools,Instrumente,
-Total (Credit),Total (Credit),
-Total (Without Tax),Total (fără taxe),
-Total Absent,Raport Absent,
-Total Achieved,Raport Realizat,
-Total Actual,Raport real,
-Total Allocated Leaves,Frunzele totale alocate,
-Total Amount,Suma totală,
-Total Amount Credited,Suma totală creditată,
-Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Taxe totale aplicabile în tabelul de achiziție Chitanță Elementele trebuie să fie la fel ca total impozite și taxe,
-Total Budget,Buget total,
-Total Collected: {0},Totalul colectat: {0},
-Total Commission,Total de Comisie,
-Total Contribution Amount: {0},Suma totală a contribuției: {0},
-Total Credit/ Debit Amount should be same as linked Journal Entry,Suma totală a creditului / debitului ar trebui să fie aceeași cu cea înregistrată în jurnal,
-Total Debit must be equal to Total Credit. The difference is {0},Totală de debit trebuie să fie egal cu total Credit. Diferența este {0},
-Total Deduction,Total de deducere,
-Total Invoiced Amount,Suma totală facturată,
-Total Leaves,Frunze totale,
-Total Order Considered,Comanda total Considerat,
-Total Order Value,Valoarea totală Comanda,
-Total Outgoing,Raport de ieșire,
-Total Outstanding,Total deosebit,
-Total Outstanding Amount,Total Suma Impresionant,
-Total Outstanding: {0},Total excepție: {0},
-Total Paid Amount,Total Suma plătită,
-Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,Suma totală de plată în Planul de Plăți trebuie să fie egală cu Total / Rotunjit,
-Total Payments,Total plăți,
-Total Present,Raport Prezent,
-Total Qty,Raport Cantitate,
-Total Quantity,Cantitatea totala,
-Total Revenue,Raport Venituri,
-Total Student,Student total,
-Total Target,Raport țintă,
-Total Tax,Taxa totală,
-Total Taxable Amount,Sumă impozabilă totală,
-Total Taxable Value,Valoarea impozabilă totală,
-Total Unpaid: {0},Neremunerat totală: {0},
-Total Variance,Raport Variance,
-Total Weightage of all Assessment Criteria must be 100%,Weightage totală a tuturor criteriilor de evaluare trebuie să fie 100%,
-Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),avans total ({0}) împotriva Comanda {1} nu poate fi mai mare decât totalul ({2}),
-Total advance amount cannot be greater than total claimed amount,Suma avansului total nu poate fi mai mare decât suma totală revendicată,
-Total advance amount cannot be greater than total sanctioned amount,Suma avansului total nu poate fi mai mare decât suma totală sancționată,
-Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,Frunzele totale alocate sunt mai multe zile decât alocarea maximă a tipului de concediu {0} pentru angajatul {1} în perioada respectivă,
-Total allocated leaves are more than days in the period,TOTAL frunze alocate sunt mai mult decât zile în perioada,
-Total allocated percentage for sales team should be 100,Procentul total alocat pentru echipa de vânzări ar trebui să fie de 100,
-Total cannot be zero,Totalul nu poate să fie zero,
-Total contribution percentage should be equal to 100,Procentul total al contribuției ar trebui să fie egal cu 100,
-Total flexible benefit component amount {0} should not be less than max benefits {1},Suma totală a componentelor de beneficii flexibile {0} nu trebuie să fie mai mică decât beneficiile maxime {1},
-Total hours: {0},Numărul total de ore: {0},
-Total leaves allocated is mandatory for Leave Type {0},Numărul total de frunze alocate este obligatoriu pentru Type Leave {0},
-Total working hours should not be greater than max working hours {0},Numărul total de ore de lucru nu trebuie sa fie mai mare de ore de lucru max {0},
-Total {0} ({1}),Total {0} ({1}),
-"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'","Total {0} pentru toate articolele este zero, poate fi ar trebui să schimbați „Distribuirea cheltuielilor pe baza“",
-Total(Amt),Total (Amt),
-Total(Qty),Total (Cantitate),
-Traceability,Trasabilitate,
-Traceback,Traceback,
-Track Leads by Lead Source.,Urmărește Oportunități după Sursă Oportunitate,
-Training,Pregătire,
-Training Event,Eveniment de formare,
-Training Events,Evenimente de instruire,
-Training Feedback,Feedback formare,
-Training Result,Rezultatul de formare,
-Transaction,Tranzacţie,
-Transaction Date,Data tranzacției,
-Transaction Type,tipul tranzacției,
-Transaction currency must be same as Payment Gateway currency,Moneda de tranzacție trebuie să fie aceeași ca și de plată Gateway monedă,
-Transaction not allowed against stopped Work Order {0},Tranzacția nu este permisă împotriva comenzii de lucru oprita {0},
-Transaction reference no {0} dated {1},de referință al tranzacției nu {0} {1} din,
-Transactions,tranzacţii,
-Transactions can only be deleted by the creator of the Company,Tranzacții pot fi șterse doar de către creatorul Companiei,
-Transfer,Transfer,
-Transfer Material,Material de transfer,
-Transfer Type,Tip de transfer,
-Transfer an asset from one warehouse to another,Se transferă un activ de la un depozit la altul,
-Transfered,transferat,
-Transferred Quantity,Cantitate transferată,
-Transport Receipt Date,Data primirii transportului,
-Transport Receipt No,Primirea transportului nr,
-Transportation,Transport,
-Transporter ID,ID-ul transportatorului,
-Transporter Name,Transporter Nume,
-Travel,Călători,
-Travel Expenses,Cheltuieli de calatorie,
-Tree Type,Arbore Tip,
-Tree of Bill of Materials,Arborele de Bill de materiale,
-Tree of Item Groups.,Arborele de Postul grupuri.,
-Tree of Procedures,Arborele procedurilor,
-Tree of Quality Procedures.,Arborele procedurilor de calitate.,
-Tree of financial Cost Centers.,Tree of centre de cost financiare.,
-Tree of financial accounts.,Arborescentă conturilor financiare.,
-Treshold {0}% appears more than once,Treshold {0}% apare mai mult decât o dată,
-Trial Period End Date Cannot be before Trial Period Start Date,Perioada de încheiere a perioadei de încercare nu poate fi înainte de data începerii perioadei de încercare,
-Trialling,experimentării,
-Type of Business,Tip de afacere,
-Types of activities for Time Logs,Tipuri de activități pentru busteni Timp,
-UOM,UOM,
-UOM Conversion factor is required in row {0},Factor UOM de conversie este necesară în rândul {0},
-UOM coversion factor required for UOM: {0} in Item: {1},Factor coversion UOM UOM necesare pentru: {0} in articol: {1},
-URL,URL-ul,
-Unable to find DocType {0},Nu se poate găsi DocType {0},
-Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Imposibil de găsit rata de schimb pentru {0} până la {1} pentru data cheie {2}. Creați manual un registru de schimb valutar,
-Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,Nu se poate găsi scorul începând cu {0}. Trebuie să aveți scoruri în picioare care acoperă între 0 și 100,
-Unable to find variable: ,Imposibil de găsit variabila:,
-Unblock Invoice,Deblocați factura,
-Uncheck all,Deselecteaza tot,
-Unclosed Fiscal Years Profit / Loss (Credit),Unclosed fiscal Ani de Profit / Pierdere (credit),
-Unit,Unitate,
-Unit of Measure,Unitate de măsură,
-Unit of Measure {0} has been entered more than once in Conversion Factor Table,Unitate de măsură {0} a fost introdus mai mult de o dată în Factor de conversie Tabelul,
-Unknown,Necunoscut,
-Unpaid,Neachitat,
-Unsecured Loans,Creditele negarantate,
-Unsubscribe from this Email Digest,Dezabona de la acest e-mail Digest,
-Unsubscribed,Nesubscrise,
-Until,Până la,
-Unverified Webhook Data,Datele Webhook neconfirmate,
-Update Account Name / Number,Actualizați numele / numărul contului,
-Update Account Number / Name,Actualizați numărul / numele contului,
-Update Cost,Actualizare Cost,
-Update Items,Actualizați elementele,
-Update Print Format,Actualizare Format Print,
-Update Response,Actualizați răspunsul,
-Update bank payment dates with journals.,Actualizați datele de plată bancar cu reviste.,
-Update in progress. It might take a while.,Actualizare în curs. Ar putea dura ceva timp.,
-Update rate as per last purchase,Rata de actualizare ca pe ultima achiziție,
-Update stock must be enable for the purchase invoice {0},Actualizați stocul trebuie să fie activat pentru factura de achiziție {0},
-Updating Variants...,Actualizarea variantelor ...,
-Upload your letter head and logo. (you can edit them later).,Încărcați capul scrisoare și logo-ul. (Le puteți edita mai târziu).,
-Upper Income,Venituri de sus,
-Use Sandbox,utilizare Sandbox,
-Used Leaves,Frunze utilizate,
-User,Utilizator,
-User ID,ID-ul de utilizator,
-User ID not set for Employee {0},ID-ul de utilizator nu este setat pentru Angajat {0},
-User Remark,Observație utilizator,
-User has not applied rule on the invoice {0},Utilizatorul nu a aplicat o regulă pentru factură {0},
-User {0} already exists,Utilizatorul {0} există deja,
-User {0} created,Utilizatorul {0} a fost creat,
-User {0} does not exist,Utilizatorul {0} nu există,
-User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,Utilizatorul {0} nu are niciun POS profil implicit. Verificați implicit la Rând {1} pentru acest utilizator.,
-User {0} is already assigned to Employee {1},Utilizatorul {0} este deja alocat Angajat {1},
-User {0} is already assigned to Healthcare Practitioner {1},Utilizatorul {0} este deja însărcinat cu medicul de îngrijire medicală {1},
-Users,Utilizatori,
-Utility Expenses,Cheltuieli de utilitate,
-Valid From Date must be lesser than Valid Upto Date.,Valabil din data trebuie să fie mai mică decât valabil până la data.,
-Valid Till,Valabil până la,
-Valid from and valid upto fields are mandatory for the cumulative,Câmpurile valabile și valabile până la acestea sunt obligatorii pentru cumul,
-Valid from date must be less than valid upto date,Valabil de la data trebuie să fie mai mic decât valabil până la data actuală,
-Valid till date cannot be before transaction date,Valabil până la data nu poate fi înainte de data tranzacției,
-Validity,Valabilitate,
-Validity period of this quotation has ended.,Perioada de valabilitate a acestui citat sa încheiat.,
-Valuation Rate,Rata de evaluare,
-Valuation Rate is mandatory if Opening Stock entered,Evaluarea Rata este obligatorie în cazul în care a intrat Deschiderea stoc,
-Valuation type charges can not marked as Inclusive,Taxele de tip evaluare nu poate marcate ca Inclusive,
-Value Or Qty,Valoare sau Cantitate,
-Value Proposition,Propunere de valoare,
-Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Valoare pentru atributul {0} trebuie să fie în intervalul de {1} la {2} în trepte de {3} pentru postul {4},
-Value missing,Valoarea lipsește,
-Value must be between {0} and {1},Valoarea trebuie să fie între {0} și {1},
-"Values of exempt, nil rated and non-GST inward supplies","Valorile livrărilor interne scutite, nule și fără GST",
-Variable,Variabil,
-Variance,variație,
-Variance ({}),Varianță ({}),
-Variant,Variantă,
-Variant Attributes,Atribute Variant,
-Variant Based On cannot be changed,Varianta bazată pe nu poate fi modificată,
-Variant Details Report,Varianta Detalii raport,
-Variant creation has been queued.,Crearea de variante a fost în coada de așteptare.,
-Vehicle Expenses,Cheltuielile pentru vehicule,
-Vehicle No,Vehicul Nici,
-Vehicle Type,Tip de vehicul,
-Vehicle/Bus Number,Numărul vehiculului / autobuzului,
-Venture Capital,Capital de risc,
-View Chart of Accounts,Vezi Diagramă de Conturi,
-View Fees Records,Vizualizați înregistrările de taxe,
-View Form,Formular de vizualizare,
-View Lab Tests,Vizualizați testele de laborator,
-View Leads,Vezi Piste,
-View Ledger,Vezi Registru Contabil,
-View Now,Vizualizează acum,
-View a list of all the help videos,Vizualizați o listă cu toate filmele de ajutor,
-View in Cart,Vizualizare Coș,
-Visit report for maintenance call.,Vizitați raport pentru apel de mentenanță.,
-Visit the forums,Vizitați forumurile,
-Vital Signs,Semnele vitale,
-Volunteer,Voluntar,
-Volunteer Type information.,Informații de tip Voluntar.,
-Volunteer information.,Informații despre voluntari.,
-Voucher #,Voucher #,
-Voucher No,Voletul nr,
-Voucher Type,Tip Voucher,
-WIP Warehouse,WIP Depozit,
-Walk In,Walk In,
-Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Depozitul nu poate fi șters deoarece există intrări in registru contabil stocuri pentru acest depozit.,
-Warehouse cannot be changed for Serial No.,Depozit nu poate fi schimbat pentru Serial No.,
-Warehouse is mandatory,Depozitul este obligatoriu,
-Warehouse is mandatory for stock Item {0} in row {1},Depozitul este obligatoriu pentru articol stoc {0} în rândul {1},
-Warehouse not found in the system,Depozit nu a fost găsit în sistemul,
-"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Depozitul necesar la rândul nr. {0}, vă rugăm să setați un depozit implicit pentru elementul {1} pentru companie {2}",
-Warehouse required for stock Item {0},Depozit necesar pentru stoc articol {0},
-Warehouse {0} can not be deleted as quantity exists for Item {1},Depozit {0} nu poate fi ștearsă ca exista cantitate pentru postul {1},
-Warehouse {0} does not belong to company {1},Depozit {0} nu aparține companiei {1},
-Warehouse {0} does not exist,Depozitul {0} nu există,
-"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.","Warehouse {0} nu este conectat la niciun cont, menționați contul din înregistrarea din depozit sau setați contul de inventar implicit din compania {1}.",
-Warehouses with child nodes cannot be converted to ledger,Depozitele cu noduri copil nu pot fi convertite în registru contabil,
-Warehouses with existing transaction can not be converted to group.,Depozite tranzacție existente nu pot fi convertite în grup.,
-Warehouses with existing transaction can not be converted to ledger.,Depozitele cu tranzacții existente nu pot fi convertite în registru contabil.,
-Warning,Avertisment,
-Warning: Another {0} # {1} exists against stock entry {2},Atenție: Un alt {0} # {1} există împotriva intrării stoc {2},
-Warning: Invalid SSL certificate on attachment {0},Atenție: certificat SSL invalid pe atașament {0},
-Warning: Invalid attachment {0},Atenție: Attachment invalid {0},
-Warning: Leave application contains following block dates,Atenție: Lăsați aplicație conține următoarele date de bloc,
-Warning: Material Requested Qty is less than Minimum Order Qty,Atenție: Materialul solicitat Cant este mai mică decât minima pentru comanda Cantitate,
-Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Atenție: comandă de vânzări {0} există deja împotriva Ordinului de Procurare clientului {1},
-Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Atenție: Sistemul nu va verifica supraîncărcată din sumă pentru postul {0} din {1} este zero,
-Warranty,garanţie,
-Warranty Claim,Garanție revendicarea,
-Warranty Claim against Serial No.,Garantie revendicarea împotriva Serial No.,
-Website,Site web,
-Website Image should be a public file or website URL,Site-ul Image ar trebui să fie un fișier public sau site-ul URL-ul,
-Website Image {0} attached to Item {1} cannot be found,Site-ul Image {0} atașat la postul {1} nu poate fi găsit,
-Website Listing,Înregistrarea site-ului,
-Website Manager,Site-ul Manager de,
-Website Settings,Setarile site-ului,
-Wednesday,Miercuri,
-Week,Săptămână,
-Weekdays,Zilele saptamanii,
-Weekly,Săptămânal,
-"Weight is mentioned,\nPlease mention ""Weight UOM"" too",,
-Welcome email sent,E-mailul de bun venit a fost trimis,
-Welcome to ERPNext,Bine ati venit la ERPNext,
-What do you need help with?,La ce ai nevoie de ajutor?,
-What does it do?,Ce face?,
-Where manufacturing operations are carried.,În cazul în care operațiunile de fabricație sunt efectuate.,
-White,alb,
-Wire Transfer,Transfer,
-WooCommerce Products,Produse WooCommerce,
-Work In Progress,Lucrări în curs,
-Work Order,Comandă de lucru,
-Work Order already created for all items with BOM,Ordin de lucru deja creat pentru toate articolele cu BOM,
-Work Order cannot be raised against a Item Template,Ordinul de lucru nu poate fi ridicat împotriva unui șablon de element,
-Work Order has been {0},Ordinul de lucru a fost {0},
-Work Order not created,Ordinul de lucru nu a fost creat,
-Work Order {0} must be cancelled before cancelling this Sales Order,Ordinul de lucru {0} trebuie anulat înainte de a anula acest ordin de vânzări,
-Work Order {0} must be submitted,Ordinul de lucru {0} trebuie trimis,
-Work Orders Created: {0},Comenzi de lucru create: {0},
-Work Summary for {0},Rezumat Lucrare pentru {0},
-Work-in-Progress Warehouse is required before Submit,De lucru-in-Progress Warehouse este necesară înainte Trimite,
-Workflow,Flux de lucru,
-Working,De lucru,
-Working Hours,Ore de lucru,
-Workstation,Stație de lucru,
-Workstation is closed on the following dates as per Holiday List: {0},Workstation este închis la următoarele date ca pe lista de vacanta: {0},
-Wrapping up,Înfășurați-vă,
-Wrong Password,Parola gresita,
-Year start date or end date is overlapping with {0}. To avoid please set company,Anul Data de începere sau de încheiere este suprapunerea cu {0}. Pentru a evita vă rugăm să setați companie,
-You are not authorized to add or update entries before {0},Nu ești autorizat să adăugi sau să actualizezi intrări înainte de {0},
-You are not authorized to approve leaves on Block Dates,Tu nu sunt autorizate să aprobe frunze pe bloc Perioada,
-You are not authorized to set Frozen value,Nu esti autorizat pentru a configura valoarea Congelat,
-You are not present all day(s) between compensatory leave request days,Nu vă prezentați toată ziua (zilele) între zilele de solicitare a plății compensatorii,
-You can not change rate if BOM mentioned agianst any item,Nu puteți schimba rata dacă BOM menționat agianst orice element,
-You can not enter current voucher in 'Against Journal Entry' column,"Nu puteți introduce voucher curent în ""Împotriva Jurnalul intrare"" coloană",
-You can only have Plans with the same billing cycle in a Subscription,Puteți avea numai planuri cu același ciclu de facturare într-un abonament,
-You can only redeem max {0} points in this order.,Puteți răscumpăra maxim {0} puncte în această ordine.,
-You can only renew if your membership expires within 30 days,Puteți reînnoi numai dacă expirați în termen de 30 de zile,
-You can only select a maximum of one option from the list of check boxes.,Puteți selecta numai o singură opțiune din lista de casete de selectare.,
-You can only submit Leave Encashment for a valid encashment amount,Puteți să trimiteți numai permisiunea de înregistrare pentru o sumă validă de încasare,
-You can't redeem Loyalty Points having more value than the Grand Total.,Nu puteți valorifica punctele de loialitate cu valoare mai mare decât suma totală.,
-You cannot credit and debit same account at the same time,"Nu puteți credit și de debit același cont, în același timp,",
-You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Nu puteți șterge Anul fiscal {0}. Anul fiscal {0} este setat ca implicit în Setări globale,
-You cannot delete Project Type 'External',Nu puteți șterge tipul de proiect &quot;extern&quot;,
-You cannot edit root node.,Nu puteți edita nodul rădăcină.,
-You cannot restart a Subscription that is not cancelled.,Nu puteți reporni o abonament care nu este anulat.,
-You don't have enought Loyalty Points to redeem,Nu aveți puncte de loialitate pentru a răscumpăra,
-You have already assessed for the assessment criteria {}.,Ați evaluat deja criteriile de evaluare {}.,
-You have already selected items from {0} {1},Ați selectat deja un produs de la {0} {1},
-You have been invited to collaborate on the project: {0},Ați fost invitat să colaboreze la proiect: {0},
-You have entered duplicate items. Please rectify and try again.,Ați introdus elemente cu dubluri. Vă rugăm să rectifice și să încercați din nou.,
-You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,Trebuie să fii alt utilizator decât Administrator cu rolul managerului de sistem și al Managerului de articole pentru a te înregistra pe Marketplace.,
-You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,Trebuie să fii un utilizator cu roluri de manager de sistem și manager de articole pentru a adăuga utilizatori la Marketplace.,
-You need to be a user with System Manager and Item Manager roles to register on Marketplace.,Trebuie să fiți utilizator cu funcții Manager Manager și Manager de posturi pentru a vă înregistra pe Marketplace.,
-You need to be logged in to access this page,Trebuie să fii conectat pentru a putea accesa această pagină,
-You need to enable Shopping Cart,Trebuie să activați Coșul de cumpărături,
-You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Veți pierde înregistrări ale facturilor generate anterior. Sigur doriți să reporniți acest abonament?,
-Your Organization,Organizația dumneavoastră,
-Your cart is Empty,Coșul dvs. este gol,
-Your email address...,Adresa ta de email...,
-Your order is out for delivery!,Comanda dvs. este livrată!,
-Your tickets,Biletele tale,
-ZIP Code,Cod postal,
-[Error],[Eroare],
-[{0}](#Form/Item/{0}) is out of stock,[{0}] (# Forma / Postul / {0}) este din stoc,
-`Freeze Stocks Older Than` should be smaller than %d days.,'Blochează stocuri mai vechi decât' ar trebui să fie mai mic de %d zile.,
-based_on,bazat pe,
-cannot be greater than 100,nu poate fi mai mare de 100,
-disabled user,utilizator dezactivat,
-"e.g. ""Build tools for builders""","de exemplu ""Construi instrumente de constructori """,
-"e.g. ""Primary School"" or ""University""","de exemplu, &quot;Școala primară&quot; sau &quot;Universitatea&quot;",
-"e.g. Bank, Cash, Credit Card","de exemplu, bancar, Cash, Card de credit",
-hidden,ascuns,
-modified,modificată,
-old_parent,old_parent,
-on,Pornit,
-{0} '{1}' is disabled,{0} '{1}' este dezactivat,
-{0} '{1}' not in Fiscal Year {2},{0} '{1}' nu există în anul fiscal {2},
-{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) nu poate fi mai mare decât cantitatea planificată ({2}) din Ordinul de Lucru {3},
-{0} - {1} is inactive student,{0} - {1} este elev inactiv,
-{0} - {1} is not enrolled in the Batch {2},{0} - {1} nu este înscris în lotul {2},
-{0} - {1} is not enrolled in the Course {2},{0} - {1} nu este înscris la Cursul {2},
-{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},Bugetul {0} pentru Contul {1} față de {2} {3} este {4}. Acesta este depășit cu {5},
-{0} Digest,{0} Digest,
-{0} Request for {1},{0} Cerere pentru {1},
-{0} Result submittted,{0} Rezultat transmis,
-{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} numere de serie necesare pentru postul {1}. Ați furnizat {2}.,
-{0} Student Groups created.,{0} Grupurile de elevi au fost create.,
-{0} Students have been enrolled,{0} Elevii au fost înscriși,
-{0} against Bill {1} dated {2},{0} comparativ cu factura {1} din data de {2},
-{0} against Purchase Order {1},{0} comparativ cu comanda de cumpărare {1},
-{0} against Sales Invoice {1},{0} comparativ cu factura de vânzări {1},
-{0} against Sales Order {1},{0} comparativ cu comanda de vânzări {1},
-{0} already allocated for Employee {1} for period {2} to {3},{0} deja alocate pentru Angajatul {1} pentru perioada {2} - {3},
-{0} applicable after {1} working days,{0} aplicabil după {1} zile lucrătoare,
-{0} asset cannot be transferred,{0} activul nu poate fi transferat,
-{0} can not be negative,{0} nu poate fi negativ,
-{0} created,{0} creat,
-"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.","{0} are în prezent {1} Scor de Furnizor, iar comenzile de achiziție catre acest furnizor ar trebui emise cu prudență.",
-"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.","{0} are în prezent {1} Scor de Furnizor, iar cererile de oferta către acest furnizor ar trebui emise cu prudență.",
-{0} does not belong to Company {1},{0} nu aparține Companiei {1},
-{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} nu are un program de practicieni în domeniul sănătății. Adăugați-o la medicul de masterat în domeniul sănătății,
-{0} entered twice in Item Tax,{0} a fost introdus de două ori în taxa articolului,
-{0} for {1},{0} pentru {1},
-{0} has been submitted successfully,{0} a fost trimis cu succes,
-{0} has fee validity till {1},{0} are valabilitate până la data de {1},
-{0} hours,{0} ore,
-{0} in row {1},{0} în rândul {1},
-{0} is blocked so this transaction cannot proceed,"{0} este blocat, astfel încât această tranzacție nu poate continua",
-{0} is mandatory,{0} este obligatoriu,
-{0} is mandatory for Item {1},{0} este obligatoriu pentru articolul {1},
-{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} este obligatoriu. Este posibil ca înregistrarea schimbului valutar nu este creată pentru {1} până la {2}.,
-{0} is not a stock Item,{0} nu este un articol de stoc,
-{0} is not a valid Batch Number for Item {1},{0} nu este un număr de lot valid aferent articolului {1},
-{0} is not added in the table,{0} nu este adăugat în tabel,
-{0} is not in Optional Holiday List,{0} nu este în lista de sărbători opționale,
-{0} is not in a valid Payroll Period,{0} nu este într-o Perioadă de Salarizare validă,
-{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} este acum anul fiscal implicit. Vă rugăm să reîmprospătați browser-ul dvs. pentru ca modificarea să aibă efect.,
-{0} is on hold till {1},{0} este în așteptare până la {1},
-{0} item found.,{0} element găsit.,
-{0} items found.,{0} articole găsite.,
-{0} items in progress,{0} elemente în curs,
-{0} items produced,{0} articole produse,
-{0} must appear only once,{0} trebuie să apară doar o singură dată,
-{0} must be negative in return document,{0} trebuie să fie negativ în documentul de retur,
-{0} must be submitted,{0} trebuie transmis,
-{0} not allowed to transact with {1}. Please change the Company.,{0} nu este permis să efectueze tranzacții cu {1}. Vă rugăm să schimbați compania selectată.,
-{0} not found for item {1},{0} nu a fost găsit pentru articolul {1},
-{0} parameter is invalid,Parametrul {0} este nevalid,
-{0} payment entries can not be filtered by {1},{0} înregistrări de plată nu pot fi filtrate de {1},
-{0} should be a value between 0 and 100,{0} ar trebui să fie o valoare cuprinsă între 0 și 100,
-{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} unități de [{1}] (# Forma / Postul / {1}) găsit în [{2}] (# Forma / Depozit / {2}),
-{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} unități de {1} necesare în {2} pe {3} {4} pentru {5} pentru a finaliza această tranzacție.,
-{0} units of {1} needed in {2} to complete this transaction.,{0} unități de {1} necesare în {2} pentru a finaliza această tranzacție.,
-{0} valid serial nos for Item {1},{0} numere de serie valabile pentru articolul {1},
-{0} variants created.,{0} variante create.,
-{0} {1} created,{0} {1} creat,
-{0} {1} does not exist,{0} {1} nu există,
-{0} {1} has been modified. Please refresh.,{0} {1} a fost modificat. Vă rugăm să reîmprospătați.,
-{0} {1} has not been submitted so the action cannot be completed,"{0} {1} nu a fost transmis, astfel încât acțiunea nu poate fi finalizată",
-"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} este asociat cu {2}, dar contul de partid este {3}",
-{0} {1} is cancelled or closed,{0} {1} este anulat sau închis,
-{0} {1} is cancelled or stopped,{0} {1} este anulată sau oprită,
-{0} {1} is cancelled so the action cannot be completed,"{0} {1} este anulată, astfel încât acțiunea nu poate fi terminată",
-{0} {1} is closed,{0} {1} este închis,
-{0} {1} is disabled,{0} {1} este dezactivat,
-{0} {1} is frozen,{0} {1} este blocat,
-{0} {1} is fully billed,{0} {1} este complet facturat,
-{0} {1} is not active,{0} {1} nu este activ,
-{0} {1} is not associated with {2} {3},{0} {1} nu este asociat cu {2} {3},
-{0} {1} is not present in the parent company,{0} {1} nu este prezentă în compania mamă,
-{0} {1} is not submitted,{0} {1} nu este introdus,
-{0} {1} is {2},{0} {1} este {2},
-{0} {1} must be submitted,{0} {1} trebuie să fie introdus,
-{0} {1} not in any active Fiscal Year.,{0} {1} nu se gaseste in niciun an fiscal activ.,
-{0} {1} status is {2},{0} {1} statusul este {2},
-{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,{0} {1}: &quot;profit și pierdere&quot; cont de tip {2} nu este permisă în orificiul de intrare,
-{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Cont {2} nu aparține Companiei {3},
-{0} {1}: Account {2} is inactive,{0} {1}: Cont {2} este inactiv,
-{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Intrarea contabila {2} poate fi făcută numai în moneda: {3},
-{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: 아이템 {2} 는 Cost Center가  필수임,
-{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,{0} {1}: Centru de cost este necesară pentru &quot;profit și pierdere&quot; cont de {2}. Vă rugăm să configurați un centru de cost implicit pentru companie.,
-{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: Cost Center {2} nu aparține Companiei {3},
-{0} {1}: Customer is required against Receivable account {2},{0} {1}: Clientul este necesară împotriva contului Receivable {2},
-{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Fie valoarea creditului de debit sau creditul sunt necesare pentru {2},
-{0} {1}: Supplier is required against Payable account {2},{0} {1}: Furnizorul este necesar pentru Contul de plăți {2},
-{0}% Billed,{0}% facturat,
-{0}% Delivered,{0}% livrat,
-"{0}: Employee email not found, hence email not sent","{0}: E-mail-ul angajatului nu a fost găsit, prin urmare, nu a fost trimis mail",
-{0}: From {0} of type {1},{0}: de la {0} de tipul {1},
-{0}: From {1},{0}: De la {1},
-{0}: {1} does not exists,{0}: {1} nu există,
-{0}: {1} not found in Invoice Details table,{0}: {1} nu a fost găsit în tabelul Detalii factură,
-{} of {},{} de {},
-Assigned To,Atribuit pentru,
-Chat,Chat,
-Completed By,Completat De,
-Conditions,Condiții,
-County,județ,
-Day of Week,Zi a săptămânii,
-"Dear System Manager,","Dragă System Manager,",
-Default Value,Valoare implicită,
-Email Group,E-mail grup,
-Email Settings,Setări e-mail,
-Email not sent to {0} (unsubscribed / disabled),Nu e-mail trimis la {0} (nesubscrise / dezactivat),
-Error Message,Mesaj de eroare,
-Fieldtype,Tip câmp,
-Help Articles,Articole de ajutor,
-ID,ID-ul,
-Images,Imagini,
-Import,Importarea,
-Language,Limba,
-Likes,Au apreciat,
-Merge with existing,Merge cu existente,
-Office,Birou,
-Orientation,Orientare,
-Parent,Mamă,
-Passive,Pasiv,
-Payment Failed,Plata esuata,
-Percent,La sută,
-Permanent,Permanent,
-Personal,Trader,
-Plant,Instalarea,
-Post,Publică,
-Postal,Poștal,
-Postal Code,Cod poștal,
-Previous,Precedenta,
-Provider,Furnizor de,
-Read Only,Doar Citire,
-Recipient,Destinatar,
-Reviews,opinii,
-Sender,Expeditor,
-Shop,Magazin,
-Subsidiary,Filială,
-There is some problem with the file url: {0},Există unele probleme cu URL-ul fișierului: {0},
-There were errors while sending email. Please try again.,Au fost erori în timp ce trimiterea de e-mail. Încercaţi din nou.,
-Values Changed,valori schimbată,
-or,sau,
-Ageing Range 4,Intervalul de îmbătrânire 4,
-Allocated amount cannot be greater than unadjusted amount,Suma alocată nu poate fi mai mare decât suma nejustificată,
-Allocated amount cannot be negative,Suma alocată nu poate fi negativă,
-"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Contul de diferență trebuie să fie un cont de tip Active / Răspundere, deoarece această intrare de stoc este o intrare de deschidere",
-Error in some rows,Eroare în unele rânduri,
-Import Successful,Import de succes,
-Please save first,Vă rugăm să salvați mai întâi,
-Price not found for item {0} in price list {1},Preț care nu a fost găsit pentru articolul {0} din lista de prețuri {1},
-Warehouse Type,Tip depozit,
-'Date' is required,„Data” este necesară,
-Benefit,Beneficiu,
-Budgets,Bugete,
-Bundle Qty,Cantitate de pachet,
-Company GSTIN,Compania GSTIN,
-Company field is required,Câmpul companiei este obligatoriu,
-Creating Dimensions...,Crearea dimensiunilor ...,
-Duplicate entry against the item code {0} and manufacturer {1},Duplică intrarea în codul articolului {0} și producătorul {1},
-Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,GSTIN nevalid! Intrarea introdusă nu se potrivește cu formatul GSTIN pentru deținătorii de UIN sau furnizorii de servicii OIDAR nerezidenți,
-Invoice Grand Total,Total factură mare,
-Last carbon check date cannot be a future date,Ultima dată de verificare a carbonului nu poate fi o dată viitoare,
-Make Stock Entry,Faceți intrarea în stoc,
-Quality Feedback,Feedback de calitate,
-Quality Feedback Template,Șablon de feedback de calitate,
-Rules for applying different promotional schemes.,Reguli pentru aplicarea diferitelor scheme promoționale.,
-Shift,Schimb,
-Show {0},Afișați {0},
-"Special Characters except '-', '#', '.', '/', '{{' and '}}' not allowed in naming series {0}","Caractere speciale, cu excepția &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{{&quot; Și &quot;}}&quot; nu sunt permise în numirea seriei {0}",
-Target Details,Detalii despre țintă,
-{0} already has a Parent Procedure {1}.,{0} are deja o procedură părinte {1}.,
-API,API-ul,
-Annual,Anual,
-Approved,Aprobat,
-Change,Schimbă,
-Contact Email,Email Persoana de Contact,
-Export Type,Tipul de export,
-From Date,Din data,
-Group By,A se grupa cu,
-Importing {0} of {1},Importarea {0} din {1},
-Invalid URL,URL invalid,
-Landscape,Peisaj,
-Last Sync On,Ultima sincronizare activată,
-Naming Series,Naming Series,
-No data to export,Nu există date de exportat,
-Portrait,Portret,
-Print Heading,Imprimare Titlu,
-Scheduler Inactive,Planificator inactiv,
-Scheduler is inactive. Cannot import data.,Planificatorul este inactiv. Nu se pot importa date.,
-Show Document,Afișează documentul,
-Show Traceback,Afișare Traceback,
-Video,Video,
-Webhook Secret,Secret Webhook,
-% Of Grand Total,% Din totalul mare,
-'employee_field_value' and 'timestamp' are required.,„angajat_field_value” și „timestamp” sunt obligatorii.,
-<b>Company</b> is a mandatory filter.,<b>Compania</b> este un filtru obligatoriu.,
-<b>From Date</b> is a mandatory filter.,<b>De la Date</b> este un filtru obligatoriu.,
-<b>From Time</b> cannot be later than <b>To Time</b> for {0},<b>From Time</b> nu poate fi mai târziu decât <b>To Time</b> pentru {0},
-<b>To Date</b> is a mandatory filter.,<b>Până în prezent</b> este un filtru obligatoriu.,
-A new appointment has been created for you with {0},O nouă programare a fost creată pentru dvs. cu {0},
-Account Value,Valoarea contului,
-Account is mandatory to get payment entries,Contul este obligatoriu pentru a obține înregistrări de plată,
-Account is not set for the dashboard chart {0},Contul nu este setat pentru graficul de bord {0},
-Account {0} does not belong to company {1},Contul {0} nu aparține companiei {1},
-Account {0} does not exists in the dashboard chart {1},Contul {0} nu există în graficul de bord {1},
-Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Cont: <b>{0}</b> este capital de lucru în desfășurare și nu poate fi actualizat de jurnalul de intrare,
-Account: {0} is not permitted under Payment Entry,Cont: {0} nu este permis în baza intrării de plată,
-Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,Dimensiunea contabilității <b>{0}</b> este necesară pentru contul „bilanț” {1}.,
-Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,Dimensiunea contabilității <b>{0}</b> este necesară pentru contul „Profit și pierdere” {1}.,
-Accounting Masters,Maeștri contabili,
-Accounting Period overlaps with {0},Perioada de contabilitate se suprapune cu {0},
-Activity,Activitate,
-Add / Manage Email Accounts.,Adăugați / gestionați conturi de e-mail.,
-Add Child,Adăugă Copil,
-Add Loan Security,Adăugați securitatea împrumutului,
-Add Multiple,Adăugați mai multe,
-Add Participants,Adăugă Participanți,
-Add to Featured Item,Adăugați la elementele prezentate,
-Add your review,Adăugați-vă recenzia,
-Add/Edit Coupon Conditions,Adăugați / Editați Condițiile cuponului,
-Added to Featured Items,Adăugat la Elementele prezentate,
-Added {0} ({1}),Adăugat {0} ({1}),
-Address Line 1,Adresă Linie 1,
-Addresses,Adrese,
-Admission End Date should be greater than Admission Start Date.,Data de încheiere a admisiei ar trebui să fie mai mare decât data de începere a admiterii.,
-Against Loan,Contra împrumutului,
-Against Loan:,Împrumut contra,
-All,Toate,
-All bank transactions have been created,Toate tranzacțiile bancare au fost create,
-All the depreciations has been booked,Toate amortizările au fost înregistrate,
-Allocation Expired!,Alocare expirată!,
-Allow Resetting Service Level Agreement from Support Settings.,Permiteți resetarea acordului de nivel de serviciu din setările de asistență,
-Amount of {0} is required for Loan closure,Suma de {0} este necesară pentru închiderea împrumutului,
-Amount paid cannot be zero,Suma plătită nu poate fi zero,
-Applied Coupon Code,Codul cuponului aplicat,
-Apply Coupon Code,Aplicați codul promoțional,
-Appointment Booking,Rezervare rezervare,
-"As there are existing transactions against item {0}, you can not change the value of {1}","Deoarece există tranzacții existente la postul {0}, nu puteți modifica valoarea {1}",
-Asset Id,ID material,
-Asset Value,Valoarea activului,
-Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,Reglarea valorii activelor nu poate fi înregistrată înainte de data achiziției activelor <b>{0}</b> .,
-Asset {0} does not belongs to the custodian {1},Activul {0} nu aparține custodului {1},
-Asset {0} does not belongs to the location {1},Activele {0} nu aparțin locației {1},
-At least one of the Applicable Modules should be selected,Trebuie selectat cel puțin unul dintre modulele aplicabile,
-Atleast one asset has to be selected.,Cel puțin un activ trebuie să fie selectat.,
-Attendance Marked,Prezentare marcată,
-Attendance has been marked as per employee check-ins,Participarea a fost marcată conform check-in-urilor angajaților,
-Authentication Failed,Autentificare esuata,
-Automatic Reconciliation,Reconciliere automată,
-Available For Use Date,Disponibil pentru data de utilizare,
-Available Stock,Stoc disponibil,
-"Available quantity is {0}, you need {1}","Cantitatea disponibilă este {0}, aveți nevoie de {1}",
-BOM 1,BOM 1,
-BOM 2,BOM 2,
-BOM Comparison Tool,Instrument de comparare BOM,
-BOM recursion: {0} cannot be child of {1},Recurs recurs BOM: {0} nu poate fi copil de {1},
-BOM recursion: {0} cannot be parent or child of {1},Recurs din BOM: {0} nu poate fi părinte sau copil de {1},
-Back to Home,Înapoi acasă,
-Back to Messages,Înapoi la mesaje,
-Bank Data mapper doesn't exist,Mapper Data Bank nu există,
-Bank Details,Detalii bancare,
-Bank account '{0}' has been synchronized,Contul bancar „{0}” a fost sincronizat,
-Bank account {0} already exists and could not be created again,Contul bancar {0} există deja și nu a mai putut fi creat din nou,
-Bank accounts added,S-au adăugat conturi bancare,
-Batch no is required for batched item {0},Numărul lot nu este necesar pentru articol lot {0},
-Billing Date,Data de facturare,
-Billing Interval Count cannot be less than 1,Numărul de intervale de facturare nu poate fi mai mic de 1,
-Blue,Albastru,
-Book,Carte,
-Book Appointment,Numire carte,
-Brand,Marca,
-Browse,Parcurgere,
-Call Connected,Apel conectat,
-Call Disconnected,Apel deconectat,
-Call Missed,Sună dor,
-Call Summary,Rezumatul apelului,
-Call Summary Saved,Rezumat apel salvat,
-Cancelled,Anulat,
-Cannot Calculate Arrival Time as Driver Address is Missing.,Nu se poate calcula ora de sosire deoarece adresa șoferului lipsește.,
-Cannot Optimize Route as Driver Address is Missing.,Nu se poate optimiza ruta deoarece adresa șoferului lipsește.,
-Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,Nu se poate finaliza sarcina {0} ca sarcină dependentă {1} nu sunt completate / anulate.,
-Cannot create loan until application is approved,Nu se poate crea împrumut până la aprobarea cererii,
-Cannot find a matching Item. Please select some other value for {0}.,Nu pot găsi o potrivire articol. Vă rugăm să selectați o altă valoare pentru {0}.,
-"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Nu se poate depăși pentru articolul {0} din rândul {1} mai mult decât {2}. Pentru a permite supra-facturarea, vă rugăm să setați alocația în Setările conturilor",
-"Capacity Planning Error, planned start time can not be same as end time","Eroare de planificare a capacității, ora de pornire planificată nu poate fi aceeași cu ora finală",
-Categories,Categorii,
-Changes in {0},Modificări în {0},
-Chart,Diagramă,
-Choose a corresponding payment,Alegeți o plată corespunzătoare,
-Click on the link below to verify your email and confirm the appointment,Faceți clic pe linkul de mai jos pentru a vă confirma e-mailul și pentru a confirma programarea,
-Close,Închideți,
-Communication,Comunicare,
-Compact Item Print,Compact Postul de imprimare,
-Company,Compania,
-Company of asset {0} and purchase document {1} doesn't matches.,Compania de activ {0} și documentul de achiziție {1} nu se potrivesc.,
-Compare BOMs for changes in Raw Materials and Operations,Comparați OM-urile pentru modificările materiilor prime și operațiunilor,
-Compare List function takes on list arguments,Comparați funcția Listă ia argumentele listei,
-Complete,Complet,
-Completed,Finalizat,
-Completed Quantity,Cantitate completată,
-Connect your Exotel Account to ERPNext and track call logs,Conectați contul dvs. Exotel la ERPNext și urmăriți jurnalele de apeluri,
-Connect your bank accounts to ERPNext,Conectați-vă conturile bancare la ERPNext,
-Contact Seller,Contacteaza vanzatorul,
-Continue,Continua,
-Cost Center: {0} does not exist,Centrul de costuri: {0} nu există,
-Couldn't Set Service Level Agreement {0}.,Nu s-a putut stabili acordul de nivel de serviciu {0}.,
-Country,Ţară,
-Country Code in File does not match with country code set up in the system,Codul de țară din fișier nu se potrivește cu codul de țară configurat în sistem,
-Create New Contact,Creați un nou contact,
-Create New Lead,Creați noul plumb,
-Create Pick List,Creați lista de alegeri,
-Create Quality Inspection for Item {0},Creați inspecție de calitate pentru articol {0},
-Creating Accounts...,Crearea de conturi ...,
-Creating bank entries...,Crearea intrărilor bancare ...,
-Credit limit is already defined for the Company {0},Limita de credit este deja definită pentru companie {0},
-Ctrl + Enter to submit,Ctrl + Enter pentru a trimite,
-Ctrl+Enter to submit,Ctrl + Enter pentru a trimite,
-Currency,Valută,
-Current Status,Starea curentă a armatei,
-Customer PO,PO de client,
-Customize,Personalizeaza,
-Daily,Zilnic,
-Date,Dată,
-Date Range,Interval de date,
-Date of Birth cannot be greater than Joining Date.,Data nașterii nu poate fi mai mare decât data de aderare.,
-Dear,Dragă,
-Default,Implicit,
-Define coupon codes.,Definiți codurile cuponului.,
-Delayed Days,Zile amânate,
-Delete,Șterge,
-Delivered Quantity,Cantitate livrată,
-Delivery Notes,Note de livrare,
-Depreciated Amount,Suma depreciată,
-Description,Descriere,
-Designation,Destinatie,
-Difference Value,Valoarea diferenței,
-Dimension Filter,Filtrul de dimensiuni,
-Disabled,Dezactivat,
-Disbursement and Repayment,Plată și rambursare,
-Distance cannot be greater than 4000 kms,Distanța nu poate fi mai mare de 4000 km,
-Do you want to submit the material request,Doriți să trimiteți solicitarea materialului,
-Doctype,doctype,
-Document {0} successfully uncleared,Documentul {0} nu a fost clar necunoscut,
-Download Template,Descărcați Sablon,
-Dr,Dr,
-Due Date,Data Limita,
-Duplicate,Duplicat,
-Duplicate Project with Tasks,Duplică proiect cu sarcini,
-Duplicate project has been created,Proiectul duplicat a fost creat,
-E-Way Bill JSON can only be generated from a submitted document,e-Way Bill JSON poate fi generat numai dintr-un document trimis,
-E-Way Bill JSON can only be generated from submitted document,E-Way Bill JSON poate fi generat numai din documentul trimis,
-E-Way Bill JSON cannot be generated for Sales Return as of now,E-Way Bill JSON nu poate fi generat pentru Returnarea vânzărilor de acum,
-ERPNext could not find any matching payment entry,ERPNext nu a găsit nicio intrare de plată potrivită,
-Earliest Age,Cea mai timpurie vârstă,
-Edit Details,Editează detaliile,
-Edit Profile,Editează profilul,
-Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,"Fie ID-ul transportatorului GST, fie numărul vehiculului nu este necesar dacă modul de transport este rutier",
-Email,E-mail,
-Email Campaigns,Campanii prin e-mail,
-Employee ID is linked with another instructor,ID-ul angajaților este legat de un alt instructor,
-Employee Tax and Benefits,Impozitul și beneficiile angajaților,
-Employee is required while issuing Asset {0},Angajatul este necesar la emiterea de activ {0},
-Employee {0} does not belongs to the company {1},Angajatul {0} nu aparține companiei {1},
-Enable Auto Re-Order,Activați re-comanda automată,
-End Date of Agreement can't be less than today.,Data de încheiere a acordului nu poate fi mai mică decât astăzi.,
-End Time,End Time,
-Energy Point Leaderboard,Tabloul de bord al punctelor energetice,
-Enter API key in Google Settings.,Introduceți cheia API în Setări Google.,
-Enter Supplier,Introduceți furnizorul,
-Enter Value,Introduceți valoarea,
-Entity Type,Tip de entitate,
-Error,Eroare,
-Error in Exotel incoming call,Eroare în apelul primit la Exotel,
-Error: {0} is mandatory field,Eroare: {0} este câmp obligatoriu,
-Event Link,Link de eveniment,
-Exception occurred while reconciling {0},Excepție a avut loc în timp ce s-a reconciliat {0},
-Expected and Discharge dates cannot be less than Admission Schedule date,Datele preconizate și descărcarea de gestiune nu pot fi mai mici decât Data planificării de admitere,
-Expire Allocation,Expirați alocarea,
-Expired,Expirat,
-Export,Exportă,
-Export not allowed. You need {0} role to export.,Export nu este permisă. Ai nevoie de {0} rolul de a exporta.,
-Failed to add Domain,Nu a putut adăuga Domeniul,
-Fetch Items from Warehouse,Obține obiecte de la Depozit,
-Fetching...,... Fetching,
-Field,Camp,
-File Manager,Manager de fișiere,
-Filters,Filtre,
-Finding linked payments,Găsirea plăților legate,
-Fleet Management,Conducerea flotei,
-Following fields are mandatory to create address:,Următoarele câmpuri sunt obligatorii pentru a crea adresa:,
-For Month,Pentru luna,
-"For item {0} at row {1}, count of serial numbers does not match with the picked quantity","Pentru articolul {0} din rândul {1}, numărul de serii nu se potrivește cu cantitatea aleasă",
-For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Pentru operare {0}: cantitatea ({1}) nu poate fi mai mare decât cantitatea în curs ({2}),
-For quantity {0} should not be greater than work order quantity {1},Pentru cantitatea {0} nu trebuie să fie mai mare decât cantitatea de comandă de lucru {1},
-Free item not set in the pricing rule {0},Element gratuit care nu este setat în regula prețurilor {0},
-From Date and To Date are Mandatory,De la data și până la data sunt obligatorii,
-From employee is required while receiving Asset {0} to a target location,De la angajat este necesar în timp ce primiți Active {0} către o locație țintă,
-Fuel Expense,Cheltuieli de combustibil,
-Future Payment Amount,Suma viitoare de plată,
-Future Payment Ref,Plată viitoare Ref,
-Future Payments,Plăți viitoare,
-GST HSN Code does not exist for one or more items,Codul GST HSN nu există pentru unul sau mai multe articole,
-Generate E-Way Bill JSON,Generați JSON Bill e-Way,
-Get Items,Obtine Articole,
-Get Outstanding Documents,Obțineți documente de excepție,
-Goal,Obiectiv,
-Greater Than Amount,Mai mare decât suma,
-Green,Verde,
-Group,Grup,
-Group By Customer,Grup după client,
-Group By Supplier,Grup după furnizor,
-Group Node,Nod Group,
-Group Warehouses cannot be used in transactions. Please change the value of {0},Depozitele de grup nu pot fi utilizate în tranzacții. Vă rugăm să schimbați valoarea {0},
-Help,Ajutor,
-Help Article,articol de ajutor,
-"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Te ajută să ții evidența contractelor bazate pe furnizor, client și angajat",
-Helps you manage appointments with your leads,Vă ajută să gestionați programările cu clienții dvs.,
-Home,Acasă,
-IBAN is not valid,IBAN nu este valid,
-Import Data from CSV / Excel files.,Importați date din fișiere CSV / Excel.,
-In Progress,In progres,
-Incoming call from {0},Apel primit de la {0},
-Incorrect Warehouse,Depozit incorect,
-Intermediate,Intermediar,
-Invalid Barcode. There is no Item attached to this barcode.,Cod de bare nevalid. Nu există niciun articol atașat acestui cod de bare.,
-Invalid credentials,Credențe nevalide,
-Invite as User,Invitați ca utilizator,
-Issue Priority.,Prioritate de emisiune.,
-Issue Type.,Tipul problemei.,
-"It seems that there is an issue with the server's stripe configuration. In case of failure, the amount will get refunded to your account.","Se pare că există o problemă cu configurația benzii serverului. În caz de eșec, suma va fi rambursată în cont.",
-Item Reported,Articol raportat,
-Item listing removed,Elementul de articol a fost eliminat,
-Item quantity can not be zero,Cantitatea articolului nu poate fi zero,
-Item taxes updated,Impozitele pe articol au fost actualizate,
-Item {0}: {1} qty produced. ,Articol {0}: {1} cantitate produsă.,
-Joining Date can not be greater than Leaving Date,Data de înscriere nu poate fi mai mare decât Data de plecare,
-Lab Test Item {0} already exist,Elementul testului de laborator {0} există deja,
-Last Issue,Ultima problemă,
-Latest Age,Etapă tarzie,
-Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,Cererea de concediu este legată de alocațiile de concediu {0}. Cererea de concediu nu poate fi stabilită ca concediu fără plată,
-Leaves Taken,Frunze luate,
-Less Than Amount,Mai puțin decât suma,
-Liabilities,pasive,
-Loading...,Se încarcă...,
-Loan Amount exceeds maximum loan amount of {0} as per proposed securities,Suma împrumutului depășește valoarea maximă a împrumutului de {0} conform valorilor mobiliare propuse,
-Loan Applications from customers and employees.,Aplicații de împrumut de la clienți și angajați.,
-Loan Disbursement,Decontarea împrumutului,
-Loan Processes,Procese de împrumut,
-Loan Security,Securitatea împrumutului,
-Loan Security Pledge,Gaj de securitate pentru împrumuturi,
-Loan Security Pledge Created : {0},Creditul de securitate al împrumutului creat: {0},
-Loan Security Price,Prețul securității împrumutului,
-Loan Security Price overlapping with {0},Prețul securității împrumutului care se suprapune cu {0},
-Loan Security Unpledge,Unplingge de securitate a împrumutului,
-Loan Security Value,Valoarea securității împrumutului,
-Loan Type for interest and penalty rates,Tip de împrumut pentru dobânzi și rate de penalizare,
-Loan amount cannot be greater than {0},Valoarea împrumutului nu poate fi mai mare de {0},
-Loan is mandatory,Împrumutul este obligatoriu,
-Loans,Credite,
-Loans provided to customers and employees.,Împrumuturi acordate clienților și angajaților.,
-Location,Închiriere,
-Log Type is required for check-ins falling in the shift: {0}.,Tipul de jurnal este necesar pentru check-in-urile care intră în schimb: {0}.,
-Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Se pare că cineva te-a trimis la o adresă URL incompletă. Vă rugăm să cereți-le să se uite în ea.,
-Make Journal Entry,Asigurați Jurnal intrare,
-Make Purchase Invoice,Realizeaza Factura de Cumparare,
-Manufactured,Fabricat,
-Mark Work From Home,Marcați munca de acasă,
-Master,Master,
-Max strength cannot be less than zero.,Rezistența maximă nu poate fi mai mică de zero.,
-Maximum attempts for this quiz reached!,Încercări maxime pentru acest test au fost atinse!,
-Message,Mesaj,
-Missing Values Required,Valorile lipsă necesare,
-Mobile No,Numar de mobil,
-Mobile Number,Numar de mobil,
-Month,Lună,
-Name,Nume,
-Near you,Lângă tine,
-Net Profit/Loss,Profit / Pierdere Netă,
-New Expense,Cheltuieli noi,
-New Invoice,Factură nouă,
-New Payment,Nouă plată,
-New release date should be in the future,Noua dată a lansării ar trebui să fie în viitor,
-Newsletter,Newsletter,
-No Account matched these filters: {},Niciun cont nu se potrivește cu aceste filtre: {},
-No Employee found for the given employee field value. '{}': {},Nu a fost găsit niciun angajat pentru valoarea câmpului dat. &#39;{}&#39;: {},
-No Leaves Allocated to Employee: {0} for Leave Type: {1},Fără frunze alocate angajaților: {0} pentru tipul de concediu: {1},
-No communication found.,Nu a fost găsită nicio comunicare.,
-No correct answer is set for {0},Nu este setat un răspuns corect pentru {0},
-No description,fără descriere,
-No issue has been raised by the caller.,Apelantul nu a pus nicio problemă.,
-No items to publish,Nu există articole de publicat,
-No outstanding invoices found,Nu s-au găsit facturi restante,
-No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,Nu s-au găsit facturi restante pentru {0} {1} care califică filtrele pe care le-ați specificat.,
-No outstanding invoices require exchange rate revaluation,Fără facturi restante nu necesită reevaluarea cursului de schimb,
-No reviews yet,Niciun comentariu încă,
-No views yet,Nu există încă vizionări,
-Non stock items,Articole care nu sunt pe stoc,
-Not Allowed,Nu permise,
-Not allowed to create accounting dimension for {0},Nu este permisă crearea unei dimensiuni contabile pentru {0},
-Not permitted. Please disable the Lab Test Template,Nu sunt acceptate. Vă rugăm să dezactivați șablonul de testare,
-Note,Notă,
-Notes: ,Observații:,
-On Converting Opportunity,La convertirea oportunității,
-On Purchase Order Submission,La trimiterea comenzii de cumpărare,
-On Sales Order Submission,La trimiterea comenzii de vânzare,
-On Task Completion,La finalizarea sarcinii,
-On {0} Creation,La {0} Creație,
-Only .csv and .xlsx files are supported currently,"În prezent, numai fișierele .csv și .xlsx sunt acceptate",
-Only expired allocation can be cancelled,Numai alocarea expirată poate fi anulată,
-Only users with the {0} role can create backdated leave applications,Doar utilizatorii cu rolul {0} pot crea aplicații de concediu retardate,
-Open,Deschide,
-Open Contact,Deschideți contactul,
-Open Lead,Deschideți plumb,
-Opening and Closing,Deschiderea și închiderea,
-Operating Cost as per Work Order / BOM,Costul de operare conform ordinului de lucru / BOM,
-Order Amount,Cantitatea comenzii,
-Page {0} of {1},Pagină {0} din {1},
-Paid amount cannot be less than {0},Suma plătită nu poate fi mai mică de {0},
-Parent Company must be a group company,Compania-mamă trebuie să fie o companie de grup,
-Passing Score value should be between 0 and 100,Valoarea punctajului de trecere ar trebui să fie între 0 și 100,
-Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,Politica de parolă nu poate conține spații sau cratime simultane. Formatul va fi restructurat automat,
-Patient History,Istoricul pacientului,
-Pause,Pauză,
-Pay,Plăti,
-Payment Document Type,Tip de document de plată,
-Payment Name,Numele de plată,
-Penalty Amount,Suma pedepsei,
-Pending,În așteptarea,
-Performance,Performanţă,
-Period based On,Perioada bazată pe,
-Perpetual inventory required for the company {0} to view this report.,Inventar perpetuu necesar companiei {0} pentru a vedea acest raport.,
-Phone,Telefon,
-Pick List,Lista de alegeri,
-Plaid authentication error,Eroare de autentificare plaidă,
-Plaid public token error,Eroare a simbolului public cu plaid,
-Plaid transactions sync error,Eroare de sincronizare a tranzacțiilor plasate,
-Please check the error log for details about the import errors,Verificați jurnalul de erori pentru detalii despre erorile de import,
-Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Vă rugăm să creați <b>DATEV Setări</b> pentru companie <b>{}</b> .,
-Please create adjustment Journal Entry for amount {0} ,Vă rugăm să creați ajustarea Intrare în jurnal pentru suma {0},
-Please do not create more than 500 items at a time,Vă rugăm să nu creați mai mult de 500 de articole simultan,
-Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Vă rugăm să introduceți <b>contul de diferență</b> sau să setați <b>contul de ajustare a stocului</b> implicit pentru compania {0},
-Please enter GSTIN and state for the Company Address {0},Vă rugăm să introduceți GSTIN și să indicați adresa companiei {0},
-Please enter Item Code to get item taxes,Vă rugăm să introduceți Codul articolului pentru a obține impozite pe articol,
-Please enter Warehouse and Date,Vă rugăm să introduceți Depozitul și data,
-Please enter the designation,Vă rugăm să introduceți desemnarea,
-Please login as a Marketplace User to edit this item.,Vă rugăm să vă autentificați ca utilizator de piață pentru a edita acest articol.,
-Please login as a Marketplace User to report this item.,Vă rugăm să vă autentificați ca utilizator de piață pentru a raporta acest articol.,
-Please select <b>Template Type</b> to download template,Vă rugăm să selectați <b>Tip de șablon</b> pentru a descărca șablonul,
-Please select Applicant Type first,Vă rugăm să selectați mai întâi tipul de solicitant,
-Please select Customer first,Vă rugăm să selectați Clientul mai întâi,
-Please select Item Code first,Vă rugăm să selectați mai întâi Codul articolului,
-Please select Loan Type for company {0},Vă rugăm să selectați Tip de împrumut pentru companie {0},
-Please select a Delivery Note,Vă rugăm să selectați o notă de livrare,
-Please select a Sales Person for item: {0},Vă rugăm să selectați o persoană de vânzări pentru articol: {0},
-Please select another payment method. Stripe does not support transactions in currency '{0}',Selectați o altă metodă de plată. Stripe nu acceptă tranzacțiile în valută &quot;{0}&quot;,
-Please select the customer.,Vă rugăm să selectați clientul.,
-Please set a Supplier against the Items to be considered in the Purchase Order.,Vă rugăm să setați un furnizor împotriva articolelor care trebuie luate în considerare în comanda de achiziție.,
-Please set account heads in GST Settings for Compnay {0},Vă rugăm să setați capetele de cont în Setările GST pentru Compnay {0},
-Please set an email id for the Lead {0},Vă rugăm să setați un cod de e-mail pentru Lead {0},
-Please set default UOM in Stock Settings,Vă rugăm să setați UOM implicit în Setări stoc,
-Please set filter based on Item or Warehouse due to a large amount of entries.,Vă rugăm să setați filtrul în funcție de articol sau depozit datorită unei cantități mari de înregistrări.,
-Please set up the Campaign Schedule in the Campaign {0},Vă rugăm să configurați Planificarea Campaniei în Campania {0},
-Please set valid GSTIN No. in Company Address for company {0},Vă rugăm să setați numărul GSTIN valid în adresa companiei pentru compania {0},
-Please set {0},Vă rugăm să setați {0},customer
-Please setup a default bank account for company {0},Vă rugăm să configurați un cont bancar implicit pentru companie {0},
-Please specify,Vă rugăm să specificați,
-Please specify a {0},Vă rugăm să specificați un {0},lead
-Pledge Status,Starea gajului,
-Pledge Time,Timp de gaj,
-Printing,Tipărire,
-Priority,Prioritate,
-Priority has been changed to {0}.,Prioritatea a fost modificată la {0}.,
-Priority {0} has been repeated.,Prioritatea {0} a fost repetată.,
-Processing XML Files,Procesarea fișierelor XML,
-Profitability,Rentabilitatea,
-Project,Proiect,
-Proposed Pledges are mandatory for secured Loans,Promisiunile propuse sunt obligatorii pentru împrumuturile garantate,
-Provide the academic year and set the starting and ending date.,Furnizați anul universitar și stabiliți data de început și de încheiere.,
-Public token is missing for this bank,Jurnalul public lipsește pentru această bancă,
-Publish,Publica,
-Publish 1 Item,Publicați 1 articol,
-Publish Items,Publica articole,
-Publish More Items,Publicați mai multe articole,
-Publish Your First Items,Publicați primele dvs. articole,
-Publish {0} Items,Publicați {0} articole,
-Published Items,Articole publicate,
-Purchase Invoice cannot be made against an existing asset {0},Factura de cumpărare nu poate fi făcută cu un activ existent {0},
-Purchase Invoices,Facturi de cumpărare,
-Purchase Orders,Ordine de achiziție,
-Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,Încasarea de cumpărare nu are niciun articol pentru care este activat eșantionul de păstrare.,
-Purchase Return,Înapoi cumpărare,
-Qty of Finished Goods Item,Cantitatea articolului de produse finite,
-Qty or Amount is mandatroy for loan security,Cantitatea sau suma este mandatroy pentru securitatea împrumutului,
-Quality Inspection required for Item {0} to submit,Inspecția de calitate necesară pentru trimiterea articolului {0},
-Quantity to Manufacture,Cantitate de fabricare,
-Quantity to Manufacture can not be zero for the operation {0},Cantitatea de fabricație nu poate fi zero pentru operațiune {0},
-Quarterly,Trimestrial,
-Queued,Coada de așteptare,
-Quick Entry,Intrarea rapidă,
-Quiz {0} does not exist,Chestionarul {0} nu există,
-Quotation Amount,Suma ofertei,
-Rate or Discount is required for the price discount.,Tariful sau Reducerea este necesară pentru reducerea prețului.,
-Reason,Motiv,
-Reconcile Entries,Reconciliați intrările,
-Reconcile this account,Reconciliați acest cont,
-Reconciled,reconciliat,
-Recruitment,Recrutare,
-Red,Roșu,
-Refreshing,Împrospătare,
-Release date must be in the future,Data lansării trebuie să fie în viitor,
-Relieving Date must be greater than or equal to Date of Joining,Data scutirii trebuie să fie mai mare sau egală cu data aderării,
-Rename,Redenumire,
-Rename Not Allowed,Redenumirea nu este permisă,
-Repayment Method is mandatory for term loans,Metoda de rambursare este obligatorie pentru împrumuturile la termen,
-Repayment Start Date is mandatory for term loans,Data de începere a rambursării este obligatorie pentru împrumuturile la termen,
-Report Item,Raport articol,
-Report this Item,Raportați acest articol,
-Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Cantitate rezervată pentru subcontract: cantitate de materii prime pentru a face obiecte subcontractate.,
-Reset,Resetează,
-Reset Service Level Agreement,Resetați Acordul privind nivelul serviciilor,
-Resetting Service Level Agreement.,Resetarea Acordului privind nivelul serviciilor.,
-Return amount cannot be greater unclaimed amount,Suma returnată nu poate fi o sumă nereclamată mai mare,
-Review,Revizuire,
-Room,Cameră,
-Room Type,Tip Cameră,
-Row # ,Rând #,
-Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Rândul # {0}: depozitul acceptat și depozitul furnizorului nu pot fi aceleași,
-Row #{0}: Cannot delete item {1} which has already been billed.,Rândul # {0}: Nu se poate șterge elementul {1} care a fost deja facturat.,
-Row #{0}: Cannot delete item {1} which has already been delivered,Rândul # {0}: Nu se poate șterge articolul {1} care a fost deja livrat,
-Row #{0}: Cannot delete item {1} which has already been received,Rândul # {0}: Nu se poate șterge elementul {1} care a fost deja primit,
-Row #{0}: Cannot delete item {1} which has work order assigned to it.,Rândul # {0}: Nu se poate șterge elementul {1} care i-a fost atribuită o ordine de lucru.,
-Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,Rândul # {0}: Nu se poate șterge articolul {1} care este atribuit comenzii de cumpărare a clientului.,
-Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Rândul # {0}: Nu se poate selecta Furnizorul în timp ce furnizează materii prime subcontractantului,
-Row #{0}: Cost Center {1} does not belong to company {2},Rândul {{0}: Centrul de costuri {1} nu aparține companiei {2},
-Row #{0}: Operation {1} is not completed for {2} qty of finished goods in Work Order {3}. Please update operation status via Job Card {4}.,Rândul # {0}: Operația {1} nu este finalizată pentru {2} cantitate de mărfuri finite în Ordinul de lucru {3}. Vă rugăm să actualizați starea operației prin intermediul cărții de lucru {4}.,
-Row #{0}: Payment document is required to complete the transaction,Rândul # {0}: documentul de plată este necesar pentru a finaliza tranzacția,
-Row #{0}: Serial No {1} does not belong to Batch {2},Rândul # {0}: nr. De serie {1} nu aparține lotului {2},
-Row #{0}: Service End Date cannot be before Invoice Posting Date,Rândul # {0}: Data de încheiere a serviciului nu poate fi înainte de Data de înregistrare a facturii,
-Row #{0}: Service Start Date cannot be greater than Service End Date,Rândul # {0}: Data de începere a serviciului nu poate fi mai mare decât Data de încheiere a serviciului,
-Row #{0}: Service Start and End Date is required for deferred accounting,Rândul # {0}: Data de început și de încheiere a serviciului este necesară pentru contabilitate amânată,
-Row {0}: Invalid Item Tax Template for item {1},Rândul {0}: șablonul de impozit pe articol nevalid pentru articolul {1},
-Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Rândul {0}: cantitatea nu este disponibilă pentru {4} în depozit {1} la momentul înregistrării la intrare ({2} {3}),
-Row {0}: user has not applied the rule {1} on the item {2},Rândul {0}: utilizatorul nu a aplicat regula {1} pe articolul {2},
-Row {0}:Sibling Date of Birth cannot be greater than today.,Rândul {0}: Data nașterii în materie nu poate fi mai mare decât astăzi.,
-Row({0}): {1} is already discounted in {2},Rândul ({0}): {1} este deja actualizat în {2},
-Rows Added in {0},Rânduri adăugate în {0},
-Rows Removed in {0},Rândurile eliminate în {0},
-Sanctioned Amount limit crossed for {0} {1},Limita sumei sancționate depășită pentru {0} {1},
-Sanctioned Loan Amount already exists for {0} against company {1},Suma de împrumut sancționat există deja pentru {0} față de compania {1},
-Save,Salvează,
-Save Item,Salvare articol,
-Saved Items,Articole salvate,
-Search Items ...,Caută articole ...,
-Search for a payment,Căutați o plată,
-Search for anything ...,Căutați orice ...,
-Search results for,cauta rezultate pentru,
-Select All,Selectează toate,
-Select Difference Account,Selectați Cont de diferență,
-Select a Default Priority.,Selectați o prioritate implicită.,
-Select a company,Selectați o companie,
-Select finance book for the item {0} at row {1},Selectați cartea de finanțe pentru articolul {0} din rândul {1},
-Select only one Priority as Default.,Selectați doar o prioritate ca implicită.,
-Seller Information,Informatiile vanzatorului,
-Send,Trimiteți,
-Send a message,Trimite un mesaj,
-Sending,Trimitere,
-Sends Mails to lead or contact based on a Campaign schedule,Trimite e-mailuri pentru a conduce sau a contacta pe baza unui program de campanie,
-Serial Number Created,Număr de serie creat,
-Serial Numbers Created,Numere de serie create,
-Serial no(s) required for serialized item {0},Numărul (numerele) de serie necesare pentru articolul serializat {0},
-Series,Serii,
-Server Error,Eroare de server,
-Service Level Agreement has been changed to {0}.,Acordul privind nivelul serviciilor a fost modificat în {0}.,
-Service Level Agreement was reset.,Acordul privind nivelul serviciilor a fost resetat.,
-Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Acordul privind nivelul serviciului cu tipul de entitate {0} și entitatea {1} există deja.,
-Set,Setează,
-Set Meta Tags,Setați etichete meta,
-Set {0} in company {1},Setați {0} în companie {1},
-Setup,Configurare,
-Setup Wizard,Vrăjitor Configurare,
-Shift Management,Managementul schimbării,
-Show Future Payments,Afișați plăți viitoare,
-Show Linked Delivery Notes,Afișare Note de livrare conexe,
-Show Sales Person,Afișați persoana de vânzări,
-Show Stock Ageing Data,Afișează date de îmbătrânire a stocurilor,
-Show Warehouse-wise Stock,Afișați stocul înțelept,
-Size,Dimensiune,
-Something went wrong while evaluating the quiz.,Ceva nu a mers în timp ce evaluați testul.,
-Sr,sr,
-Start,Început(Pornire),
-Start Date cannot be before the current date,Data de început nu poate fi înainte de data curentă,
-Start Time,Ora de începere,
-Status,Status,
-Status must be Cancelled or Completed,Starea trebuie anulată sau completată,
-Stock Balance Report,Raportul soldului stocurilor,
-Stock Entry has been already created against this Pick List,Intrarea pe stoc a fost deja creată pe baza acestei liste de alegeri,
-Stock Ledger ID,ID evidență stoc,
-Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,Valoarea stocului ({0}) și soldul contului ({1}) nu sunt sincronizate pentru contul {2} și sunt depozite legate.,
-Stores - {0},Magazine - {0},
-Student with email {0} does not exist,Studentul cu e-mail {0} nu există,
-Submit Review,Trimite recenzie,
-Submitted,Inscrisa,
-Supplier Addresses And Contacts,Adrese furnizorului și de Contacte,
-Synchronize this account,Sincronizați acest cont,
-Tag,Etichetă,
-Target Location is required while receiving Asset {0} from an employee,Locația țintă este necesară în timp ce primiți activ {0} de la un angajat,
-Target Location is required while transferring Asset {0},Locația țintă este necesară în timpul transferului de active {0},
-Target Location or To Employee is required while receiving Asset {0},Locația țintei sau către angajat este necesară în timp ce primiți activ {0},
-Task's {0} End Date cannot be after Project's End Date.,Data de încheiere a sarcinii {0} nu poate fi după data de încheiere a proiectului.,
-Task's {0} Start Date cannot be after Project's End Date.,Data de început a sarcinii {0} nu poate fi după data de încheiere a proiectului.,
-Tax Account not specified for Shopify Tax {0},Contul fiscal nu este specificat pentru Shopify Tax {0},
-Tax Total,Total impozit,
-Template,Șablon,
-The Campaign '{0}' already exists for the {1} '{2}',Campania „{0}” există deja pentru {1} &#39;{2}&#39;,
-The difference between from time and To Time must be a multiple of Appointment,Diferența dintre timp și To Time trebuie să fie multiplu de numire,
-The field Asset Account cannot be blank,Câmpul Contul de active nu poate fi gol,
-The field Equity/Liability Account cannot be blank,Câmpul Contul de capitaluri proprii / pasiv nu poate fi necompletat,
-The following serial numbers were created: <br><br> {0},Au fost create următoarele numere de serie: <br><br> {0},
-The parent account {0} does not exists in the uploaded template,Contul părinte {0} nu există în șablonul încărcat,
-The question cannot be duplicate,Întrebarea nu poate fi duplicată,
-The selected payment entry should be linked with a creditor bank transaction,Intrarea de plată selectată trebuie să fie legată de o tranzacție bancară cu creditor,
-The selected payment entry should be linked with a debtor bank transaction,Intrarea de plată selectată trebuie să fie legată de o tranzacție bancară cu debitori,
-The total allocated amount ({0}) is greated than the paid amount ({1}).,Suma totală alocată ({0}) este majorată decât suma plătită ({1}).,
-There are no vacancies under staffing plan {0},Nu există locuri vacante conform planului de personal {0},
-This Service Level Agreement is specific to Customer {0},Acest Acord de nivel de serviciu este specific Clientului {0},
-This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,Această acțiune va deconecta acest cont de orice serviciu extern care integrează ERPNext cu conturile dvs. bancare. Nu poate fi anulată. Esti sigur ?,
-This bank account is already synchronized,Acest cont bancar este deja sincronizat,
-This bank transaction is already fully reconciled,Această tranzacție bancară este deja complet reconciliată,
-This employee already has a log with the same timestamp.{0},Acest angajat are deja un jurnal cu aceeași oră de timp. {0},
-This page keeps track of items you want to buy from sellers.,Această pagină ține evidența articolelor pe care doriți să le cumpărați de la vânzători.,
-This page keeps track of your items in which buyers have showed some interest.,Această pagină ține evidența articolelor dvs. pentru care cumpărătorii au arătat interes.,
-Thursday,Joi,
-Timing,Sincronizare,
-Title,Titlu,
-"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","Pentru a permite facturarea excesivă, actualizați „Indemnizație de facturare” în Setări conturi sau element.",
-"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","Pentru a permite primirea / livrarea, actualizați „Indemnizația de primire / livrare” în Setări de stoc sau articol.",
-To date needs to be before from date,Până în prezent trebuie să fie înainte de această dată,
-Total,Total,
-Total Early Exits,Total Ieșiri anticipate,
-Total Late Entries,Total intrări târzii,
-Total Payment Request amount cannot be greater than {0} amount,Suma totală a solicitării de plată nu poate fi mai mare decât {0},
-Total payments amount can't be greater than {},Valoarea totală a plăților nu poate fi mai mare de {},
-Totals,Totaluri,
-Training Event:,Eveniment de formare:,
-Transactions already retreived from the statement,Tranzacțiile au fost retrase din extras,
-Transfer Material to Supplier,Transfer de material la furnizor,
-Transport Receipt No and Date are mandatory for your chosen Mode of Transport,Numărul de recepție și data de transport nu sunt obligatorii pentru modul de transport ales,
-Tuesday,Marți,
-Type,Tip,
-Unable to find Salary Component {0},Imposibil de găsit componentul salariului {0},
-Unable to find the time slot in the next {0} days for the operation {1}.,Nu se poate găsi intervalul orar în următoarele {0} zile pentru operația {1}.,
-Unable to update remote activity,Imposibil de actualizat activitatea de la distanță,
-Unknown Caller,Apelant necunoscut,
-Unlink external integrations,Deconectați integrările externe,
-Unmarked Attendance for days,Participarea nemarcată zile întregi,
-Unpublish Item,Publicarea articolului,
-Unreconciled,nereconciliat,
-Unsupported GST Category for E-Way Bill JSON generation,Categorie GST neacceptată pentru generarea JSON Bill E-Way,
-Update,Actualizare,
-Update Details,Detalii detalii,
-Update Taxes for Items,Actualizați impozitele pentru articole,
-"Upload a bank statement, link or reconcile a bank account","Încărcați un extras bancar, conectați sau reconciliați un cont bancar",
-Upload a statement,Încărcați o declarație,
-Use a name that is different from previous project name,Utilizați un nume diferit de numele proiectului anterior,
-User {0} is disabled,Utilizatorul {0} este dezactivat,
-Users and Permissions,Utilizatori și permisiuni,
-Vacancies cannot be lower than the current openings,Posturile vacante nu pot fi mai mici decât deschiderile actuale,
-Valid From Time must be lesser than Valid Upto Time.,Valid From Time trebuie să fie mai mic decât Valid Upto Time.,
-Valuation Rate required for Item {0} at row {1},Rata de evaluare necesară pentru articolul {0} la rândul {1},
-Values Out Of Sync,Valori ieșite din sincronizare,
-Vehicle Type is required if Mode of Transport is Road,Tip de vehicul este necesar dacă modul de transport este rutier,
-Vendor Name,Numele vânzătorului,
-Verify Email,Verificați e-mail,
-View,Vedere,
-View all issues from {0},Vedeți toate problemele din {0},
-View call log,Vizualizați jurnalul de apeluri,
-Warehouse,Depozit,
-Warehouse not found against the account {0},Depozitul nu a fost găsit în contul {0},
-Welcome to {0},Bine ai venit la {0},
-Why do think this Item should be removed?,De ce credeți că acest articol ar trebui eliminat?,
-Work Order {0}: Job Card not found for the operation {1},Comandă de lucru {0}: cartea de muncă nu a fost găsită pentru operație {1},
-Workday {0} has been repeated.,Ziua lucrătoare {0} a fost repetată.,
-XML Files Processed,Fișiere XML procesate,
-Year,An,
-Yearly,Anual,
-You,Tu,
-You are not allowed to enroll for this course,Nu aveți voie să vă înscrieți la acest curs,
-You are not enrolled in program {0},Nu sunteți înscris în programul {0},
-You can Feature upto 8 items.,Puteți prezenta până la 8 articole.,
-You can also copy-paste this link in your browser,"De asemenea, puteți să copiați-paste această legătură în browser-ul dvs.",
-You can publish upto 200 items.,Puteți publica până la 200 de articole.,
-You have to enable auto re-order in Stock Settings to maintain re-order levels.,Trebuie să activați re-comanda auto în Setări stoc pentru a menține nivelurile de re-comandă.,
-You must be a registered supplier to generate e-Way Bill,Pentru a genera Bill e-Way trebuie să fiți un furnizor înregistrat,
-You need to login as a Marketplace User before you can add any reviews.,Trebuie să vă autentificați ca utilizator de piață înainte de a putea adăuga recenzii.,
-Your Featured Items,Articolele dvs. recomandate,
-Your Items,Articolele dvs.,
-Your Profile,Profilul tau,
-Your rating:,Rating-ul tău:,
-and,și,
-e-Way Bill already exists for this document,e-Way Bill există deja pentru acest document,
-woocommerce - {0},woocommerce - {0},
-{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Cuponul utilizat este {1}. Cantitatea admisă este epuizată,
-{0} Name,{0} Nume,
-{0} Operations: {1},{0} Operații: {1},
-{0} bank transaction(s) created,{0} tranzacțiile bancare create,
-{0} bank transaction(s) created and {1} errors,{0} tranzacțiile bancare create și {1} erori,
-{0} can not be greater than {1},{0} nu poate fi mai mare de {1},
-{0} conversations,{0} conversații,
-{0} is not a company bank account,{0} nu este un cont bancar al companiei,
-{0} is not a group node. Please select a group node as parent cost center,{0} nu este un nod de grup. Vă rugăm să selectați un nod de grup ca centru de costuri parentale,
-{0} is not the default supplier for any items.,{0} nu este furnizorul prestabilit pentru niciun articol.,
-{0} is required,{0} este necesar,
-{0}: {1} must be less than {2},{0}: {1} trebuie să fie mai mic decât {2},
-{} is an invalid Attendance Status.,{} este o stare de prezență nevalidă.,
-{} is required to generate E-Way Bill JSON,{} este necesar pentru a genera Bill JSON E-Way,
-"Invalid lost reason {0}, please create a new lost reason","Motiv pierdut nevalabil {0}, vă rugăm să creați un motiv nou pierdut",
-Profit This Year,Profit anul acesta,
-Total Expense,Cheltuieli totale,
-Total Expense This Year,Cheltuieli totale în acest an,
-Total Income,Venit total,
-Total Income This Year,Venit total în acest an,
-Barcode,coduri de bare,
-Bold,Îndrăzneţ,
-Center,Centru,
-Clear,clar,
-Comment,cometariu,
-Comments,Comentarii,
-DocType,DocType,
-Download,Descarca,
-Left,Stânga,
-Link,Legătură,
-New,Nou,
-Not Found,Nu a fost găsit,
-Print,Imprimare,
-Reference Name,nume de referinta,
-Refresh,Actualizare,
-Success,Succes,
-Time,Timp,
-Value,Valoare,
-Actual,Real,
-Add to Cart,Adăugaţi în Coş,
-Days Since Last Order,Zile de la ultima comandă,
-In Stock,In stoc,
-Loan Amount is mandatory,Suma împrumutului este obligatorie,
-Mode Of Payment,Modul de plată,
-No students Found,Nu au fost găsiți studenți,
-Not in Stock,Nu este în stoc,
-Please select a Customer,Selectați un client,
-Printed On,imprimat pe,
-Received From,Primit de la,
-Sales Person,Persoană de vânzări,
-To date cannot be before From date,Până în prezent nu poate fi înainte de data,
-Write Off,Achita,
-{0} Created,{0} a fost creat,
-Email Id,ID-ul de e-mail,
-No,Nu,
-Reference Doctype,DocType referință,
-User Id,Numele de utilizator,
-Yes,da,
-Actual ,Efectiv,
-Add to cart,Adăugaţi în Coş,
-Budget,Buget,
-Chart of Accounts,Grafic de conturi,
-Customer database.,Baza de date pentru clienți.,
-Days Since Last order,Zile de la ultima comandă,
-Download as JSON,Descărcați ca JSON,
-End date can not be less than start date,Data de Incheiere nu poate fi anterioara Datei de Incepere,
-For Default Supplier (Optional),Pentru furnizor implicit (opțional),
-From date cannot be greater than To date,De la data nu poate fi mai mare decât la data,
-Group by,Grupul De,
-In stock,In stoc,
-Item name,Denumire Articol,
-Loan amount is mandatory,Suma împrumutului este obligatorie,
-Minimum Qty,Cantitatea minimă,
-More details,Mai multe detalii,
-Nature of Supplies,Natura aprovizionării,
-No Items found.,Nu au fost gasite articolele.,
-No employee found,Nu a fost găsit angajat,
-No students found,Nu există elevi găsit,
-Not in stock,Nu este în stoc,
-Not permitted,Nu sunt acceptate,
-Open Issues ,Probleme deschise,
-Open Projects ,Deschide Proiecte,
-Open To Do ,Deschideți To Do,
-Operation Id,Operațiunea ID,
-Partially ordered,Comandat parțial,
-Please select company first,Selectați prima companie,
-Please select patient,Selectați pacientul,
-Printed On ,Tipărit pe,
-Projected qty,Numărul estimat,
-Sales person,Persoană de vânzări,
-Serial No {0} Created,Serial Nu {0} a creat,
-Source Location is required for the Asset {0},Sursa Locația este necesară pentru elementul {0},
-Tax Id,Cod de identificare fiscală,
-To Time,La timp,
-To date cannot be before from date,Până în prezent nu poate fi înainte de De la dată,
-Total Taxable value,Valoarea impozabilă totală,
-Upcoming Calendar Events ,Evenimente viitoare Calendar,
-Value or Qty,Valoare sau cantitate,
-Variance ,variație,
-Variant of,Varianta de,
-Write off,Achita,
-hours,ore,
-received from,primit de la,
-to,Până la data,
-Cards,Carduri,
-Percentage,Procent,
-Failed to setup defaults for country {0}. Please contact support@erpnext.com,Eroare la configurarea valorilor prestabilite pentru țară {0}. Vă rugăm să contactați support@erpnext.com,
-Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Rândul # {0}: Elementul {1} nu este un articol serializat / batat. Nu poate avea un număr de serie / nr.,
-Please set {0},Vă rugăm să setați {0},
-Please set {0},Vă rugăm să setați {0},supplier
-Draft,Proiect,"docstatus,=,0"
-Cancelled,Anulat,"docstatus,=,2"
-Please setup Instructor Naming System in Education > Education Settings,Vă rugăm să configurați sistemul de numire a instructorului în educație&gt; Setări educație,
-Please set Naming Series for {0} via Setup > Settings > Naming Series,Vă rugăm să setați Naming Series pentru {0} prin Setare&gt; Setări&gt; Serie pentru denumire,
-UOM Conversion factor ({0} -> {1}) not found for item: {2},Factorul de conversie UOM ({0} -&gt; {1}) nu a fost găsit pentru articol: {2},
-Item Code > Item Group > Brand,Cod articol&gt; Grup de articole&gt; Marcă,
-Customer > Customer Group > Territory,Client&gt; Grup de clienți&gt; Teritoriul,
-Supplier > Supplier Type,Furnizor&gt; Tip furnizor,
-Please setup Employee Naming System in Human Resource > HR Settings,Vă rugăm să configurați sistemul de numire a angajaților în resurse umane&gt; Setări HR,
-Please setup numbering series for Attendance via Setup > Numbering Series,Vă rugăm să configurați seria de numerotare pentru prezență prin Setare&gt; Numerotare,
-The value of {0} differs between Items {1} and {2},Valoarea {0} diferă între elementele {1} și {2},
-Auto Fetch,Preluare automată,
-Fetch Serial Numbers based on FIFO,Obțineți numerele de serie pe baza FIFO,
-"Outward taxable supplies(other than zero rated, nil rated and exempted)","Consumabile impozabile (altele decât zero, zero și scutite)",
-"To allow different rates, disable the {0} checkbox in {1}.","Pentru a permite tarife diferite, dezactivați caseta de selectare {0} din {1}.",
-Current Odometer Value should be greater than Last Odometer Value {0},Valoarea curentă a kilometrului ar trebui să fie mai mare decât ultima valoare a kilometrului {0},
-No additional expenses has been added,Nu s-au adăugat cheltuieli suplimentare,
-Asset{} {assets_link} created for {},Element {} {assets_link} creat pentru {},
-Row {}: Asset Naming Series is mandatory for the auto creation for item {},Rând {}: Seria de denumire a activelor este obligatorie pentru crearea automată a articolului {},
-Assets not created for {0}. You will have to create asset manually.,Elemente care nu au fost create pentru {0}. Va trebui să creați manual activul.,
-{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} are înregistrări contabile în valută {2} pentru companie {3}. Vă rugăm să selectați un cont de primit sau de plătit cu moneda {2}.,
-Invalid Account,Cont invalid,
-Purchase Order Required,Comandă de aprovizionare necesare,
-Purchase Receipt Required,Cumpărare de primire Obligatoriu,
-Account Missing,Cont lipsă,
-Requested,Solicitată,
-Partially Paid,Parțial plătit,
-Invalid Account Currency,Moneda contului este nevalidă,
-"Row {0}: The item {1}, quantity must be positive number","Rândul {0}: elementul {1}, cantitatea trebuie să fie un număr pozitiv",
-"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Vă rugăm să setați {0} pentru articolul lot {1}, care este utilizat pentru a seta {2} la Trimitere.",
-Expiry Date Mandatory,Data de expirare Obligatorie,
-Variant Item,Variant Item,
-BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} și BOM 2 {1} nu ar trebui să fie aceleași,
-Note: Item {0} added multiple times,Notă: articolul {0} a fost adăugat de mai multe ori,
-YouTube,YouTube,
-Vimeo,Vimeo,
-Publish Date,Data publicării,
-Duration,Durată,
-Advanced Settings,Setari avansate,
-Path,cale,
-Components,Componente,
-Verified By,Verificate de,
-Invalid naming series (. missing) for {0},Serii de denumiri nevalide (. Lipsesc) pentru {0},
-Filter Based On,Filtrare bazată pe,
-Reqd by date,Reqd după dată,
-Manufacturer Part Number <b>{0}</b> is invalid,Numărul de piesă al producătorului <b>{0}</b> este nevalid,
-Invalid Part Number,Număr de piesă nevalid,
-Select atleast one Social Media from Share on.,Selectați cel puțin o rețea socială din Partajare pe.,
-Invalid Scheduled Time,Ora programată nevalidă,
-Length Must be less than 280.,Lungimea trebuie să fie mai mică de 280.,
-Error while POSTING {0},Eroare la POSTARE {0},
-"Session not valid, Do you want to login?","Sesiunea nu este validă, doriți să vă autentificați?",
-Session Active,Sesiune activă,
-Session Not Active. Save doc to login.,Sesiunea nu este activă. Salvați documentul pentru autentificare.,
-Error! Failed to get request token.,Eroare! Nu s-a obținut indicativul de solicitare,
-Invalid {0} or {1},{0} sau {1} nevalid,
-Error! Failed to get access token.,Eroare! Nu s-a obținut jetonul de acces.,
-Invalid Consumer Key or Consumer Secret Key,Cheie consumator nevalidă sau cheie secretă consumator,
-Your Session will be expire in ,Sesiunea dvs. va expira în,
- days.,zile.,
-Session is expired. Save doc to login.,Sesiunea a expirat. Salvați documentul pentru autentificare.,
-Error While Uploading Image,Eroare la încărcarea imaginii,
-You Didn't have permission to access this API,Nu ați avut permisiunea de a accesa acest API,
-Valid Upto date cannot be before Valid From date,Valid Upto date nu poate fi înainte de Valid From date,
-Valid From date not in Fiscal Year {0},Valabil de la data care nu se află în anul fiscal {0},
-Valid Upto date not in Fiscal Year {0},Data actualizată valabilă nu în anul fiscal {0},
-Group Roll No,Rola grupului nr,
-Maintain Same Rate Throughout Sales Cycle,Menține Aceeași Rată in Cursul Ciclului de Vânzări,
-"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Rândul {1}: Cantitatea ({0}) nu poate fi o fracțiune. Pentru a permite acest lucru, dezactivați „{2}” în UOM {3}.",
-Must be Whole Number,Trebuie să fie Număr întreg,
-Please setup Razorpay Plan ID,Configurați ID-ul planului Razorpay,
-Contact Creation Failed,Crearea contactului nu a reușit,
-{0} already exists for employee {1} and period {2},{0} există deja pentru angajat {1} și perioada {2},
-Leaves Allocated,Frunze alocate,
-Leaves Expired,Frunzele au expirat,
-Leave Without Pay does not match with approved {} records,Concediu fără plată nu se potrivește cu înregistrările {} aprobate,
-Income Tax Slab not set in Salary Structure Assignment: {0},Placa de impozit pe venit nu este setată în atribuirea structurii salariale: {0},
-Income Tax Slab: {0} is disabled,Planșa impozitului pe venit: {0} este dezactivat,
-Income Tax Slab must be effective on or before Payroll Period Start Date: {0},Placa pentru impozitul pe venit trebuie să fie efectivă la data de începere a perioadei de salarizare sau înainte de aceasta: {0},
-No leave record found for employee {0} on {1},Nu s-a găsit nicio evidență de concediu pentru angajatul {0} pe {1},
-Row {0}: {1} is required in the expenses table to book an expense claim.,Rândul {0}: {1} este necesar în tabelul de cheltuieli pentru a rezerva o cerere de cheltuieli.,
-Set the default account for the {0} {1},Setați contul prestabilit pentru {0} {1},
-(Half Day),(Jumătate de zi),
-Income Tax Slab,Placa impozitului pe venit,
-Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Rândul # {0}: Nu se poate stabili suma sau formula pentru componenta salariu {1} cu variabilă pe baza salariului impozabil,
-Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Rândul # {}: {} din {} ar trebui să fie {}. Vă rugăm să modificați contul sau să selectați un alt cont.,
-Row #{}: Please asign task to a member.,Rândul # {}: atribuiți sarcina unui membru.,
-Process Failed,Procesul nu a reușit,
-Tally Migration Error,Eroare de migrare Tally,
-Please set Warehouse in Woocommerce Settings,Vă rugăm să setați Depozitul în Setările Woocommerce,
-Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Rândul {0}: Depozitul de livrare ({1}) și Depozitul pentru clienți ({2}) nu pot fi identice,
-Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Rândul {0}: Data scadenței din tabelul Condiții de plată nu poate fi înainte de Data înregistrării,
-Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Nu se poate găsi {} pentru articol {}. Vă rugăm să setați același lucru în Setări articol principal sau stoc,
-Row #{0}: The batch {1} has already expired.,Rândul # {0}: lotul {1} a expirat deja.,
-Start Year and End Year are mandatory,Anul de început și anul de sfârșit sunt obligatorii,
-GL Entry,Intrari GL,
-Cannot allocate more than {0} against payment term {1},Nu se pot aloca mai mult de {0} contra termenului de plată {1},
-The root account {0} must be a group,Contul rădăcină {0} trebuie să fie un grup,
-Shipping rule not applicable for country {0} in Shipping Address,Regula de expediere nu se aplică pentru țara {0} din adresa de expediere,
-Get Payments from,Primiți plăți de la,
-Set Shipping Address or Billing Address,Setați adresa de expediere sau adresa de facturare,
-Consultation Setup,Configurarea consultării,
-Fee Validity,Valabilitate taxă,
-Laboratory Setup,Configurarea laboratorului,
-Dosage Form,Formă de dozare,
-Records and History,Înregistrări și istorie,
-Patient Medical Record,Dosarul medical al pacientului,
-Rehabilitation,Reabilitare,
-Exercise Type,Tipul de exercițiu,
-Exercise Difficulty Level,Nivelul de dificultate al exercițiului,
-Therapy Type,Tip de terapie,
-Therapy Plan,Planul de terapie,
-Therapy Session,Sesiune de terapie,
-Motor Assessment Scale,Scara de evaluare motorie,
-[Important] [ERPNext] Auto Reorder Errors,[Important] [ERPNext] Erori de reordonare automată,
-"Regards,","Salutari,",
-The following {0} were created: {1},Au fost create următoarele {0}: {1},
-Work Orders,comenzi de lucru,
-The {0} {1} created sucessfully,{0} {1} a fost creat cu succes,
-Work Order cannot be created for following reason: <br> {0},Ordinea de lucru nu poate fi creată din următorul motiv:<br> {0},
-Add items in the Item Locations table,Adăugați elemente în tabelul Locații element,
-Update Current Stock,Actualizați stocul curent,
-"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Păstrarea eșantionului se bazează pe lot, vă rugăm să bifați Are Batch No pentru a păstra eșantionul articolului",
-Empty,Gol,
-Currently no stock available in any warehouse,În prezent nu există stoc disponibil în niciun depozit,
-BOM Qty,Cantitatea BOM,
-Time logs are required for {0} {1},Jurnalele de timp sunt necesare pentru {0} {1},
-Total Completed Qty,Cantitatea totală completată,
-Qty to Manufacture,Cantitate pentru fabricare,
-Repay From Salary can be selected only for term loans,Rambursarea din salariu poate fi selectată numai pentru împrumuturile pe termen,
-No valid Loan Security Price found for {0},Nu s-a găsit un preț valid de securitate a împrumutului pentru {0},
-Loan Account and Payment Account cannot be same,Contul de împrumut și Contul de plată nu pot fi aceleași,
-Loan Security Pledge can only be created for secured loans,Garanția de securitate a împrumutului poate fi creată numai pentru împrumuturile garantate,
-Social Media Campaigns,Campanii de socializare,
-From Date can not be greater than To Date,From Date nu poate fi mai mare decât To Date,
-Please set a Customer linked to the Patient,Vă rugăm să setați un client legat de pacient,
-Customer Not Found,Clientul nu a fost găsit,
-Please Configure Clinical Procedure Consumable Item in ,Vă rugăm să configurați articolul consumabil pentru procedura clinică în,
-Missing Configuration,Configurare lipsă,
-Out Patient Consulting Charge Item,Aflați articolul de taxare pentru consultanță pentru pacient,
-Inpatient Visit Charge Item,Taxă pentru vizitarea pacientului,
-OP Consulting Charge,OP Taxă de consultanță,
-Inpatient Visit Charge,Taxă pentru vizitarea bolnavului,
-Appointment Status,Starea numirii,
-Test: ,Test:,
-Collection Details: ,Detalii colecție:,
-{0} out of {1},{0} din {1},
-Select Therapy Type,Selectați Tip de terapie,
-{0} sessions completed,{0} sesiuni finalizate,
-{0} session completed,{0} sesiune finalizată,
- out of {0},din {0},
-Therapy Sessions,Ședințe de terapie,
-Add Exercise Step,Adăugați Pasul de exerciții,
-Edit Exercise Step,Editați Pasul de exerciții,
-Patient Appointments,Programări pentru pacienți,
-Item with Item Code {0} already exists,Elementul cu codul articolului {0} există deja,
-Registration Fee cannot be negative or zero,Taxa de înregistrare nu poate fi negativă sau zero,
-Configure a service Item for {0},Configurați un articol de serviciu pentru {0},
-Temperature: ,Temperatura:,
-Pulse: ,Puls:,
-Respiratory Rate: ,Rata respiratorie:,
-BP: ,BP:,
-BMI: ,IMC:,
-Note: ,Notă:,
-Check Availability,Verifică Disponibilitate,
-Please select Patient first,Vă rugăm să selectați mai întâi Pacient,
-Please select a Mode of Payment first,Vă rugăm să selectați mai întâi un mod de plată,
-Please set the Paid Amount first,Vă rugăm să setați mai întâi suma plătită,
-Not Therapies Prescribed,Nu terapii prescrise,
-There are no Therapies prescribed for Patient {0},Nu există terapii prescrise pentru pacient {0},
-Appointment date and Healthcare Practitioner are Mandatory,Data numirii și medicul sunt obligatorii,
-No Prescribed Procedures found for the selected Patient,Nu s-au găsit proceduri prescrise pentru pacientul selectat,
-Please select a Patient first,Vă rugăm să selectați mai întâi un pacient,
-There are no procedure prescribed for ,Nu există o procedură prescrisă pentru,
-Prescribed Therapies,Terapii prescrise,
-Appointment overlaps with ,Programarea se suprapune cu,
-{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} are programată o întâlnire cu {1} la {2} cu o durată de {3} minute.,
-Appointments Overlapping,Programări care se suprapun,
-Consulting Charges: {0},Taxe de consultanță: {0},
-Appointment Cancelled. Please review and cancel the invoice {0},Programare anulată. Examinați și anulați factura {0},
-Appointment Cancelled.,Programare anulată.,
-Fee Validity {0} updated.,Valabilitatea taxei {0} actualizată.,
-Practitioner Schedule Not Found,Programul practicantului nu a fost găsit,
-{0} is on a Half day Leave on {1},{0} este într-un concediu de jumătate de zi pe {1},
-{0} is on Leave on {1},{0} este în concediu pe {1},
-{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} nu are un program de asistență medicală. Adăugați-l în Healthcare Practitioner,
-Healthcare Service Units,Unități de servicii medicale,
-Complete and Consume,Completează și consumă,
-Complete {0} and Consume Stock?,Completați {0} și consumați stoc?,
-Complete {0}?,Completați {0}?,
-Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,Cantitatea de stoc pentru a începe procedura nu este disponibilă în depozit {0}. Doriți să înregistrați o înregistrare de stoc?,
-{0} as on {1},{0} ca pe {1},
-Clinical Procedure ({0}):,Procedură clinică ({0}):,
-Please set Customer in Patient {0},Vă rugăm să setați Clientul în Pacient {0},
-Item {0} is not active,Elementul {0} nu este activ,
-Therapy Plan {0} created successfully.,Planul de terapie {0} a fost creat cu succes.,
-Symptoms: ,Simptome:,
-No Symptoms,Fără simptome,
-Diagnosis: ,Diagnostic:,
-No Diagnosis,Fără diagnostic,
-Drug(s) Prescribed.,Medicament (e) prescris (e).,
-Test(s) Prescribed.,Test (e) prescris (e).,
-Procedure(s) Prescribed.,Procedură (proceduri) prescrise.,
-Counts Completed: {0},Număruri finalizate: {0},
-Patient Assessment,Evaluarea pacientului,
-Assessments,Evaluări,
-Heads (or groups) against which Accounting Entries are made and balances are maintained.,Heads (sau grupuri) față de care înregistrările contabile sunt făcute și soldurile sunt menținute.,
-Account Name,Numele Contului,
-Inter Company Account,Contul Companiei Inter,
-Parent Account,Contul părinte,
-Setting Account Type helps in selecting this Account in transactions.,Setarea Tipul de cont ajută în selectarea acest cont în tranzacții.,
-Chargeable,Taxabil/a,
-Rate at which this tax is applied,Rata la care se aplică acest impozit,
-Frozen,Blocat,
-"If the account is frozen, entries are allowed to restricted users.","În cazul în care contul este blocat, intrările sunt permite utilizatorilor restricționati.",
-Balance must be,Bilanţul trebuie să fie,
-Lft,Lft,
-Rgt,Rgt,
-Old Parent,Vechi mamă,
-Include in gross,Includeți în brut,
-Auditor,Auditor,
-Accounting Dimension,Dimensiunea contabilității,
-Dimension Name,Numele dimensiunii,
-Dimension Defaults,Valorile implicite ale dimensiunii,
-Accounting Dimension Detail,Detalii privind dimensiunea contabilității,
-Default Dimension,Dimensiunea implicită,
-Mandatory For Balance Sheet,Obligatoriu pentru bilanț,
-Mandatory For Profit and Loss Account,Obligatoriu pentru contul de profit și pierdere,
-Accounting Period,Perioadă Contabilă,
-Period Name,Numele perioadei,
-Closed Documents,Documente închise,
-Accounts Settings,Setări Conturi,
-Settings for Accounts,Setări pentru conturi,
-Make Accounting Entry For Every Stock Movement,Realizeaza Intrare de Contabilitate Pentru Fiecare Modificare a Stocului,
-Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Utilizatorii cu acest rol li se permite să stabilească în conturile înghețate și de a crea / modifica intrări contabile împotriva conturile înghețate,
-Determine Address Tax Category From,Determinați categoria de impozitare pe adresa de la,
-Over Billing Allowance (%),Indemnizație de facturare peste (%),
-Credit Controller,Controler de Credit,
-Check Supplier Invoice Number Uniqueness,Cec Furnizor Numărul facturii Unicitatea,
-Make Payment via Journal Entry,Efectuați o plată prin Jurnalul de intrare,
-Unlink Payment on Cancellation of Invoice,Plata unlink privind anularea facturii,
-Book Asset Depreciation Entry Automatically,Încărcarea automată a amortizării activelor din cont,
-Automatically Add Taxes and Charges from Item Tax Template,Adaugă automat impozite și taxe din șablonul de impozit pe articole,
-Automatically Fetch Payment Terms,Obțineți automat Termenii de plată,
-Show Payment Schedule in Print,Afișați programul de plată în Tipărire,
-Currency Exchange Settings,Setările de schimb valutar,
-Allow Stale Exchange Rates,Permiteți rate de schimb stale,
-Stale Days,Zilele stale,
-Report Settings,Setările raportului,
-Use Custom Cash Flow Format,Utilizați formatul fluxului de numerar personalizat,
-Allowed To Transact With,Permis pentru a tranzacționa cu,
-SWIFT number,Număr rapid,
-Branch Code,Codul filialei,
-Address and Contact,Adresa și Contact,
-Address HTML,Adresă HTML,
-Contact HTML,HTML Persoana de Contact,
-Data Import Configuration,Configurarea importului de date,
-Bank Transaction Mapping,Maparea tranzacțiilor bancare,
-Plaid Access Token,Token de acces la carouri,
-Company Account,Contul companiei,
-Account Subtype,Subtipul contului,
-Is Default Account,Este contul implicit,
-Is Company Account,Este un cont de companie,
-Party Details,Party Detalii,
-Account Details,Detalii cont,
-IBAN,IBAN,
-Bank Account No,Contul bancar nr,
-Integration Details,Detalii de integrare,
-Integration ID,ID de integrare,
-Last Integration Date,Ultima dată de integrare,
-Change this date manually to setup the next synchronization start date,Modificați această dată manual pentru a configura următoarea dată de început a sincronizării,
-Mask,Masca,
-Bank Account Subtype,Subtipul contului bancar,
-Bank Account Type,Tipul contului bancar,
-Bank Guarantee,Garantie bancara,
-Bank Guarantee Type,Tip de garanție bancară,
-Receiving,primire,
-Providing,Furnizarea,
-Reference Document Name,Numele documentului de referință,
-Validity in Days,Valabilitate în Zile,
-Bank Account Info,Informații despre contul bancar,
-Clauses and Conditions,Clauze și Condiții,
-Other Details,Alte detalii,
-Bank Guarantee Number,Numărul de garanție bancară,
-Name of Beneficiary,Numele beneficiarului,
-Margin Money,Marja de bani,
-Charges Incurred,Taxele incasate,
-Fixed Deposit Number,Numărul depozitului fix,
-Account Currency,Moneda cont,
-Select the Bank Account to reconcile.,Selectați contul bancar pentru a vă reconcilia.,
-Include Reconciled Entries,Includ intrările împăcat,
-Get Payment Entries,Participările de plată,
-Payment Entries,Intrările de plată,
-Update Clearance Date,Actualizare Clearance Data,
-Bank Reconciliation Detail,Detaliu reconciliere bancară,
-Cheque Number,Număr Cec,
-Cheque Date,Dată Cec,
-Statement Header Mapping,Afișarea antetului de rutare,
-Statement Headers,Antetele declarațiilor,
-Transaction Data Mapping,Transaction Data Mapping,
-Mapped Items,Elemente cartografiate,
-Bank Statement Settings Item,Elementul pentru setările declarației bancare,
-Mapped Header,Antet Cartografiat,
-Bank Header,Antetul băncii,
-Bank Statement Transaction Entry,Intrare tranzacție la declarația bancară,
-Bank Transaction Entries,Intrările de tranzacții bancare,
-New Transactions,Noi tranzacții,
-Match Transaction to Invoices,Tranzacționați tranzacția la facturi,
-Create New Payment/Journal Entry,Creați o nouă plată / intrare în jurnal,
-Submit/Reconcile Payments,Trimiteți / Recondiționați plățile,
-Matching Invoices,Facturi de potrivire,
-Payment Invoice Items,Elemente de factură de plată,
-Reconciled Transactions,Tranzacții Reconciliate,
-Bank Statement Transaction Invoice Item,Tranzacție de poziție bancară,
-Payment Description,Descrierea plății,
-Invoice Date,Data facturii,
-invoice,factura fiscala,
-Bank Statement Transaction Payment Item,Tranzacție de plată a tranzacției,
-outstanding_amount,suma restanta,
-Payment Reference,Referință de plată,
-Bank Statement Transaction Settings Item,Element pentru setările tranzacției din contul bancar,
-Bank Data,Date bancare,
-Mapped Data Type,Mapat tipul de date,
-Mapped Data,Date Cartografiate,
-Bank Transaction,Tranzacție bancară,
-ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
-Transaction ID,ID-ul de tranzacție,
-Unallocated Amount,Suma nealocată,
-Field in Bank Transaction,Câmp în tranzacția bancară,
-Column in Bank File,Coloana în fișierul bancar,
-Bank Transaction Payments,Plăți de tranzacții bancare,
-Control Action,Acțiune de control,
-Applicable on Material Request,Aplicabil la solicitarea materialului,
-Action if Annual Budget Exceeded on MR,Acțiune în cazul depășirii bugetului anual pe MR,
-Warn,Avertiza,
-Ignore,Ignora,
-Action if Accumulated Monthly Budget Exceeded on MR,Acțiune dacă bugetul lunar acumulat este depășit cu MR,
-Applicable on Purchase Order,Aplicabil pe comanda de aprovizionare,
-Action if Annual Budget Exceeded on PO,Acțiune în cazul în care bugetul anual depășește PO,
-Action if Accumulated Monthly Budget Exceeded on PO,Acțiune în cazul în care bugetul lunar acumulat este depășit cu PO,
-Applicable on booking actual expenses,Se aplică la rezervarea cheltuielilor reale,
-Action if Annual Budget Exceeded on Actual,Acțiune în cazul în care bugetul anual depășește suma actuală,
-Action if Accumulated Monthly Budget Exceeded on Actual,Acțiune în cazul în care bugetul lunar acumulat depășește valoarea reală,
-Budget Accounts,Conturile bugetare,
-Budget Account,Contul bugetar,
-Budget Amount,Buget Sumă,
-C-Form,Formular-C,
-ACC-CF-.YYYY.-,ACC-CF-.YYYY.-,
-C-Form No,Nr. formular-C,
-Received Date,Data primit,
-Quarter,Trimestru,
-I,eu,
-II,II,
-III,III,
-IV,IV,
-C-Form Invoice Detail,Detaliu factură formular-C,
-Invoice No,Nr Factura,
-Cash Flow Mapper,Cash Flow Mapper,
-Section Name,Numele secțiunii,
-Section Header,Secțiunea Header,
-Section Leader,Liderul secțiunii,
-e.g Adjustments for:,de ex. ajustări pentru:,
-Section Subtotal,Secțiunea Subtotal,
-Section Footer,Secțiunea Footer,
-Position,Poziţie,
-Cash Flow Mapping,Fluxul de numerar,
-Select Maximum Of 1,Selectați maxim de 1,
-Is Finance Cost,Este costul de finanțare,
-Is Working Capital,Este capitalul de lucru,
-Is Finance Cost Adjustment,Este ajustarea costurilor financiare,
-Is Income Tax Liability,Răspunderea pentru impozitul pe venit,
-Is Income Tax Expense,Cheltuielile cu impozitul pe venit,
-Cash Flow Mapping Accounts,Conturi de cartografiere a fluxurilor de numerar,
-account,Cont,
-Cash Flow Mapping Template,Formatul de cartografiere a fluxului de numerar,
-Cash Flow Mapping Template Details,Detaliile șablonului pentru fluxul de numerar,
-POS-CLO-,POS-CLO-,
-Custody,Custodie,
-Net Amount,Cantitate netă,
-Cashier Closing Payments,Plățile de închidere a caselor,
-Chart of Accounts Importer,Importatorul planului de conturi,
-Import Chart of Accounts from a csv file,Importați Graficul de conturi dintr-un fișier csv,
-Attach custom Chart of Accounts file,Atașați fișierul personalizat al graficului conturilor,
-Chart Preview,Previzualizare grafic,
-Chart Tree,Arbore grafic,
-Cheque Print Template,Format Imprimare Cec,
-Has Print Format,Are Format imprimare,
-Primary Settings,Setări primare,
-Cheque Size,Dimensiune  Cec,
-Regular,Regulat,
-Starting position from top edge,Poziția de la muchia superioară de pornire,
-Cheque Width,Lățime Cec,
-Cheque Height,Cheque Inaltime,
-Scanned Cheque,scanate cecului,
-Is Account Payable,Este cont de plati,
-Distance from top edge,Distanța de la marginea de sus,
-Distance from left edge,Distanța de la marginea din stânga,
-Message to show,Mesaj pentru a arăta,
-Date Settings,Setări Dată,
-Starting location from left edge,Punctul de plecare de la marginea din stânga,
-Payer Settings,Setări plătitorilor,
-Width of amount in word,Lățimea de cuvânt în sumă,
-Line spacing for amount in words,distanța dintre rânduri pentru suma în cuvinte,
-Amount In Figure,Suma în Figura,
-Signatory Position,Poziție semnatar,
-Closed Document,Document închis,
-Track separate Income and Expense for product verticals or divisions.,Urmăriți Venituri separat și cheltuieli verticale produse sau divizii.,
-Cost Center Name,Nume Centrul de Cost,
-Parent Cost Center,Părinte Cost Center,
-lft,LFT,
-rgt,RGT,
-Coupon Code,Codul promoțional,
-Coupon Name,Numele cuponului,
-"e.g. ""Summer Holiday 2019 Offer 20""",de ex. „Oferta de vacanță de vară 2019 20”,
-Coupon Type,Tip cupon,
-Promotional,promoționale,
-Gift Card,Card cadou,
-unique e.g. SAVE20  To be used to get discount,"unic, de exemplu, SAVE20 Pentru a fi utilizat pentru a obține reducere",
-Validity and Usage,Valabilitate și utilizare,
-Valid From,Valabil din,
-Valid Upto,Valid pana la,
-Maximum Use,Utilizare maximă,
-Used,Folosit,
-Coupon Description,Descrierea cuponului,
-Discounted Invoice,Factură redusă,
-Debit to,Debit la,
-Exchange Rate Revaluation,Reevaluarea cursului de schimb,
-Get Entries,Obțineți intrări,
-Exchange Rate Revaluation Account,Contul de reevaluare a cursului de schimb,
-Total Gain/Loss,Total câștig / pierdere,
-Balance In Account Currency,Soldul în moneda contului,
-Current Exchange Rate,Cursul de schimb curent,
-Balance In Base Currency,Soldul în moneda de bază,
-New Exchange Rate,Noul curs de schimb valutar,
-New Balance In Base Currency,Noul echilibru în moneda de bază,
-Gain/Loss,Gain / Pierdere,
-**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,**Anul fiscal** reprezintă un an financiar. Toate intrările contabile și alte tranzacții majore sunt monitorizate comparativ cu ** Anul fiscal **.,
-Year Name,An Denumire,
-"For e.g. 2012, 2012-13","De exemplu, 2012, 2012-13",
-Year Start Date,An Data începerii,
-Year End Date,Anul Data de încheiere,
-Companies,Companii,
-Auto Created,Crearea automată,
-Stock User,Stoc de utilizare,
-Fiscal Year Company,Anul fiscal companie,
-Debit Amount,Sumă Debit,
-Credit Amount,Suma de credit,
-Debit Amount in Account Currency,Sumă Debit în Monedă Cont,
-Credit Amount in Account Currency,Suma de credit în cont valutar,
-Voucher Detail No,Detaliu voucher Nu,
-Is Opening,Se deschide,
-Is Advance,Este Advance,
-To Rename,Pentru a redenumi,
-GST Account,Contul GST,
-CGST Account,Contul CGST,
-SGST Account,Contul SGST,
-IGST Account,Cont IGST,
-CESS Account,Cont CESS,
-Loan Start Date,Data de început a împrumutului,
-Loan Period (Days),Perioada de împrumut (zile),
-Loan End Date,Data de încheiere a împrumutului,
-Bank Charges,Taxe bancare,
-Short Term Loan Account,Cont de împrumut pe termen scurt,
-Bank Charges Account,Cont de taxe bancare,
-Accounts Receivable Credit Account,Conturi de credit de primit,
-Accounts Receivable Discounted Account,Conturi de primit cu reducere,
-Accounts Receivable Unpaid Account,Conturi de primit un cont neplătit,
-Item Tax Template,Șablon fiscal de articol,
-Tax Rates,Taxe de impozitare,
-Item Tax Template Detail,Detaliu de șablon fiscal,
-Entry Type,Tipul de intrare,
-Inter Company Journal Entry,Intrarea în Jurnalul Inter companiei,
-Bank Entry,Intrare bancară,
-Cash Entry,Cash intrare,
-Credit Card Entry,Card de credit intrare,
-Contra Entry,Contra intrare,
-Excise Entry,Intrare accize,
-Write Off Entry,Amortizare intrare,
-Opening Entry,Deschiderea de intrare,
-ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
-Accounting Entries,Înregistrări contabile,
-Total Debit,Total debit,
-Total Credit,Total credit,
-Difference (Dr - Cr),Diferența (Dr - Cr),
-Make Difference Entry,Realizeaza Intrare de Diferenta,
-Total Amount Currency,Suma totală Moneda,
-Total Amount in Words,Suma totală în cuvinte,
-Remark,Remarcă,
-Paid Loan,Imprumut platit,
-Inter Company Journal Entry Reference,Întreprindere de referință pentru intrarea în jurnal,
-Write Off Based On,Scrie Off bazat pe,
-Get Outstanding Invoices,Obtine Facturi Neachitate,
-Write Off Amount,Anulați suma,
-Printing Settings,Setări de imprimare,
-Pay To / Recd From,Pentru a plăti / Recd de la,
-Payment Order,Ordin de plată,
-Subscription Section,Secțiunea de abonamente,
-Journal Entry Account,Jurnal de cont intrare,
-Account Balance,Soldul contului,
-Party Balance,Balanța Party,
-Accounting Dimensions,Dimensiuni contabile,
-If Income or Expense,In cazul Veniturilor sau Cheltuielilor,
-Exchange Rate,Rata de schimb,
-Debit in Company Currency,Debit în Monedă Companie,
-Credit in Company Currency,Credit în companie valutar,
-Payroll Entry,Salarizare intrare,
-Employee Advance,Angajat Advance,
-Reference Due Date,Data de referință pentru referință,
-Loyalty Program Tier,Program de loialitate,
-Redeem Against,Răscumpărați împotriva,
-Expiry Date,Data expirării,
-Loyalty Point Entry Redemption,Punctul de răscumpărare a punctelor de loialitate,
-Redemption Date,Data de răscumpărare,
-Redeemed Points,Răscumpărate Puncte,
-Loyalty Program Name,Nume program de loialitate,
-Loyalty Program Type,Tip de program de loialitate,
-Single Tier Program,Program unic de nivel,
-Multiple Tier Program,Program multiplu,
-Customer Territory,Teritoriul clientului,
-Auto Opt In (For all customers),Oprire automată (pentru toți clienții),
-Collection Tier,Colecția Tier,
-Collection Rules,Regulile de colectare,
-Redemption,Răscumpărare,
-Conversion Factor,Factor de conversie,
-1 Loyalty Points = How much base currency?,1 Puncte de loialitate = Cât de multă monedă de bază?,
-Expiry Duration (in days),Termenul de expirare (în zile),
-Help Section,Secțiunea Ajutor,
-Loyalty Program Help,Programul de ajutor pentru loialitate,
-Loyalty Program Collection,Colecția de programe de loialitate,
-Tier Name,Denumirea nivelului,
-Minimum Total Spent,Suma totală cheltuită,
-Collection Factor (=1 LP),Factor de colectare (= 1 LP),
-For how much spent = 1 Loyalty Point,Pentru cât de mult a fost cheltuit = 1 punct de loialitate,
-Mode of Payment Account,Modul de cont de plăți,
-Default Account,Cont Implicit,
-Default account will be automatically updated in POS Invoice when this mode is selected.,Contul implicit va fi actualizat automat în factură POS când este selectat acest mod.,
-**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,** Lunar Distribuție ** vă ajută să distribuie bugetul / Target peste luni dacă aveți sezonier în afacerea dumneavoastră.,
-Distribution Name,Denumire Distribuție,
-Name of the Monthly Distribution,Numele de Distributie lunar,
-Monthly Distribution Percentages,Procente de distribuție lunare,
-Monthly Distribution Percentage,Lunar Procentaj Distribuție,
-Percentage Allocation,Alocarea procent,
-Create Missing Party,Creați Parte Lipsă,
-Create missing customer or supplier.,Creați client sau furnizor lipsă.,
-Opening Invoice Creation Tool Item,Deschiderea elementului instrumentului de creare a facturilor,
-Temporary Opening Account,Contul de deschidere temporar,
-Party Account,Party Account,
-Type of Payment,Tipul de plată,
-ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
-Receive,Primește,
-Internal Transfer,Transfer intern,
-Payment Order Status,Starea comenzii de plată,
-Payment Ordered,Plata a fost comandată,
-Payment From / To,Plata De la / la,
-Company Bank Account,Cont bancar al companiei,
-Party Bank Account,Cont bancar de partid,
-Account Paid From,Contul plătit De la,
-Account Paid To,Contul Plătite,
-Paid Amount (Company Currency),Plătit Suma (Compania de valuta),
-Received Amount,Sumă Primită,
-Received Amount (Company Currency),Suma primită (Moneda Companiei),
-Get Outstanding Invoice,Obțineți o factură excepțională,
-Payment References,Referințe de plată,
-Writeoff,Achita,
-Total Allocated Amount,Suma totală alocată,
-Total Allocated Amount (Company Currency),Suma totală alocată (Companie Moneda),
-Set Exchange Gain / Loss,Set Exchange Gain / Pierdere,
-Difference Amount (Company Currency),Diferența Sumă (Companie Moneda),
-Write Off Difference Amount,Diferență Sumă Piertdute,
-Deductions or Loss,Deduceri sau Pierderi,
-Payment Deductions or Loss,Deducerile de plată sau pierdere,
-Cheque/Reference Date,Cec/Dată de Referință,
-Payment Entry Deduction,Plată Deducerea intrare,
-Payment Entry Reference,Plată intrare de referință,
-Allocated,Alocat,
-Payment Gateway Account,Plata cont Gateway,
-Payment Account,Cont de plăți,
-Default Payment Request Message,Implicit solicita plata mesaj,
-PMO-,PMO-,
-Payment Order Type,Tipul ordinului de plată,
-Payment Order Reference,Instrucțiuni de plată,
-Bank Account Details,Detaliile contului bancar,
-Payment Reconciliation,Reconcilierea plată,
-Receivable / Payable Account,De încasat de cont / de plătit,
-Bank / Cash Account,Cont bancă / numerar,
-From Invoice Date,De la data facturii,
-To Invoice Date,Pentru a facturii Data,
-Minimum Invoice Amount,Factură cantitate minimă,
-Maximum Invoice Amount,Suma maxima Factură,
-System will fetch all the entries if limit value is zero.,Sistemul va prelua toate intrările dacă valoarea limită este zero.,
-Get Unreconciled Entries,Ia nereconciliate Entries,
-Unreconciled Payment Details,Nereconciliate Detalii de plată,
-Invoice/Journal Entry Details,Factura / Jurnalul Detalii intrari,
-Payment Reconciliation Invoice,Reconcilierea plata facturii,
-Invoice Number,Numar factura,
-Payment Reconciliation Payment,Reconciliere de plata,
-Reference Row,rândul de referință,
-Allocated amount,Suma alocată,
-Payment Request Type,Tip de solicitare de plată,
-Outward,Exterior,
-Inward,interior,
-ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
-Transaction Details,Detalii tranzacție,
-Amount in customer's currency,Suma în moneda clientului,
-Is a Subscription,Este un abonament,
-Transaction Currency,Operațiuni valutare,
-Subscription Plans,Planuri de abonament,
-SWIFT Number,Număr rapid,
-Recipient Message And Payment Details,Mesaj destinatar și Detalii de plată,
-Make Sales Invoice,Faceți Factură de Vânzare,
-Mute Email,Mute Email,
-payment_url,payment_url,
-Payment Gateway Details,Plata Gateway Detalii,
-Payment Schedule,Planul de plăți,
-Invoice Portion,Fracțiunea de facturi,
-Payment Amount,Plata Suma,
-Payment Term Name,Numele termenului de plată,
-Due Date Based On,Data de bază bazată pe,
-Day(s) after invoice date,Ziua (zilele) după data facturii,
-Day(s) after the end of the invoice month,Ziua (zilele) de la sfârșitul lunii facturii,
-Month(s) after the end of the invoice month,Luna (luni) după sfârșitul lunii facturii,
-Credit Days,Zile de Credit,
-Credit Months,Lunile de credit,
-Allocate Payment Based On Payment Terms,Alocați plata în funcție de condițiile de plată,
-"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Dacă această casetă de selectare este bifată, suma plătită va fi împărțită și alocată conform sumelor din programul de plată pentru fiecare termen de plată",
-Payment Terms Template Detail,Plata detaliilor privind termenii de plată,
-Closing Fiscal Year,Închiderea Anului Fiscal,
-Closing Account Head,Închidere Cont Principal,
-"The account head under Liability or Equity, in which Profit/Loss will be booked","Capul de cont sub răspunderea sau a capitalului propriu, în care Profit / Pierdere vor fi rezervate",
-POS Customer Group,Grup Clienți POS,
-POS Field,Câmpul POS,
-POS Item Group,POS Articol Grupa,
-Company Address,Adresă Companie,
-Update Stock,Actualizare stock,
-Ignore Pricing Rule,Ignora Regula Preturi,
-Applicable for Users,Aplicabil pentru utilizatori,
-Sales Invoice Payment,Vânzări factură de plată,
-Item Groups,Grupuri articol,
-Only show Items from these Item Groups,Afișați numai articole din aceste grupuri de articole,
-Customer Groups,Grupuri de clienți,
-Only show Customer of these Customer Groups,Afișați numai Clientul acestor grupuri de clienți,
-Write Off Account,Scrie Off cont,
-Write Off Cost Center,Scrie Off cost Center,
-Account for Change Amount,Contul pentru Schimbare Sumă,
-Taxes and Charges,Impozite și Taxe,
-Apply Discount On,Aplicați Discount pentru,
-POS Profile User,Utilizator de profil POS,
-Apply On,Se aplică pe,
-Price or Product Discount,Preț sau reducere produs,
-Apply Rule On Item Code,Aplicați regula pe codul articolului,
-Apply Rule On Item Group,Aplicați regula pe grupul de articole,
-Apply Rule On Brand,Aplicați regula pe marcă,
-Mixed Conditions,Condiții mixte,
-Conditions will be applied on all the selected items combined. ,Condițiile se vor aplica pe toate elementele selectate combinate.,
-Is Cumulative,Este cumulativ,
-Coupon Code Based,Bazat pe codul cuponului,
-Discount on Other Item,Reducere la alt articol,
-Apply Rule On Other,Aplicați regula pe alte,
-Party Information,Informații despre petreceri,
-Quantity and Amount,Cantitate și sumă,
-Min Qty,Min Cantitate,
-Max Qty,Max Cantitate,
-Min Amt,Amt min,
-Max Amt,Max Amt,
-Period Settings,Setări perioade,
-Margin,Margin,
-Margin Type,Tipul de marjă,
-Margin Rate or Amount,Rata de marjă sau Sumă,
-Price Discount Scheme,Schema de reducere a prețurilor,
-Rate or Discount,Tarif sau Discount,
-Discount Percentage,Procentul de Reducere,
-Discount Amount,Reducere Suma,
-For Price List,Pentru Lista de Preturi,
-Product Discount Scheme,Schema de reducere a produsului,
-Same Item,Același articol,
-Free Item,Articol gratuit,
-Threshold for Suggestion,Prag pentru sugestie,
-System will notify to increase or decrease quantity or amount ,Sistemul va notifica să crească sau să scadă cantitatea sau cantitatea,
-"Higher the number, higher the priority","Este mai mare numărul, mai mare prioritate",
-Apply Multiple Pricing Rules,Aplicați mai multe reguli privind prețurile,
-Apply Discount on Rate,Aplicați reducere la tarif,
-Validate Applied Rule,Validați regula aplicată,
-Rule Description,Descrierea regulii,
-Pricing Rule Help,Regula de stabilire a prețurilor de ajutor,
-Promotional Scheme Id,Codul promoțional ID,
-Promotional Scheme,Schema promoțională,
-Pricing Rule Brand,Marca de regulă a prețurilor,
-Pricing Rule Detail,Detaliu privind regula prețurilor,
-Child Docname,Numele documentului pentru copii,
-Rule Applied,Regula aplicată,
-Pricing Rule Item Code,Regula prețurilor Cod articol,
-Pricing Rule Item Group,Grupul de articole din regula prețurilor,
-Price Discount Slabs,Placi cu reducere de preț,
-Promotional Scheme Price Discount,Schema promoțională Reducere de preț,
-Product Discount Slabs,Placi cu reducere de produse,
-Promotional Scheme Product Discount,Schema promoțională Reducere de produs,
-Min Amount,Suma minima,
-Max Amount,Suma maximă,
-Discount Type,Tipul reducerii,
-ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
-Tax Withholding Category,Categoria de reținere fiscală,
-Edit Posting Date and Time,Editare postare Data și ora,
-Is Paid,Este platit,
-Is Return (Debit Note),Este Return (Nota de debit),
-Apply Tax Withholding Amount,Aplicați suma de reținere fiscală,
-Accounting Dimensions ,Dimensiuni contabile,
-Supplier Invoice Details,Furnizor Detalii factură,
-Supplier Invoice Date,Furnizor Data facturii,
-Return Against Purchase Invoice,Reveni Împotriva cumparare factură,
-Select Supplier Address,Selectați Furnizor Adresă,
-Contact Person,Persoană de contact,
-Select Shipping Address,Selectați adresa de expediere,
-Currency and Price List,Valută și lista de prețuri,
-Price List Currency,Lista de pret Valuta,
-Price List Exchange Rate,Lista de schimb valutar,
-Set Accepted Warehouse,Set depozit acceptat,
-Rejected Warehouse,Depozit Respins,
-Warehouse where you are maintaining stock of rejected items,Depozit în cazul în care se menține stocul de articole respinse,
-Raw Materials Supplied,Materii prime furnizate,
-Supplier Warehouse,Furnizor Warehouse,
-Pricing Rules,Reguli privind prețurile,
-Supplied Items,Articole furnizate,
-Total (Company Currency),Total (Company valutar),
-Net Total (Company Currency),Net total (Compania de valuta),
-Total Net Weight,Greutatea totală netă,
-Shipping Rule,Regula de transport maritim,
-Purchase Taxes and Charges Template,Achiziționa impozite și taxe Template,
-Purchase Taxes and Charges,Taxele de cumpărare și Taxe,
-Tax Breakup,Descărcarea de impozite,
-Taxes and Charges Calculation,Impozite și Taxe Calcul,
-Taxes and Charges Added (Company Currency),Impozite și Taxe adăugate (Compania de valuta),
-Taxes and Charges Deducted (Company Currency),Impozite și taxe deduse (Compania de valuta),
-Total Taxes and Charges (Company Currency),Total Impozite si Taxe (Compania valutar),
-Taxes and Charges Added,Impozite și Taxe Added,
-Taxes and Charges Deducted,Impozite și Taxe dedus,
-Total Taxes and Charges,Total Impozite și Taxe,
-Additional Discount,Discount suplimentar,
-Apply Additional Discount On,Aplicați Discount suplimentare La,
-Additional Discount Amount (Company Currency),Discount suplimentar Suma (companie de valuta),
-Additional Discount Percentage,Procent de reducere suplimentară,
-Additional Discount Amount,Suma de reducere suplimentară,
-Grand Total (Company Currency),Total general (Valuta Companie),
-Rounding Adjustment (Company Currency),Rotunjire ajustare (moneda companiei),
-Rounded Total (Company Currency),Rotunjite total (Compania de valuta),
-In Words (Company Currency),În cuvinte (Compania valutar),
-Rounding Adjustment,Ajustare Rotunjire,
-In Words,În cuvinte,
-Total Advance,Total de Advance,
-Disable Rounded Total,Dezactivati Totalul Rotunjit,
-Cash/Bank Account,Numerar/Cont Bancar,
-Write Off Amount (Company Currency),Scrie Off Suma (Compania de valuta),
-Set Advances and Allocate (FIFO),Setați avansuri și alocați (FIFO),
-Get Advances Paid,Obtine Avansurile Achitate,
-Advances,Avansuri,
-Terms,Termeni,
-Terms and Conditions1,Termeni și Conditions1,
-Group same items,Același grup de elemente,
-Print Language,Limba de imprimare,
-"Once set, this invoice will be on hold till the set date","Odată stabilită, această factură va fi reținută până la data stabilită",
-Credit To,De Creditat catre,
-Party Account Currency,Partidul cont valutar,
-Against Expense Account,Comparativ contului de cheltuieli,
-Inter Company Invoice Reference,Interfața de referință pentru interfața companiei,
-Is Internal Supplier,Este furnizor intern,
-Start date of current invoice's period,Data perioadei de factura de curent începem,
-End date of current invoice's period,Data de încheiere a perioadei facturii curente,
-Update Auto Repeat Reference,Actualizați referința de repetare automată,
-Purchase Invoice Advance,Factura de cumpărare în avans,
-Purchase Invoice Item,Factura de cumpărare Postul,
-Quantity and Rate,Cantitatea și rata,
-Received Qty,Cantitate primita,
-Accepted Qty,Cantitate acceptată,
-Rejected Qty,Cant. Respinsă,
-UOM Conversion Factor,Factorul de conversie UOM,
-Discount on Price List Rate (%),Reducere la Lista de preturi Rate (%),
-Price List Rate (Company Currency),Lista de prețuri Rate (Compania de valuta),
-Rate ,,
-Rate (Company Currency),Rata de (Compania de valuta),
-Amount (Company Currency),Sumă (monedă companie),
-Is Free Item,Este articol gratuit,
-Net Rate,Rata netă,
-Net Rate (Company Currency),Rata netă (companie de valuta),
-Net Amount (Company Currency),Suma netă (companie de valuta),
-Item Tax Amount Included in Value,Suma impozitului pe articol inclus în valoare,
-Landed Cost Voucher Amount,Costul Landed Voucher Suma,
-Raw Materials Supplied Cost,Costul materiilor prime livrate,
-Accepted Warehouse,Depozit Acceptat,
-Serial No,Nr. serie,
-Rejected Serial No,Respins de ordine,
-Expense Head,Beneficiar Cheltuiala,
-Is Fixed Asset,Este activ fix,
-Asset Location,Locația activelor,
-Deferred Expense,Cheltuieli amânate,
-Deferred Expense Account,Contul de cheltuieli amânate,
-Service Stop Date,Data de începere a serviciului,
-Enable Deferred Expense,Activați cheltuielile amânate,
-Service Start Date,Data de începere a serviciului,
-Service End Date,Data de încheiere a serviciului,
-Allow Zero Valuation Rate,Permiteți ratei de evaluare zero,
-Item Tax Rate,Rata de Impozitare Articol,
-Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Taxa detaliu tabel preluat de la maestru articol ca un șir și stocate în acest domeniu.\n Folosit pentru Impozite și Taxe,
-Purchase Order Item,Comandă de aprovizionare Articol,
-Purchase Receipt Detail,Detaliu de primire a achiziției,
-Item Weight Details,Greutate Detalii articol,
-Weight Per Unit,Greutate pe unitate,
-Total Weight,Greutate totală,
-Weight UOM,Greutate UOM,
-Page Break,Page Break,
-Consider Tax or Charge for,Considerare Taxa sau Cost pentru,
-Valuation and Total,Evaluare și Total,
-Valuation,Evaluare,
-Add or Deduct,Adăugaţi sau deduceţi,
-Deduct,Deduce,
-On Previous Row Amount,La rândul precedent Suma,
-On Previous Row Total,Inapoi la rândul Total,
-On Item Quantity,Pe cantitatea articolului,
-Reference Row #,Reference Row #,
-Is this Tax included in Basic Rate?,Este acest fiscală inclusă în rata de bază?,
-"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","In cazul in care se bifeaza, suma taxelor va fi considerată ca fiind deja inclusa în Rata de Imprimare / Suma de Imprimare",
-Account Head,Titularul Contului,
-Tax Amount After Discount Amount,Suma taxa După Discount Suma,
-Item Wise Tax Detail ,Articolul Detaliu fiscal înțelept,
-"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.\n10. Add or Deduct: Whether you want to add or deduct the tax.","Șablon de impozitare standard care pot fi aplicate la toate tranzacțiile de cumpărare. Acest model poate conține lista de capete fiscale și, de asemenea, mai multe capete de cheltuieli, cum ar fi ""de transport"", ""asigurare"", ""manipulare"" etc. \n\n #### Notă \n\n Rata de impozitare pe care o definiți aici va fi rata de impozitare standard pentru toate Articole ** **. Dacă există articole ** **, care au preturi diferite, acestea trebuie să fie adăugate în ** Impozitul Postul ** masă în ** ** postul comandantului.\n\n #### Descrierea de coloane \n\n 1. Calcul Tip: \n - Acest lucru poate fi pe ** net total ** (care este suma cuantum de bază).\n - ** La rândul precedent Raport / Suma ** (pentru impozite sau taxe cumulative). Dacă selectați această opțiune, impozitul va fi aplicat ca procent din rândul anterior (în tabelul de impozitare) suma totală sau.\n - ** ** Real (după cum sa menționat).\n 2. Șeful cont: Registrul cont în care acest impozit va fi rezervat \n 3. Cost Center: În cazul în care taxa / taxa este un venit (cum ar fi de transport maritim) sau cheltuieli trebuie să se rezervat împotriva unui centru de cost.\n 4. Descriere: Descriere a taxei (care vor fi tipărite în facturi / citate).\n 5. Notă: Rata de Profit Brut.\n 6. Suma: suma taxei.\n 7. Total: total cumulat la acest punct.\n 8. Introduceți Row: Dacă bazat pe ""Înapoi Row Total"", puteți selecta numărul rând care vor fi luate ca bază pentru acest calcul (implicit este rândul precedent).\n 9. Luați în considerare Brut sau Taxa pentru: În această secțiune puteți specifica dacă taxa / taxa este doar pentru evaluare (nu o parte din total) sau numai pe total (nu adaugă valoare elementul) sau pentru ambele.\n 10. Adăugați sau deduce: Fie că doriți să adăugați sau deduce taxa.",
-Salary Component Account,Contul de salariu Componentă,
-Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,Default cont bancar / numerar vor fi actualizate automat în Jurnalul de intrare a salariului când este selectat acest mod.,
-ACC-SINV-.YYYY.-,ACC-SINV-.YYYY.-,
-Include Payment (POS),Include de plată (POS),
-Offline POS Name,Offline Numele POS,
-Is Return (Credit Note),Este retur (nota de credit),
-Return Against Sales Invoice,Reveni Împotriva Vânzări factură,
-Update Billed Amount in Sales Order,Actualizați suma facturată în comandă de vânzări,
-Customer PO Details,Detalii PO pentru clienți,
-Customer's Purchase Order,Comandă clientului,
-Customer's Purchase Order Date,Data Comanda de Aprovizionare Client,
-Customer Address,Adresă Client,
-Shipping Address Name,Transport Adresa Nume,
-Company Address Name,Nume Companie,
-Rate at which Customer Currency is converted to customer's base currency,Rata la care Clientul valuta este convertită în valuta de bază a clientului,
-Rate at which Price list currency is converted to customer's base currency,Rata la care lista de prețuri moneda este convertit în valuta de bază a clientului,
-Set Source Warehouse,Set sursă depozit,
-Packing List,Lista de ambalare,
-Packed Items,Articole pachet,
-Product Bundle Help,Produs Bundle Ajutor,
-Time Sheet List,Listă de timp Sheet,
-Time Sheets,Foi de timp,
-Total Billing Amount,Suma totală de facturare,
-Sales Taxes and Charges Template,Impozite vânzări și șabloane Taxe,
-Sales Taxes and Charges,Taxele de vânzări și Taxe,
-Loyalty Points Redemption,Răscumpărarea punctelor de loialitate,
-Redeem Loyalty Points,Răscumpărați punctele de loialitate,
-Redemption Account,Cont de Răscumpărare,
-Redemption Cost Center,Centrul de cost de răscumpărare,
-In Words will be visible once you save the Sales Invoice.,În cuvinte va fi vizibil după salvarea facturii.,
-Allocate Advances Automatically (FIFO),Alocați avansuri automat (FIFO),
-Get Advances Received,Obtine Avansurile Primite,
-Base Change Amount (Company Currency),De schimbare a bazei Suma (Companie Moneda),
-Write Off Outstanding Amount,Scrie Off remarcabile Suma,
-Terms and Conditions Details,Termeni și condiții Detalii,
-Is Internal Customer,Este client intern,
-Is Discounted,Este redus,
-Unpaid and Discounted,Neplătit și redus,
-Overdue and Discounted,Întârziat și redus,
-Accounting Details,Detalii Contabilitate,
-Debit To,Debit Pentru,
-Is Opening Entry,Deschiderea este de intrare,
-C-Form Applicable,Formular-C aplicabil,
-Commission Rate (%),Rata de Comision (%),
-Sales Team1,Vânzări TEAM1,
-Against Income Account,Comparativ contului de venit,
-Sales Invoice Advance,Factura Vanzare Advance,
-Advance amount,Sumă în avans,
-Sales Invoice Item,Factură de vânzări Postul,
-Customer's Item Code,Cod Articol Client,
-Brand Name,Denumire marcă,
-Qty as per Stock UOM,Cantitate conform Stock UOM,
-Discount and Margin,Reducere și marja de profit,
-Rate With Margin,Rate cu marjă,
-Discount (%) on Price List Rate with Margin,Reducere (%) la rata de listă cu marjă,
-Rate With Margin (Company Currency),Rata cu marjă (moneda companiei),
-Delivered By Supplier,Livrate de Furnizor,
-Deferred Revenue,Venituri amânate,
-Deferred Revenue Account,Contul de venituri amânate,
-Enable Deferred Revenue,Activați venitul amânat,
-Stock Details,Stoc Detalii,
-Customer Warehouse (Optional),Depozit de client (opțional),
-Available Batch Qty at Warehouse,Cantitate lot disponibilă în depozit,
-Available Qty at Warehouse,Cantitate disponibilă în depozit,
-Delivery Note Item,Articol de nota de Livrare,
-Base Amount (Company Currency),Suma de bază (Companie Moneda),
-Sales Invoice Timesheet,Vânzări factură Pontaj,
-Time Sheet,Fișa de timp,
-Billing Hours,Ore de facturare,
-Timesheet Detail,Detalii pontaj,
-Tax Amount After Discount Amount (Company Currency),Suma impozitului pe urma Discount Suma (companie de valuta),
-Item Wise Tax Detail,Detaliu Taxa Avizata Articol,
-Parenttype,ParentType,
-"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","Șablon de impozitare standard, care pot fi aplicate la toate tranzacțiile de vânzare. Acest model poate conține lista de capete fiscale și, de asemenea, mai multe capete de cheltuieli / venituri, cum ar fi ""de transport"", ""asigurare"", ""manipulare"" etc. \n\n #### Notă \n\n vă Rata de impozitare defini aici va fi cota de impozitare standard pentru toate Articole ** **. Dacă există articole ** **, care au preturi diferite, acestea trebuie să fie adăugate în ** Impozitul Postul ** masă în ** ** postul comandantului.\n\n #### Descrierea de coloane \n\n 1. Calcul Tip: \n - Acest lucru poate fi pe ** net total ** (care este suma cuantum de bază).\n - ** La rândul precedent Raport / Suma ** (pentru impozite sau taxe cumulative). Dacă selectați această opțiune, impozitul va fi aplicat ca procent din rândul anterior (în tabelul de impozitare) suma totală sau.\n - ** ** Real (după cum sa menționat).\n 2. Șeful cont: Registrul cont în care acest impozit va fi rezervat \n 3. Cost Center: În cazul în care taxa / taxa este un venit (cum ar fi de transport maritim) sau cheltuieli trebuie să se rezervat împotriva unui centru de cost.\n 4. Descriere: Descriere a taxei (care vor fi tipărite în facturi / citate).\n 5. Notă: Rata de Profit Brut.\n 6. Suma: suma taxei.\n 7. Total: total cumulat la acest punct.\n 8. Introduceți Row: Dacă bazat pe ""Înapoi Row Total"", puteți selecta numărul rând care vor fi luate ca bază pentru acest calcul (implicit este rândul precedent).\n 9. Este Brut inclus în rata de bază ?: Dacă verifica acest lucru, înseamnă că acest impozit nu va fi arătată tabelul de mai jos articol, dar vor fi incluse în rata de bază din tabelul punctul principal. Acest lucru este util în cazul în care doriți dau un preț plat (cu toate taxele incluse) preț pentru clienți.",
-* Will be calculated in the transaction.,* Va fi calculat în cadrul tranzacției.,
-From No,De la nr,
-To No,Pentru a Nu,
-Is Company,Este compania,
-Current State,Starea curenta,
-Purchased,Cumparate,
-From Shareholder,De la acționar,
-From Folio No,Din Folio nr,
-To Shareholder,Pentru acționar,
-To Folio No,Pentru Folio nr,
-Equity/Liability Account,Contul de capitaluri proprii,
-Asset Account,Cont de active,
-(including),(inclusiv),
-ACC-SH-.YYYY.-,ACC-SH-.YYYY.-,
-Folio no.,Folio nr.,
-Address and Contacts,Adresa și Contacte,
-Contact List,Listă de contacte,
-Hidden list maintaining the list of contacts linked to Shareholder,Lista ascunsă menținând lista contactelor legate de acționar,
-Specify conditions to calculate shipping amount,Precizați condițiile de calcul cantitate de transport maritim,
-Shipping Rule Label,Regula de transport maritim Label,
-example: Next Day Shipping,exemplu: Next Day Shipping,
-Shipping Rule Type,Tipul regulii de transport,
-Shipping Account,Contul de transport maritim,
-Calculate Based On,Calculaţi pe baza,
-Fixed,Fix,
-Net Weight,Greutate netă,
-Shipping Amount,Suma de transport maritim,
-Shipping Rule Conditions,Condiții Regula de transport maritim,
-Restrict to Countries,Limitează la Țări,
-Valid for Countries,Valabil pentru țările,
-Shipping Rule Condition,Regula Condiții presetate,
-A condition for a Shipping Rule,O condiție pentru o normă de transport,
-From Value,Din Valoare,
-To Value,La valoarea,
-Shipping Rule Country,Regula de transport maritim Tara,
-Subscription Period,Perioada de abonament,
-Subscription Start Date,Data de începere a abonamentului,
-Cancelation Date,Data Anulării,
-Trial Period Start Date,Perioada de începere a perioadei de încercare,
-Trial Period End Date,Data de încheiere a perioadei de încercare,
-Current Invoice Start Date,Data de începere a facturii actuale,
-Current Invoice End Date,Data de încheiere a facturii actuale,
-Days Until Due,Zile Până la Termen,
-Number of days that the subscriber has to pay invoices generated by this subscription,Numărul de zile în care abonatul trebuie să plătească facturile generate de acest abonament,
-Cancel At End Of Period,Anulați la sfârșitul perioadei,
-Generate Invoice At Beginning Of Period,Generați factura la începutul perioadei,
-Plans,Planuri,
-Discounts,reduceri,
-Additional DIscount Percentage,Procent Discount Suplimentar,
-Additional DIscount Amount,Valoare discount-ului suplimentar,
-Subscription Invoice,Factura de abonament,
-Subscription Plan,Planul de abonament,
-Cost,Cost,
-Billing Interval,Intervalul de facturare,
-Billing Interval Count,Intervalul de facturare,
-"Number of intervals for the interval field e.g if Interval is 'Days' and Billing Interval Count is 3, invoices will be generated every 3 days","Numărul de intervale pentru câmpul intervalului, de exemplu, dacă Intervalul este &quot;Zile&quot; și Numărul de intervale de facturare este de 3, facturile vor fi generate la fiecare 3 zile",
-Payment Plan,Plan de plată,
-Subscription Plan Detail,Detaliile planului de abonament,
-Plan,Plan,
-Subscription Settings,Setările pentru abonament,
-Grace Period,Perioadă de grație,
-Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Numărul de zile după expirarea datei facturii înainte de a anula abonamentul sau marcarea abonamentului ca neplătit,
-Prorate,Prorate,
-Tax Rule,Regula de impozitare,
-Tax Type,Tipul de impozitare,
-Use for Shopping Cart,Utilizați pentru Cos de cumparaturi,
-Billing City,Oraș de facturare,
-Billing County,Județ facturare,
-Billing State,Situatie facturare,
-Billing Zipcode,Cod poștal de facturare,
-Billing Country,Țara facturării,
-Shipping City,Transport Oraș,
-Shipping County,County transport maritim,
-Shipping State,Stat de transport maritim,
-Shipping Zipcode,Cod poștal de expediere,
-Shipping Country,Transport Tara,
-Tax Withholding Account,Contul de reținere fiscală,
-Tax Withholding Rates,Ratele de reținere fiscală,
-Rates,Tarife,
-Tax Withholding Rate,Rata reținerii fiscale,
-Single Transaction Threshold,Singurul prag de tranzacție,
-Cumulative Transaction Threshold,Valoarea cumulată a tranzacției,
-Agriculture Analysis Criteria,Criterii de analiză a agriculturii,
-Linked Doctype,Legate de Doctype,
-Water Analysis,Analiza apei,
-Soil Analysis,Analiza solului,
-Plant Analysis,Analiza plantelor,
-Fertilizer,Îngrăşământ,
-Soil Texture,Textura solului,
-Weather,Vreme,
-Agriculture Manager,Directorul Agriculturii,
-Agriculture User,Utilizator agricol,
-Agriculture Task,Agricultura,
-Task Name,Sarcina Nume,
-Start Day,Ziua de început,
-End Day,Sfârșitul zilei,
-Holiday Management,Gestionarea concediului,
-Ignore holidays,Ignorați sărbătorile,
-Previous Business Day,Ziua lucrătoare anterioară,
-Next Business Day,Ziua următoare de lucru,
-Urgent,De urgență,
-Crop,A decupa,
-Crop Name,Numele plantei,
-Scientific Name,Nume stiintific,
-"You can define all the tasks which need to carried out for this crop here. The day field is used to mention the day on which the task needs to be carried out, 1 being the 1st day, etc.. ","Puteți defini toate sarcinile care trebuie îndeplinite pentru această recoltă aici. Câmpul de zi este folosit pentru a menționa ziua în care sarcina trebuie efectuată, 1 fiind prima zi, etc.",
-Crop Spacing,Decuparea culturii,
-Crop Spacing UOM,Distanțarea culturii UOM,
-Row Spacing,Spațierea rândului,
-Row Spacing UOM,Rândul de spațiu UOM,
-Perennial,peren,
-Biennial,Bienal,
-Planting UOM,Plantarea UOM,
-Planting Area,Zona de plantare,
-Yield UOM,Randamentul UOM,
-Materials Required,Materiale necesare,
-Produced Items,Articole produse,
-Produce,Legume şi fructe,
-Byproducts,produse secundare,
-Linked Location,Locație conectată,
-A link to all the Locations in which the Crop is growing,O legătură către toate locațiile în care cultura este în creștere,
-This will be day 1 of the crop cycle,Aceasta va fi prima zi a ciclului de cultură,
-ISO 8601 standard,Standardul ISO 8601,
-Cycle Type,Tip ciclu,
-Less than a year,Mai putin de un an,
-The minimum length between each plant in the field for optimum growth,Lungimea minimă dintre fiecare plantă din câmp pentru creștere optimă,
-The minimum distance between rows of plants for optimum growth,Distanța minimă dintre rânduri de plante pentru creștere optimă,
-Detected Diseases,Au detectat bolile,
-List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,"Lista bolilor detectate pe teren. Când este selectată, va adăuga automat o listă de sarcini pentru a face față bolii",
-Detected Disease,Boala detectată,
-LInked Analysis,Analiza analizată,
-Disease,boală,
-Tasks Created,Sarcini create,
-Common Name,Denumire Comună,
-Treatment Task,Sarcina de tratament,
-Treatment Period,Perioada de tratament,
-Fertilizer Name,Denumirea îngrășămintelor,
-Density (if liquid),Densitatea (dacă este lichidă),
-Fertilizer Contents,Conținutul de îngrășăminte,
-Fertilizer Content,Conținut de îngrășăminte,
-Linked Plant Analysis,Analiza plantelor conectate,
-Linked Soil Analysis,Analiza solului conectat,
-Linked Soil Texture,Textură de sol conectată,
-Collection Datetime,Data colecției,
-Laboratory Testing Datetime,Timp de testare a laboratorului,
-Result Datetime,Rezultat Datatime,
-Plant Analysis Criterias,Condiții de analiză a plantelor,
-Plant Analysis Criteria,Criterii de analiză a plantelor,
-Minimum Permissible Value,Valoarea minimă admisă,
-Maximum Permissible Value,Valoarea maximă admisă,
-Ca/K,Ca / K,
-Ca/Mg,Ca / Mg,
-Mg/K,Mg / K,
-(Ca+Mg)/K,(Ca + Mg) / K,
-Ca/(K+Ca+Mg),Ca / (K + Ca + Mg),
-Soil Analysis Criterias,Criterii de analiză a solului,
-Soil Analysis Criteria,Criterii de analiză a solului,
-Soil Type,Tipul de sol,
-Loamy Sand,Nisip argilos,
-Sandy Loam,Sandy Loam,
-Loam,Lut,
-Silt Loam,Silt Loam,
-Sandy Clay Loam,Sandy Clay Loam,
-Clay Loam,Argilos,
-Silty Clay Loam,Silty Clay Loam,
-Sandy Clay,Sandy Clay,
-Silty Clay,Lut de râu,
-Clay Composition (%),Compoziția de lut (%),
-Sand Composition (%),Compoziția nisipului (%),
-Silt Composition (%),Compoziția Silt (%),
-Ternary Plot,Ternar Plot,
-Soil Texture Criteria,Criterii de textură a solului,
-Type of Sample,Tipul de eșantion,
-Container,recipient,
-Origin,Origine,
-Collection Temperature ,Temperatura colecției,
-Storage Temperature,Temperatura de depozitare,
-Appearance,Aspect,
-Person Responsible,Persoană responsabilă,
-Water Analysis Criteria,Criterii de analiză a apei,
-Weather Parameter,Parametrul vremii,
-ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
-Asset Owner,Proprietarul de proprietar,
-Asset Owner Company,Societatea de proprietari de active,
-Custodian,Custode,
-Disposal Date,eliminare Data,
-Journal Entry for Scrap,Intrare Jurnal pentru Deșeuri,
-Available-for-use Date,Data disponibilă pentru utilizare,
-Calculate Depreciation,Calculează Amortizare,
-Allow Monthly Depreciation,Permite amortizarea lunară,
-Number of Depreciations Booked,Numărul de Deprecieri rezervat,
-Finance Books,Cărți de finanțare,
-Straight Line,Linie dreapta,
-Double Declining Balance,Dublu degresive,
-Manual,Manual,
-Value After Depreciation,Valoarea după amortizare,
-Total Number of Depreciations,Număr total de Deprecieri,
-Frequency of Depreciation (Months),Frecventa de amortizare (Luni),
-Next Depreciation Date,Data următoarei amortizări,
-Depreciation Schedule,Program de amortizare,
-Depreciation Schedules,Orarele de amortizare,
-Insurance details,Detalii de asigurare,
-Policy number,Numărul politicii,
-Insurer,Asiguratorul,
-Insured value,Valoarea asigurată,
-Insurance Start Date,Data de începere a asigurării,
-Insurance End Date,Data de încheiere a asigurării,
-Comprehensive Insurance,Asigurare completă,
-Maintenance Required,Mentenanță Necesară,
-Check if Asset requires Preventive Maintenance or Calibration,Verificați dacă activul necesită întreținere preventivă sau calibrare,
-Booked Fixed Asset,Carte imobilizată rezervată,
-Purchase Receipt Amount,Suma chitanței de cumpărare,
-Default Finance Book,Cartea de finanțare implicită,
-Quality Manager,Manager de calitate,
-Asset Category Name,Nume activ Categorie,
-Depreciation Options,Opțiunile de amortizare,
-Enable Capital Work in Progress Accounting,Activați activitatea de capital în contabilitate în curs,
-Finance Book Detail,Detaliile cărții de finanțe,
-Asset Category Account,Cont activ Categorie,
-Fixed Asset Account,Cont activ fix,
-Accumulated Depreciation Account,Cont Amortizarea cumulată,
-Depreciation Expense Account,Contul de amortizare de cheltuieli,
-Capital Work In Progress Account,Activitatea de capital în curs de desfășurare,
-Asset Finance Book,Cartea de finanțare a activelor,
-Written Down Value,Valoarea scrise în jos,
-Expected Value After Useful Life,Valoarea așteptată după viață utilă,
-Rate of Depreciation,Rata de depreciere,
-In Percentage,În procent,
-Maintenance Team,Echipă de Mentenanță,
-Maintenance Manager Name,Nume Manager Mentenanță,
-Maintenance Tasks,Sarcini de Mentenanță,
-Manufacturing User,Producție de utilizare,
-Asset Maintenance Log,Jurnalul de întreținere a activelor,
-ACC-AML-.YYYY.-,ACC-CSB-.YYYY.-,
-Maintenance Type,Tip Mentenanta,
-Maintenance Status,Stare Mentenanta,
-Planned,Planificat,
-Has Certificate ,Are certificat,
-Certificate,Certificat,
-Actions performed,Acțiuni efectuate,
-Asset Maintenance Task,Activitatea de întreținere a activelor,
-Maintenance Task,Activitate Mentenanță,
-Preventive Maintenance,Mentenanță preventivă,
-Calibration,Calibrare,
-2 Yearly,2 Anual,
-Certificate Required,Certificat necesar,
-Assign to Name,Atribuiți la Nume,
-Next Due Date,Data următoare,
-Last Completion Date,Ultima dată de finalizare,
-Asset Maintenance Team,Echipa de întreținere a activelor,
-Maintenance Team Name,Nume Echipă de Mentenanță,
-Maintenance Team Members,Membri Echipă de Mentenanță,
-Purpose,Scopul,
-Stock Manager,Stock Manager,
-Asset Movement Item,Element de mișcare a activelor,
-Source Location,Locația sursei,
-From Employee,Din Angajat,
-Target Location,Locația țintă,
-To Employee,Pentru angajat,
-Asset Repair,Repararea activelor,
-ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
-Failure Date,Dată de nerespectare,
-Assign To Name,Alocați nume,
-Repair Status,Stare de reparare,
-Error Description,Descrierea erorii,
-Downtime,downtime,
-Repair Cost,Costul reparațiilor,
-Manufacturing Manager,Manager de Producție,
-Current Asset Value,Valoarea activului curent,
-New Asset Value,Valoare nouă a activelor,
-Make Depreciation Entry,Asigurați-vă Amortizarea Intrare,
-Finance Book Id,Numărul cărții de credit,
-Location Name,Numele locatiei,
-Parent Location,Locația părintească,
-Is Container,Este Container,
-Check if it is a hydroponic unit,Verificați dacă este o unitate hidroponică,
-Location Details,Detalii despre locație,
-Latitude,Latitudine,
-Longitude,Longitudine,
-Area,Zonă,
-Area UOM,Zona UOM,
-Tree Details,copac Detalii,
-Maintenance Team Member,Membru Echipă de Mentenanță,
-Team Member,Membru al echipei,
-Maintenance Role,Rol de Mentenanță,
-Buying Settings,Configurări cumparare,
-Settings for Buying Module,Setări pentru cumparare Modulul,
-Supplier Naming By,Furnizor de denumire prin,
-Default Supplier Group,Grupul prestabilit de furnizori,
-Default Buying Price List,Lista de POrețuri de Cumparare Implicita,
-Backflush Raw Materials of Subcontract Based On,Materiile de bază din substratul bazat pe,
-Material Transferred for Subcontract,Material transferat pentru subcontractare,
-Over Transfer Allowance (%),Indemnizație de transfer peste (%),
-Percentage you are allowed to transfer more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to transfer 110 units.,"Procentaj pe care vi se permite să transferați mai mult în raport cu cantitatea comandată. De exemplu: Dacă ați comandat 100 de unități. iar alocația dvs. este de 10%, atunci vi se permite să transferați 110 unități.",
-PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
-Get Items from Open Material Requests,Obține elemente din materiale Cereri deschide,
-Fetch items based on Default Supplier.,Obțineți articole pe baza furnizorului implicit.,
-Required By,Cerute de,
-Order Confirmation No,Confirmarea nr,
-Order Confirmation Date,Data de confirmare a comenzii,
-Customer Mobile No,Client Mobile Nu,
-Customer Contact Email,Contact Email client,
-Set Target Warehouse,Stabilește Depozitul țintă,
-Sets 'Warehouse' in each row of the Items table.,Setează „Depozit” în fiecare rând al tabelului Elemente.,
-Supply Raw Materials,Aprovizionarea cu materii prime,
-Purchase Order Pricing Rule,Regula de preț a comenzii de achiziție,
-Set Reserve Warehouse,Set Rezerva Depozit,
-In Words will be visible once you save the Purchase Order.,În cuvinte va fi vizibil după ce a salva Ordinul de cumparare.,
-Advance Paid,Avans plătit,
-Tracking,Urmărirea,
-% Billed,% Facurat,
-% Received,% Primit,
-Ref SQ,Ref SQ,
-Inter Company Order Reference,Referință de comandă între companii,
-Supplier Part Number,Furnizor Număr,
-Billed Amt,Suma facturată,
-Warehouse and Reference,Depozit și Referință,
-To be delivered to customer,Pentru a fi livrat clientului,
-Material Request Item,Material Cerere Articol,
-Supplier Quotation Item,Furnizor ofertă Articol,
-Against Blanket Order,Împotriva ordinului pătură,
-Blanket Order,Ordinul de ștergere,
-Blanket Order Rate,Rata de comandă a plicului,
-Returned Qty,Cant. Returnată,
-Purchase Order Item Supplied,Comandă de aprovizionare Articol Livrat,
-BOM Detail No,Detaliu BOM nr.,
-Stock Uom,Stoc UOM,
-Raw Material Item Code,Cod Articol Materie Prima,
-Supplied Qty,Furnizat Cantitate,
-Purchase Receipt Item Supplied,Primirea de cumpărare Articol Livrat,
-Current Stock,Stoc curent,
-PUR-RFQ-.YYYY.-,PUR-RFQ-.YYYY.-,
-For individual supplier,Pentru furnizor individual,
-Link to Material Requests,Link către cereri de materiale,
-Message for Supplier,Mesaj pentru Furnizor,
-Request for Quotation Item,Articol Cerere de Oferta,
-Required Date,Data de livrare ceruta,
-Request for Quotation Supplier,Furnizor Cerere de Ofertă,
-Send Email,Trimiteți-ne email,
-Quote Status,Citat Stare,
-Download PDF,descarcă PDF,
-Supplier of Goods or Services.,Furnizor de bunuri sau servicii.,
-Name and Type,Numele și tipul,
-SUP-.YYYY.-,SUP-.YYYY.-,
-Default Bank Account,Cont Bancar Implicit,
-Is Transporter,Este Transporter,
-Represents Company,Reprezintă Compania,
-Supplier Type,Furnizor Tip,
-Allow Purchase Invoice Creation Without Purchase Order,Permiteți crearea facturii de cumpărare fără comandă de achiziție,
-Allow Purchase Invoice Creation Without Purchase Receipt,Permiteți crearea facturii de cumpărare fără chitanță de cumpărare,
-Warn RFQs,Aflați RFQ-urile,
-Warn POs,Avertizează PO-urile,
-Prevent RFQs,Preveniți RFQ-urile,
-Prevent POs,Preveniți PO-urile,
-Billing Currency,Moneda de facturare,
-Default Payment Terms Template,Șablonul Termenii de plată standard,
-Block Supplier,Furnizorul de blocuri,
-Hold Type,Tineți tip,
-Leave blank if the Supplier is blocked indefinitely,Lăsați necompletat dacă Furnizorul este blocat pe o perioadă nedeterminată,
-Default Payable Accounts,Implicit conturi de plătit,
-Mention if non-standard payable account,Menționați dacă contul de plată non-standard,
-Default Tax Withholding Config,Config,
-Supplier Details,Detalii furnizor,
-Statutory info and other general information about your Supplier,Info statutar și alte informații generale despre dvs. de Furnizor,
-PUR-SQTN-.YYYY.-,PUR-SQTN-.YYYY.-,
-Supplier Address,Furnizor Adresa,
-Link to material requests,Link la cererile de materiale,
-Rounding Adjustment (Company Currency,Rotunjire ajustare (moneda companiei,
-Auto Repeat Section,Se repetă secțiunea Auto,
-Is Subcontracted,Este subcontractată,
-Lead Time in days,Timp Pistă în zile,
-Supplier Score,Scorul furnizorului,
-Indicator Color,Indicator Culoare,
-Evaluation Period,Perioada de evaluare,
-Per Week,Pe saptamana,
-Per Month,Pe luna,
-Per Year,Pe an,
-Scoring Setup,Punctul de configurare,
-Weighting Function,Funcție de ponderare,
-"Scorecard variables can be used, as well as:\n{total_score} (the total score from that period),\n{period_number} (the number of periods to present day)\n","Variabilele caracterelor pot fi utilizate, precum și: {total_score} (scorul total din acea perioadă), {period_number} (numărul de perioade până în prezent)",
-Scoring Standings,Puncte de scor,
-Criteria Setup,Setarea criteriilor,
-Load All Criteria,Încărcați toate criteriile,
-Scoring Criteria,Criterii de evaluare,
-Scorecard Actions,Caracteristicile Scorecard,
-Warn for new Request for Quotations,Avertizare pentru o nouă solicitare de ofertă,
-Warn for new Purchase Orders,Avertizați pentru comenzi noi de achiziție,
-Notify Supplier,Notificați Furnizor,
-Notify Employee,Notificați angajatul,
-Supplier Scorecard Criteria,Criteriile Scorecard pentru furnizori,
-Criteria Name,Numele de criterii,
-Max Score,Scor maxim,
-Criteria Formula,Criterii Formula,
-Criteria Weight,Criterii Greutate,
-Supplier Scorecard Period,Perioada de evaluare a furnizorului,
-PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
-Period Score,Scorul perioadei,
-Calculations,Calculele,
-Criteria,criterii,
-Variables,variabile,
-Supplier Scorecard Setup,Setarea Scorecard pentru furnizori,
-Supplier Scorecard Scoring Criteria,Criteriile de evaluare a Scorecard-ului furnizorului,
-Score,Scor,
-Supplier Scorecard Scoring Standing,Scorecard pentru Scorecard furnizor,
-Standing Name,Numele permanent,
-Purple,Violet,
-Yellow,Galben,
-Orange,portocale,
-Min Grade,Gradul minim,
-Max Grade,Max Grad,
-Warn Purchase Orders,Avertizați comenzile de cumpărare,
-Prevent Purchase Orders,Împiedicați comenzile de achiziție,
-Employee ,Angajat,
-Supplier Scorecard Scoring Variable,Scorul variabil al scorului de performanță al furnizorului,
-Variable Name,Numele variabil,
-Parameter Name,Nume parametru,
-Supplier Scorecard Standing,Graficul Scorecard pentru furnizori,
-Notify Other,Notificați alta,
-Supplier Scorecard Variable,Variabila tabelului de variabile pentru furnizori,
-Call Log,Jurnal de Apel,
-Received By,Primit de,
-Caller Information,Informații despre apelant,
-Contact Name,Nume Persoana de Contact,
-Lead ,Conduce,
-Lead Name,Nume Pistă,
-Ringing,țiuit,
-Missed,Pierdute,
-Call Duration in seconds,Durata apelului în câteva secunde,
-Recording URL,Înregistrare URL,
-Communication Medium,Comunicare Mediu,
-Communication Medium Type,Tip mediu de comunicare,
-Voice,Voce,
-Catch All,Prindele pe toate,
-"If there is no assigned timeslot, then communication will be handled by this group","Dacă nu există un interval de timp alocat, comunicarea va fi gestionată de acest grup",
-Timeslots,Intervale de timp,
-Communication Medium Timeslot,Timeslot mediu de comunicare,
-Employee Group,Grupul de angajați,
-Appointment,Programare,
-Scheduled Time,Timpul programat,
-Unverified,neverificat,
-Customer Details,Detalii Client,
-Phone Number,Numar de telefon,
-Skype ID,ID Skype,
-Linked Documents,Documente legate,
-Appointment With,Programare cu,
-Calendar Event,Calendar Eveniment,
-Appointment Booking Settings,Setări rezervare numire,
-Enable Appointment Scheduling,Activați programarea programării,
-Agent Details,Detalii agent,
-Availability Of Slots,Disponibilitatea sloturilor,
-Number of Concurrent Appointments,Numărul de întâlniri simultane,
-Agents,agenţi,
-Appointment Details,Detalii despre numire,
-Appointment Duration (In Minutes),Durata numirii (în proces-verbal),
-Notify Via Email,Notificați prin e-mail,
-Notify customer and agent via email on the day of the appointment.,Notificați clientul și agentul prin e-mail în ziua programării.,
-Number of days appointments can be booked in advance,Numărul de întâlniri de zile poate fi rezervat în avans,
-Success Settings,Setări de succes,
-Success Redirect URL,Adresa URL de redirecționare,
-"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Lăsați gol pentru casă. Aceasta este relativă la adresa URL a site-ului, de exemplu „despre” se va redirecționa la „https://yoursitename.com/about”",
-Appointment Booking Slots,Rezervare pentru sloturi de rezervare,
-Day Of Week,Zi a Săptămânii,
-From Time ,Din Time,
-Campaign Email Schedule,Program de e-mail al campaniei,
-Send After (days),Trimite După (zile),
-Signed,Semnat,
-Party User,Utilizator de petreceri,
-Unsigned,Nesemnat,
-Fulfilment Status,Starea de îndeplinire,
-N/A,N / A,
-Unfulfilled,neîmplinit,
-Partially Fulfilled,Parțial îndeplinite,
-Fulfilled,Fulfilled,
-Lapsed,caducă,
-Contract Period,Perioada contractuala,
-Signee Details,Signee Detalii,
-Signee,Signee,
-Signed On,Signed On,
-Contract Details,Detaliile contractului,
-Contract Template,Model de contract,
-Contract Terms,Termenii contractului,
-Fulfilment Details,Detalii de execuție,
-Requires Fulfilment,Necesită îndeplinirea,
-Fulfilment Deadline,Termenul de îndeplinire,
-Fulfilment Terms,Condiții de îndeplinire,
-Contract Fulfilment Checklist,Lista de verificare a executării contului,
-Requirement,Cerinţă,
-Contract Terms and Conditions,Termeni și condiții contractuale,
-Fulfilment Terms and Conditions,Condiții și condiții de îndeplinire,
-Contract Template Fulfilment Terms,Termenii de îndeplinire a modelului de contract,
-Email Campaign,Campania de e-mail,
-Email Campaign For ,Campanie prin e-mail,
-Lead is an Organization,Pista este o Organizație,
-CRM-LEAD-.YYYY.-,CRM-LEAD-.YYYY.-,
-Person Name,Nume persoană,
-Lost Quotation,ofertă pierdută,
-Interested,Interesat,
-Converted,Transformat,
-Do Not Contact,Nu contactati,
-From Customer,De la Client,
-Campaign Name,Denumire campanie,
-Follow Up,Urmare,
-Next Contact By,Următor Contact Prin,
-Next Contact Date,Următor Contact Data,
-Ends On,Se termină pe,
-Address & Contact,Adresă și contact,
-Mobile No.,Numar de mobil,
-Lead Type,Tip Pistă,
-Channel Partner,Partner Canal,
-Consultant,Consultant,
-Market Segment,Segmentul de piață,
-Industry,Industrie,
-Request Type,Tip Cerere,
-Product Enquiry,Intrebare produs,
-Request for Information,Cerere de informații,
-Suggestions,Sugestii,
-Blog Subscriber,Abonat blog,
-LinkedIn Settings,Setări LinkedIn,
-Company ID,ID-ul companiei,
-OAuth Credentials,Acreditări OAuth,
-Consumer Key,Cheia consumatorului,
-Consumer Secret,Secretul consumatorului,
-User Details,Detalii utilizator,
-Person URN,Persoana URN,
-Session Status,Starea sesiunii,
-Lost Reason Detail,Detaliu ratiune pierduta,
-Opportunity Lost Reason,Motivul pierdut din oportunitate,
-Potential Sales Deal,Oferta potențiale Vânzări,
-CRM-OPP-.YYYY.-,CRM-OPP-.YYYY.-,
-Opportunity From,Oportunitate de la,
-Customer / Lead Name,Client / Nume Principal,
-Opportunity Type,Tip de oportunitate,
-Converted By,Convertit de,
-Sales Stage,Stadiu Vânzări,
-Lost Reason,Motiv Pierdere,
-Expected Closing Date,Data de închidere preconizată,
-To Discuss,Pentru a discuta,
-With Items,Cu articole,
-Probability (%),Probabilitate (%),
-Contact Info,Informaţii Persoana de Contact,
-Customer / Lead Address,Client / Adresa principala,
-Contact Mobile No,Nr. Mobil Persoana de Contact,
-Enter name of campaign if source of enquiry is campaign,Introduceți numele de campanie dacă sursa de anchetă este campanie,
-Opportunity Date,Oportunitate Data,
-Opportunity Item,Oportunitate Articol,
-Basic Rate,Rată elementară,
-Stage Name,Nume de Scenă,
-Social Media Post,Postare pe rețelele sociale,
-Post Status,Stare postare,
-Posted,Postat,
-Share On,Distribuie pe,
-Twitter,Stare de nervozitate,
-LinkedIn,LinkedIn,
-Twitter Post Id,Codul postării pe Twitter,
-LinkedIn Post Id,Cod postare LinkedIn,
-Tweet,Tweet,
-Twitter Settings,Setări Twitter,
-API Secret Key,Cheia secretă API,
-Term Name,Nume termen,
-Term Start Date,Termenul Data de începere,
-Term End Date,Termenul Data de încheiere,
-Academics User,Utilizator cadru pedagogic,
-Academic Year Name,Nume An Universitar,
-Article,Articol,
-LMS User,Utilizator LMS,
-Assessment Criteria Group,Grup de criterii de evaluare,
-Assessment Group Name,Numele grupului de evaluare,
-Parent Assessment Group,Grup părinte de evaluare,
-Assessment Name,Nume evaluare,
-Grading Scale,Scala de notare,
-Examiner,Examinator,
-Examiner Name,Nume examinator,
-Supervisor,supraveghetor,
-Supervisor Name,Nume supervizor,
-Evaluate,A evalua,
-Maximum Assessment Score,Scor maxim de evaluare,
-Assessment Plan Criteria,Criterii Plan de evaluare,
-Maximum Score,Scor maxim,
-Result,Rezultat,
-Total Score,Scorul total,
-Grade,calitate,
-Assessment Result Detail,Detalii rezultat evaluare,
-Assessment Result Tool,Instrument de Evaluare Rezultat,
-Result HTML,rezultat HTML,
-Content Activity,Activitate de conținut,
-Last Activity ,Ultima activitate,
-Content Question,Întrebare de conținut,
-Question Link,Link de întrebări,
-Course Name,Numele cursului,
-Topics,Subiecte,
-Hero Image,Imaginea eroului,
-Default Grading Scale,Scale Standard Standard folosit,
-Education Manager,Director de educație,
-Course Activity,Activitate de curs,
-Course Enrollment,Înscriere la curs,
-Activity Date,Data activității,
-Course Assessment Criteria,Criterii de evaluare a cursului,
-Weightage,Weightage,
-Course Content,Conținutul cursului,
-Quiz,chestionare,
-Program Enrollment,programul de înscriere,
-Enrollment Date,Data de inscriere,
-Instructor Name,Nume instructor,
-EDU-CSH-.YYYY.-,EDU-CSH-.YYYY.-,
-Course Scheduling Tool,Instrument curs de programare,
-Course Start Date,Data începerii cursului,
-To TIme,La timp,
-Course End Date,Desigur Data de încheiere,
-Course Topic,Subiectul cursului,
-Topic,Subiect,
-Topic Name,Nume subiect,
-Education Settings,Setări educaționale,
-Current Academic Year,Anul academic curent,
-Current Academic Term,Termen academic actual,
-Attendance Freeze Date,Data de înghețare a prezenței,
-Validate Batch for Students in Student Group,Validați lotul pentru elevii din grupul de studenți,
-"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.","Pentru grupul de studenți bazat pe loturi, lotul student va fi validat pentru fiecare student din înscrierea în program.",
-Validate Enrolled Course for Students in Student Group,Validați cursul înscris pentru elevii din grupul de studenți,
-"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.","Pentru grupul de studenți bazat pe cursuri, cursul va fi validat pentru fiecare student din cursurile înscrise în înscrierea în program.",
-Make Academic Term Mandatory,Asigurați-obligatoriu termenul academic,
-"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Dacă este activată, domeniul Academic Term va fi obligatoriu în Instrumentul de înscriere în program.",
-Skip User creation for new Student,Omiteți crearea utilizatorului pentru noul student,
-"By default, a new User is created for every new Student. If enabled, no new User will be created when a new Student is created.","În mod implicit, este creat un nou utilizator pentru fiecare student nou. Dacă este activat, nu va fi creat niciun utilizator nou atunci când este creat un nou student.",
-Instructor Records to be created by,Instructor de înregistrări care urmează să fie create de către,
-Employee Number,Numar angajat,
-Fee Category,Taxă Categorie,
-Fee Component,Taxa de Component,
-Fees Category,Taxele de Categoria,
-Fee Schedule,Taxa de Program,
-Fee Structure,Structura Taxa de,
-EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
-Fee Creation Status,Starea de creare a taxelor,
-In Process,În procesul de,
-Send Payment Request Email,Trimiteți e-mail de solicitare de plată,
-Student Category,Categoria de student,
-Fee Breakup for each student,Taxă pentru fiecare student,
-Total Amount per Student,Suma totală pe student,
-Institution,Instituţie,
-Fee Schedule Program,Programul programului de plăți,
-Student Batch,Lot de student,
-Total Students,Total studenți,
-Fee Schedule Student Group,Taxă Schedule Student Group,
-EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
-EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
-Include Payment,Includeți plata,
-Send Payment Request,Trimiteți Cerere de Plată,
-Student Details,Detalii studențești,
-Student Email,Student Email,
-Grading Scale Name,Standard Nume Scala,
-Grading Scale Intervals,Intervale de notare Scala,
-Intervals,intervale,
-Grading Scale Interval,Clasificarea Scala Interval,
-Grade Code,Cod grad,
-Threshold,Prag,
-Grade Description,grad Descriere,
-Guardian,gardian,
-Guardian Name,Nume tutore,
-Alternate Number,Număr alternativ,
-Occupation,Ocupaţie,
-Work Address,Adresa de,
-Guardian Of ,Guardian Of,
-Students,Elevi,
-Guardian Interests,Guardian Interese,
-Guardian Interest,Interes tutore,
-Interest,Interes,
-Guardian Student,Guardian Student,
-EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
-Instructor Log,Jurnalul instructorului,
-Other details,Alte detalii,
-Option,Opțiune,
-Is Correct,Este corect,
-Program Name,Numele programului,
-Program Abbreviation,Abreviere de program,
-Courses,cursuri,
-Is Published,Este publicat,
-Allow Self Enroll,Permiteți înscrierea de sine,
-Is Featured,Este prezentat,
-Intro Video,Introducere video,
-Program Course,Curs Program,
-School House,School House,
-Boarding Student,Student de internare,
-Check this if the Student is residing at the Institute's Hostel.,Verificați dacă studentul este rezident la Hostelul Institutului.,
-Walking,mers,
-Institute's Bus,Biblioteca Institutului,
-Public Transport,Transport public,
-Self-Driving Vehicle,Vehicul cu autovehicul,
-Pick/Drop by Guardian,Pick / Drop de Guardian,
-Enrolled courses,Cursuri înscrise,
-Program Enrollment Course,Curs de înscriere la curs,
-Program Enrollment Fee,Programul de înscriere Taxa,
-Program Enrollment Tool,Programul Instrumentul de înscriere,
-Get Students From,Elevii de la a lua,
-Student Applicant,Solicitantul elev,
-Get Students,Studenți primi,
-Enrollment Details,Detalii de înscriere,
-New Program,programul nou,
-New Student Batch,Noul lot de studenți,
-Enroll Students,Studenți Enroll,
-New Academic Year,Anul universitar nou,
-New Academic Term,Termen nou academic,
-Program Enrollment Tool Student,Programul de înscriere Instrumentul Student,
-Student Batch Name,Nume elev Lot,
-Program Fee,Taxa de program,
-Question,Întrebare,
-Single Correct Answer,Un singur răspuns corect,
-Multiple Correct Answer,Răspuns corect multiplu,
-Quiz Configuration,Configurarea testului,
-Passing Score,Scor de trecere,
-Score out of 100,Scor din 100,
-Max Attempts,Încercări maxime,
-Enter 0 to waive limit,Introduceți 0 până la limita de renunțare,
-Grading Basis,Bazele gradării,
-Latest Highest Score,Cel mai mare scor,
-Latest Attempt,Ultima încercare,
-Quiz Activity,Activitate de testare,
-Enrollment,înrolare,
-Pass,Trece,
-Quiz Question,Întrebare întrebare,
-Quiz Result,Rezultatul testului,
-Selected Option,Opțiunea selectată,
-Correct,Corect,
-Wrong,Gresit,
-Room Name,Nume Cameră,
-Room Number,Număr Cameră,
-Seating Capacity,Numărul de locuri,
-House Name,Numele casei,
-EDU-STU-.YYYY.-,EDU-STU-.YYYY.-,
-Student Mobile Number,Elev Număr mobil,
-Joining Date,Data Angajării,
-Blood Group,Grupă de sânge,
-A+,A+,
-A-,A-,
-B+,B +,
-B-,B-,
-O+,O +,
-O-,O-,
-AB+,AB+,
-AB-,AB-,
-Nationality,Naţionalitate,
-Home Address,Adresa de acasa,
-Guardian Details,Detalii tutore,
-Guardians,tutorii,
-Sibling Details,Detalii sibling,
-Siblings,siblings,
-Exit,Iesire,
-Date of Leaving,Data Părăsirii,
-Leaving Certificate Number,Părăsirea Număr certificat,
-Reason For Leaving,Motivul plecării,
-Student Admission,Admiterea studenților,
-Admission Start Date,Data de începere a Admiterii,
-Admission End Date,Data de încheiere Admiterii,
-Publish on website,Publica pe site-ul,
-Eligibility and Details,Eligibilitate și detalii,
-Student Admission Program,Programul de Admitere în Studenți,
-Minimum Age,Varsta minima,
-Maximum Age,Vârsta maximă,
-Application Fee,Taxă de aplicare,
-Naming Series (for Student Applicant),Seria de denumire (pentru Student Solicitant),
-LMS Only,Numai LMS,
-EDU-APP-.YYYY.-,EDU-APP-.YYYY.-,
-Application Status,Starea aplicației,
-Application Date,Data aplicării,
-Student Attendance Tool,Instrumentul de student Participarea,
-Group Based On,Grup pe baza,
-Students HTML,HTML studenții,
-Group Based on,Grup bazat pe,
-Student Group Name,Numele grupului studențesc,
-Max Strength,Putere max,
-Set 0 for no limit,0 pentru a seta nici o limită,
-Instructors,instructorii,
-Student Group Creation Tool,Instrumentul de creare a grupului de student,
-Leave blank if you make students groups per year,Lăsați necompletat dacă faceți grupuri de elevi pe an,
-Get Courses,Cursuri de a lua,
-Separate course based Group for every Batch,Separați un grup bazat pe cursuri pentru fiecare lot,
-Leave unchecked if you don't want to consider batch while making course based groups. ,Lăsați necontrolabil dacă nu doriți să luați în considerare lotul în timp ce faceți grupuri bazate pe curs.,
-Student Group Creation Tool Course,Curs de grup studențesc instrument de creare,
-Course Code,Codul cursului,
-Student Group Instructor,Student Grup Instructor,
-Student Group Student,Student Group Student,
-Group Roll Number,Numărul rolurilor de grup,
-Student Guardian,student la Guardian,
-Relation,Relație,
-Mother,Mamă,
-Father,tată,
-Student Language,Limba Student,
-Student Leave Application,Aplicație elev Concediul,
-Mark as Present,Marcați ca prezent,
-Student Log,Jurnal de student,
-Academic,Academic,
-Achievement,Realizare,
-Student Report Generation Tool,Instrumentul de generare a rapoartelor elevilor,
-Include All Assessment Group,Includeți tot grupul de evaluare,
-Show Marks,Afișați marcajele,
-Add letterhead,Adăugă Antet,
-Print Section,Imprimare secțiune,
-Total Parents Teacher Meeting,Întâlnire între profesorii de părinți,
-Attended by Parents,Participat de părinți,
-Assessment Terms,Termeni de evaluare,
-Student Sibling,elev Sibling,
-Studying in Same Institute,Studiind în același Institut,
-NO,NU,
-YES,Da,
-Student Siblings,Siblings Student,
-Topic Content,Conținut subiect,
-Amazon MWS Settings,Amazon MWS Settings,
-ERPNext Integrations,Integrări ERPNext,
-Enable Amazon,Activați Amazon,
-MWS Credentials,Certificatele MWS,
-Seller ID,ID-ul vânzătorului,
-AWS Access Key ID,Codul AWS Access Key,
-MWS Auth Token,MWS Auth Token,
-Market Place ID,ID-ul pieței,
-AE,AE,
-AU,AU,
-BR,BR,
-CA,CA,
-CN,CN,
-DE,DE,
-ES,ES,
-FR,FR,
-IN,ÎN,
-JP,JP,
-IT,ACEASTA,
-MX,MX,
-UK,Regatul Unit,
-US,S.U.A.,
-Customer Type,tip de client,
-Market Place Account Group,Grupul de cont de pe piață,
-After Date,După data,
-Amazon will synch data updated after this date,Amazon va sincroniza datele actualizate după această dată,
-Sync Taxes and Charges,Sincronizați taxele și taxele,
-Get financial breakup of Taxes and charges data by Amazon ,Obțineți despărțirea financiară a datelor fiscale și taxe de către Amazon,
-Sync Products,Produse de sincronizare,
-Always sync your products from Amazon MWS before synching the Orders details,Sincronizați întotdeauna produsele dvs. de la Amazon MWS înainte de a sincroniza detaliile comenzilor,
-Sync Orders,Sincronizați comenzile,
-Click this button to pull your Sales Order data from Amazon MWS.,Faceți clic pe acest buton pentru a vă trage datele de comandă de vânzări de la Amazon MWS.,
-Enable Scheduled Sync,Activați sincronizarea programată,
-Check this to enable a scheduled Daily synchronization routine via scheduler,Verificați acest lucru pentru a activa o rutină zilnică de sincronizare programată prin programator,
-Max Retry Limit,Max Retry Limit,
-Exotel Settings,Setări Exotel,
-Account SID,Cont SID,
-API Token,Token API,
-GoCardless Mandate,GoCardless Mandate,
-Mandate,Mandat,
-GoCardless Customer,Clientul GoCardless,
-GoCardless Settings,Setări GoCardless,
-Webhooks Secret,Webhooks Secret,
-Plaid Settings,Setări Plaid,
-Synchronize all accounts every hour,Sincronizați toate conturile în fiecare oră,
-Plaid Client ID,Cod client Plaid,
-Plaid Secret,Plaid Secret,
-Plaid Environment,Mediu plaid,
-sandbox,Sandbox,
-development,dezvoltare,
-production,producție,
-QuickBooks Migrator,QuickBooks Migrator,
-Application Settings,Setările aplicației,
-Token Endpoint,Token Endpoint,
-Scope,domeniu,
-Authorization Settings,Setările de autorizare,
-Authorization Endpoint,Autorizație,
-Authorization URL,Adresa de autorizare,
-Quickbooks Company ID,Coduri de identificare rapidă a companiei,
-Company Settings,Setări Company,
-Default Shipping Account,Contul de transport implicit,
-Default Warehouse,Depozit Implicit,
-Default Cost Center,Centru Cost Implicit,
-Undeposited Funds Account,Contul fondurilor nedeclarate,
-Shopify Log,Magazinul de jurnal,
-Request Data,Solicită Date,
-Shopify Settings,Rafinați setările,
-status html,starea html,
-Enable Shopify,Activați Shopify,
-App Type,Tipul aplicației,
-Last Sync Datetime,Ultima dată de sincronizare,
-Shop URL,Adresa URL magazin,
-eg: frappe.myshopify.com,de ex .: frappe.myshopify.com,
-Shared secret,Secret împărtășit,
-Webhooks Details,Detaliile Webhooks,
-Webhooks,Webhooks,
-Customer Settings,Setările clientului,
-Default Customer,Client Implicit,
-Customer Group will set to selected group while syncing customers from Shopify,Grupul de clienți va seta grupul selectat în timp ce va sincroniza clienții din Shopify,
-For Company,Pentru Companie,
-Cash Account will used for Sales Invoice creation,Contul de numerar va fi utilizat pentru crearea facturii de vânzări,
-Update Price from Shopify To ERPNext Price List,Actualizați prețul de la Shopify la lista de prețuri ERP următoare,
-Default Warehouse to to create Sales Order and Delivery Note,Warehouse implicit pentru a crea o comandă de vânzări și o notă de livrare,
-Sales Order Series,Seria de comandă de vânzări,
-Import Delivery Notes from Shopify on Shipment,Importă note de livrare de la Shopify la expediere,
-Delivery Note Series,Seria de note de livrare,
-Import Sales Invoice from Shopify if Payment is marked,Importă factura de vânzare din Shopify dacă este marcată plata,
-Sales Invoice Series,Seria de facturi de vânzări,
-Shopify Tax Account,Achiziționați contul fiscal,
-Shopify Tax/Shipping Title,Achiziționați titlul fiscal / transport,
-ERPNext Account,Contul ERPNext,
-Shopify Webhook Detail,Bucurați-vă de detaliile Webhook,
-Webhook ID,ID-ul Webhook,
-Tally Migration,Migrația de tip Tally,
-Master Data,Date Master,
-"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Date exportate de la Tally care constă din Planul de conturi, clienți, furnizori, adrese, articole și UOM-uri",
-Is Master Data Processed,Sunt prelucrate datele master,
-Is Master Data Imported,Sunt importate datele de master,
-Tally Creditors Account,Contul creditorilor Tally,
-Creditors Account set in Tally,Contul creditorilor stabilit în Tally,
-Tally Debtors Account,Contul debitorilor,
-Debtors Account set in Tally,Contul debitorilor stabilit în Tally,
-Tally Company,Tally Company,
-Company Name as per Imported Tally Data,Numele companiei conform datelor importate Tally,
-Default UOM,UOM implicit,
-UOM in case unspecified in imported data,UOM în cazul nespecificat în datele importate,
-ERPNext Company,Compania ERPNext,
-Your Company set in ERPNext,Compania dvs. a fost setată în ERPNext,
-Processed Files,Fișiere procesate,
-Parties,Petreceri,
-UOMs,UOMs,
-Vouchers,Bonuri,
-Round Off Account,Rotunji cont,
-Day Book Data,Date despre cartea de zi,
-Day Book Data exported from Tally that consists of all historic transactions,"Date din agenda de zi exportate din Tally, care constă în toate tranzacțiile istorice",
-Is Day Book Data Processed,Sunt prelucrate datele despre cartea de zi,
-Is Day Book Data Imported,Sunt importate datele despre cartea de zi,
-Woocommerce Settings,Setări Woocommerce,
-Enable Sync,Activați sincronizarea,
-Woocommerce Server URL,Adresa URL a serverului Woocommerce,
-Secret,Secret,
-API consumer key,Cheia pentru consumatori API,
-API consumer secret,Secretul consumatorului API,
-Tax Account,Contul fiscal,
-Freight and Forwarding Account,Contul de expediere și de expediere,
-Creation User,Utilizator creație,
-"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Utilizatorul care va fi utilizat pentru a crea clienți, articole și comenzi de vânzare. Acest utilizator ar trebui să aibă permisiunile relevante.",
-"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Acest depozit va fi folosit pentru a crea comenzi de vânzare. Depozitul în retragere este „Magazine”.,
-"The fallback series is ""SO-WOO-"".",Seria Fallback este „SO-WOO-”.,
-This company will be used to create Sales Orders.,Această companie va fi folosită pentru a crea comenzi de vânzare.,
-Delivery After (Days),Livrare după (zile),
-This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,Aceasta este compensarea implicită (zile) pentru data livrării în comenzile de vânzare. Decalarea compensării este de 7 zile de la data plasării comenzii.,
-"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Acesta este UOM-ul implicit utilizat pentru articole și comenzi de vânzări. UOM-ul în rezervă este „Nos”.,
-Endpoints,Endpoints,
-Endpoint,Punct final,
-Antibiotic Name,Numele antibioticului,
-Healthcare Administrator,Administrator de asistență medicală,
-Laboratory User,Utilizator de laborator,
-Is Inpatient,Este internat,
-Default Duration (In Minutes),Durata implicită (în minute),
-Body Part,Parte a corpului,
-Body Part Link,Legătura părții corpului,
-HLC-CPR-.YYYY.-,HLC-CPR-.YYYY.-,
-Procedure Template,Șablon de procedură,
-Procedure Prescription,Procedura de prescriere,
-Service Unit,Unitate de service,
-Consumables,Consumabile,
-Consume Stock,Consumați stocul,
-Invoice Consumables Separately,Consumabile facturate separat,
-Consumption Invoiced,Consum facturat,
-Consumable Total Amount,Suma totală consumabilă,
-Consumption Details,Detalii despre consum,
-Nursing User,Utilizator Nursing,
-Clinical Procedure Item,Articol de procedură clinică,
-Invoice Separately as Consumables,Factureaza distinct ca si consumabile,
-Transfer Qty,Cantitate transfer,
-Actual Qty (at source/target),Cant. efectivă (la sursă/destinaţie),
-Is Billable,Este facturabil,
-Allow Stock Consumption,Permiteți consumul de stoc,
-Sample UOM,Exemplu UOM,
-Collection Details,Detaliile colecției,
-Change In Item,Modificare element,
-Codification Table,Tabelul de codificare,
-Complaints,Reclamații,
-Dosage Strength,Dozabilitate,
-Strength,Putere,
-Drug Prescription,Droguri de prescripție,
-Drug Name / Description,Denumirea / descrierea medicamentului,
-Dosage,Dozare,
-Dosage by Time Interval,Dozaj după intervalul de timp,
-Interval,Interval,
-Interval UOM,Interval UOM,
-Hour,Oră,
-Update Schedule,Actualizați programul,
-Exercise,Exercițiu,
-Difficulty Level,Nivel de dificultate,
-Counts Target,Numără ținta,
-Counts Completed,Număruri finalizate,
-Assistance Level,Nivelul de asistență,
-Active Assist,Asistență activă,
-Exercise Name,Numele exercițiului,
-Body Parts,Parti ale corpului,
-Exercise Instructions,Instrucțiuni de exerciții,
-Exercise Video,Video de exerciții,
-Exercise Steps,Pași de exerciții,
-Steps,Pași,
-Steps Table,Tabelul Pașilor,
-Exercise Type Step,Tipul exercițiului Pas,
-Max number of visit,Numărul maxim de vizite,
-Visited yet,Vizitată încă,
-Reference Appointments,Programări de referință,
-Valid till,Valabil până la,
-Fee Validity Reference,Referința valabilității taxei,
-Basic Details,Detalii de bază,
-HLC-PRAC-.YYYY.-,HLC-PRAC-.YYYY.-,
-Mobile,Mobil,
-Phone (R),Telefon (R),
-Phone (Office),Telefon (Office),
-Employee and User Details,Detalii despre angajat și utilizator,
-Hospital,Spital,
-Appointments,Programari,
-Practitioner Schedules,Practitioner Schedules,
-Charges,Taxe,
-Out Patient Consulting Charge,Taxă de consultanță pentru pacienți,
-Default Currency,Monedă Implicită,
-Healthcare Schedule Time Slot,Programul de îngrijire a sănătății Time Slot,
-Parent Service Unit,Serviciul pentru părinți,
-Service Unit Type,Tip de unitate de service,
-Allow Appointments,Permiteți întâlnirilor,
-Allow Overlap,Permiteți suprapunerea,
-Inpatient Occupancy,Ocuparea locului de muncă,
-Occupancy Status,Starea ocupației,
-Vacant,Vacant,
-Occupied,Ocupat,
-Item Details,Detalii despre articol,
-UOM Conversion in Hours,Conversie UOM în ore,
-Rate / UOM,Rata / UOM,
-Change in Item,Modificați articolul,
-Out Patient Settings,Setări pentru pacient,
-Patient Name By,Nume pacient,
-Patient Name,Numele pacientului,
-Link Customer to Patient,Conectați clientul la pacient,
-"If checked, a customer will be created, mapped to Patient.\nPatient Invoices will be created against this Customer. You can also select existing Customer while creating Patient.","Dacă este bifată, va fi creat un client, cartografiat pacientului. Facturile de pacienți vor fi create împotriva acestui Client. De asemenea, puteți selecta Clientul existent în timp ce creați pacientul.",
-Default Medical Code Standard,Standardul medical standard standard,
-Collect Fee for Patient Registration,Colectați taxa pentru înregistrarea pacientului,
-Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,Verificând acest lucru se vor crea noi pacienți cu starea Dezactivat în mod implicit și vor fi activate numai după facturarea Taxei de înregistrare.,
-Registration Fee,Taxă de Înregistrare,
-Automate Appointment Invoicing,Automatizați facturarea programării,
-Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Gestionați trimiterea și anularea facturii de întâlnire în mod automat pentru întâlnirea cu pacienții,
-Enable Free Follow-ups,Activați urmăriri gratuite,
-Number of Patient Encounters in Valid Days,Numărul de întâlniri cu pacienți în zilele valabile,
-The number of free follow ups (Patient Encounters in valid days) allowed,Numărul de urmăriri gratuite (întâlniri cu pacienții în zile valide) permis,
-Valid Number of Days,Număr valid de zile,
-Time period (Valid number of days) for free consultations,Perioada de timp (număr valid de zile) pentru consultări gratuite,
-Default Healthcare Service Items,Articole prestabilite pentru serviciile medicale,
-"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Puteți configura articole implicite pentru facturarea taxelor de consultare, a articolelor de consum procedură și a vizitelor internate",
-Clinical Procedure Consumable Item,Procedura clinică Consumabile,
-Default Accounts,Conturi implicite,
-Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,Conturile de venit implicite care trebuie utilizate dacă nu sunt stabilite în practicienii din domeniul sănătății pentru a rezerva taxele de numire.,
-Default receivable accounts to be used to book Appointment charges.,Conturi de creanță implicite care urmează să fie utilizate pentru rezervarea cheltuielilor pentru programare.,
-Out Patient SMS Alerts,Alerte SMS ale pacientului,
-Patient Registration,Inregistrarea pacientului,
-Registration Message,Mesaj de înregistrare,
-Confirmation Message,Mesaj de confirmare,
-Avoid Confirmation,Evitați confirmarea,
-Do not confirm if appointment is created for the same day,Nu confirmați dacă se creează o întâlnire pentru aceeași zi,
-Appointment Reminder,Memento pentru numire,
-Reminder Message,Mesaj Memento,
-Remind Before,Memento Înainte,
-Laboratory Settings,Setări de laborator,
-Create Lab Test(s) on Sales Invoice Submission,Creați teste de laborator la trimiterea facturilor de vânzări,
-Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,Verificând acest lucru se vor crea teste de laborator specificate în factura de vânzare la trimitere.,
-Create Sample Collection document for Lab Test,Creați un document de colectare a probelor pentru testul de laborator,
-Checking this will create a Sample Collection document  every time you create a Lab Test,"Verificând acest lucru, veți crea un document de colectare a probelor de fiecare dată când creați un test de laborator",
-Employee name and designation in print,Numele și denumirea angajatului în imprimat,
-Check this if you want the Name and Designation of the Employee associated with the User who submits the document to be printed in the Lab Test Report.,Bifați acest lucru dacă doriți ca numele și denumirea angajatului asociate cu utilizatorul care trimite documentul să fie tipărite în raportul de testare de laborator.,
-Do not print or email Lab Tests without Approval,Nu imprimați sau trimiteți prin e-mail testele de laborator fără aprobare,
-Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,"Verificarea acestui lucru va restricționa imprimarea și trimiterea prin e-mail a documentelor de test de laborator, cu excepția cazului în care acestea au statutul de Aprobat.",
-Custom Signature in Print,Semnătură personalizată în imprimare,
-Laboratory SMS Alerts,Alerte SMS de laborator,
-Result Printed Message,Rezultat Mesaj tipărit,
-Result Emailed Message,Rezultat Mesaj prin e-mail,
-Check In,Verifica,
-Check Out,Verifică,
-HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
-A Positive,A Pozitive,
-A Negative,Un negativ,
-AB Positive,AB pozitiv,
-AB Negative,AB Negativ,
-B Positive,B pozitiv,
-B Negative,B Negativ,
-O Positive,O pozitiv,
-O Negative,O Negativ,
-Date of birth,Data Nașterii,
-Admission Scheduled,Admiterea programată,
-Discharge Scheduled,Descărcarea programată,
-Discharged,evacuate,
-Admission Schedule Date,Data calendarului de admitere,
-Admitted Datetime,Timpul admis,
-Expected Discharge,Descărcarea anticipată,
-Discharge Date,Data descărcării,
-Lab Prescription,Lab prescription,
-Lab Test Name,Numele testului de laborator,
-Test Created,Testul a fost creat,
-Submitted Date,Data transmisă,
-Approved Date,Data aprobarii,
-Sample ID,ID-ul probelor,
-Lab Technician,Tehnician de laborator,
-Report Preference,Raportați raportul,
-Test Name,Numele testului,
-Test Template,Șablon de testare,
-Test Group,Grupul de testare,
-Custom Result,Rezultate personalizate,
-LabTest Approver,LabTest Approver,
-Add Test,Adăugați test,
-Normal Range,Interval normal,
-Result Format,Formatul rezultatelor,
-Single,Celibatar,
-Compound,Compus,
-Descriptive,Descriptiv,
-Grouped,grupate,
-No Result,Nici un rezultat,
-This value is updated in the Default Sales Price List.,Această valoare este actualizată în lista prestabilită a prețurilor de vânzare.,
-Lab Routine,Laboratorul de rutină,
-Result Value,Valoare Rezultat,
-Require Result Value,Necesita valoarea rezultatului,
-Normal Test Template,Șablonul de test normal,
-Patient Demographics,Demografia pacientului,
-HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
-Middle Name (optional),Prenume (opțional),
-Inpatient Status,Starea staționarului,
-"If ""Link Customer to Patient"" is checked in Healthcare Settings and an existing Customer is not selected then, a Customer will be created for this Patient for recording transactions in Accounts module.","Dacă „Link Client to Pacient” este bifat în Setările asistenței medicale și un Client existent nu este selectat, atunci va fi creat un Client pentru acest Pacient pentru înregistrarea tranzacțiilor în modulul Conturi.",
-Personal and Social History,Istoria personală și socială,
-Marital Status,Stare civilă,
-Married,Căsătorit,
-Divorced,Divorțat/a,
-Widow,Văduvă,
-Patient Relation,Relația pacientului,
-"Allergies, Medical and Surgical History","Alergii, Istorie medicală și chirurgicală",
-Allergies,Alergii,
-Medication,Medicament,
-Medical History,Istoricul medical,
-Surgical History,Istorie chirurgicală,
-Risk Factors,Factori de Risc,
-Occupational Hazards and Environmental Factors,Riscuri Ocupaționale și Factori de Mediu,
-Other Risk Factors,Alți factori de risc,
-Patient Details,Detalii pacient,
-Additional information regarding the patient,Informații suplimentare privind pacientul,
-HLC-APP-.YYYY.-,HLC-APP-.YYYY.-,
-Patient Age,Vârsta pacientului,
-Get Prescribed Clinical Procedures,Obțineți proceduri clinice prescrise,
-Therapy,Terapie,
-Get Prescribed Therapies,Obțineți terapii prescrise,
-Appointment Datetime,Data programării,
-Duration (In Minutes),Durata (în minute),
-Reference Sales Invoice,Factură de vânzare de referință,
-More Info,Mai multe informatii,
-Referring Practitioner,Practicant referitor,
-Reminded,Reamintit,
-HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
-Assessment Template,Șablon de evaluare,
-Assessment Datetime,Evaluare Datetime,
-Assessment Description,Evaluare Descriere,
-Assessment Sheet,Fișa de evaluare,
-Total Score Obtained,Scorul total obținut,
-Scale Min,Scală Min,
-Scale Max,Scală Max,
-Patient Assessment Detail,Detaliu evaluare pacient,
-Assessment Parameter,Parametru de evaluare,
-Patient Assessment Parameter,Parametrul de evaluare a pacientului,
-Patient Assessment Sheet,Fișa de evaluare a pacientului,
-Patient Assessment Template,Șablon de evaluare a pacientului,
-Assessment Parameters,Parametrii de evaluare,
-Parameters,Parametrii,
-Assessment Scale,Scara de evaluare,
-Scale Minimum,Scala minimă,
-Scale Maximum,Scală maximă,
-HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
-Encounter Date,Data întâlnirii,
-Encounter Time,Întâlniți timpul,
-Encounter Impression,Întâlniți impresiile,
-Symptoms,Simptome,
-In print,În imprimare,
-Medical Coding,Codificarea medicală,
-Procedures,Proceduri,
-Therapies,Terapii,
-Review Details,Detalii de examinare,
-Patient Encounter Diagnosis,Diagnosticul întâlnirii pacientului,
-Patient Encounter Symptom,Simptomul întâlnirii pacientului,
-HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
-Attach Medical Record,Atașați fișa medicală,
-Reference DocType,DocType de referință,
-Spouse,soț,
-Family,Familie,
-Schedule Details,Detalii program,
-Schedule Name,Numele programului,
-Time Slots,Intervale de timp,
-Practitioner Service Unit Schedule,Unitatea Serviciului de Practician,
-Procedure Name,Numele procedurii,
-Appointment Booked,Numirea rezervată,
-Procedure Created,Procedura creată,
-HLC-SC-.YYYY.-,HLC-SC-.YYYY.-,
-Collected By,Colectată de,
-Particulars,Particularități,
-Result Component,Componenta Rezultat,
-HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
-Therapy Plan Details,Detalii despre planul de terapie,
-Total Sessions,Total sesiuni,
-Total Sessions Completed,Total sesiuni finalizate,
-Therapy Plan Detail,Detaliu plan de terapie,
-No of Sessions,Nr de sesiuni,
-Sessions Completed,Sesiuni finalizate,
-Tele,Tele,
-Exercises,Exerciții,
-Therapy For,Terapie pt,
-Add Exercises,Adăugați exerciții,
-Body Temperature,Temperatura corpului,
-Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),"Prezența febrei (temperatură&gt; 38,5 ° C sau temperatură susținută&gt; 38 ° C / 100,4 ° F)",
-Heart Rate / Pulse,Ritm cardiac / puls,
-Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Rata pulsului adulților este între 50 și 80 de bătăi pe minut.,
-Respiratory rate,Rata respiratorie,
-Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Intervalul normal de referință pentru un adult este de 16-20 respirații / minut (RCP 2012),
-Tongue,Limbă,
-Coated,Acoperit,
-Very Coated,Foarte acoperit,
-Normal,Normal,
-Furry,Cu blană,
-Cuts,Bucăți,
-Abdomen,Abdomen,
-Bloated,Umflat,
-Fluid,Fluid,
-Constipated,Constipat,
-Reflexes,reflexe,
-Hyper,Hyper,
-Very Hyper,Foarte Hyper,
-One Sided,O singură față,
-Blood Pressure (systolic),Tensiunea arterială (sistolică),
-Blood Pressure (diastolic),Tensiunea arterială (diastolică),
-Blood Pressure,Tensiune arteriala,
-"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","Tensiunea arterială normală de repaus la un adult este de aproximativ 120 mmHg sistolică și 80 mmHg diastolică, abreviată &quot;120/80 mmHg&quot;",
-Nutrition Values,Valorile nutriției,
-Height (In Meter),Înălțime (în metri),
-Weight (In Kilogram),Greutate (în kilograme),
-BMI,IMC,
-Hotel Room,Cameră de hotel,
-Hotel Room Type,Tip camera de hotel,
-Capacity,Capacitate,
-Extra Bed Capacity,Capacitatea patului suplimentar,
-Hotel Manager,Hotel Manager,
-Hotel Room Amenity,Hotel Amenity Room,
-Billable,Facturabil,
-Hotel Room Package,Pachetul de camere hotel,
-Amenities,dotări,
-Hotel Room Pricing,Pretul camerei hotelului,
-Hotel Room Pricing Item,Hotel Pricing Room Item,
-Hotel Room Pricing Package,Pachetul pentru tarifarea camerei hotelului,
-Hotel Room Reservation,Rezervarea camerelor hotelului,
-Guest Name,Numele oaspetelui,
-Late Checkin,Încearcă târziu,
-Booked,rezervat,
-Hotel Reservation User,Utilizator rezervare hotel,
-Hotel Room Reservation Item,Rezervare cameră cameră,
-Hotel Settings,Setările hotelului,
-Default Taxes and Charges,Impozite și taxe prestabilite,
-Default Invoice Naming Series,Seria implicită de numire a facturilor,
-Additional Salary,Salariu suplimentar,
-HR,HR,
-HR-ADS-.YY.-.MM.-,HR-ADS-.YY .-. MM.-,
-Salary Component,Componenta de salarizare,
-Overwrite Salary Structure Amount,Suprascrieți suma structurii salariilor,
-Deduct Full Tax on Selected Payroll Date,Reduceți impozitul complet pe data de salarizare selectată,
-Payroll Date,Data salarizării,
-Date on which this component is applied,Data la care se aplică această componentă,
-Salary Slip,Salariul Slip,
-Salary Component Type,Tipul componentei salariale,
-HR User,Utilizator HR,
-Appointment Letter,Scrisoare de programare,
-Job Applicant,Solicitant loc de muncă,
-Applicant Name,Nume solicitant,
-Appointment Date,Data de intalnire,
-Appointment Letter Template,Model de scrisoare de numire,
-Body,Corp,
-Closing Notes,Note de închidere,
-Appointment Letter content,Numire scrisoare conținut,
-Appraisal,Expertiză,
-HR-APR-.YY.-.MM.,HR-APR-.YY.-.MM.,
-Appraisal Template,Model expertiză,
-For Employee Name,Pentru Numele Angajatului,
-Goals,Obiective,
-Total Score (Out of 5),Scor total (din 5),
-"Any other remarks, noteworthy effort that should go in the records.","Orice alte observații, efort remarcabil care ar trebui înregistrate.",
-Appraisal Goal,Obiectiv expertiză,
-Key Responsibility Area,Domeni de Responsabilitate Cheie,
-Weightage (%),Weightage (%),
-Score (0-5),Scor (0-5),
-Score Earned,Scor Earned,
-Appraisal Template Title,Titlu model expertivă,
-Appraisal Template Goal,Obiectiv model expertivă,
-KRA,KRA,
-Key Performance Area,Domeniu de Performanță Cheie,
-HR-ATT-.YYYY.-,HR-ATT-.YYYY.-,
-On Leave,La plecare,
-Work From Home,Lucru de acasă,
-Leave Application,Aplicatie pentru Concediu,
-Attendance Date,Dată prezenţă,
-Attendance Request,Cererea de participare,
-Late Entry,Intrare târzie,
-Early Exit,Iesire timpurie,
-Half Day Date,Jumatate de zi Data,
-On Duty,La datorie,
-Explanation,Explicaţie,
-Compensatory Leave Request,Solicitare de plecare compensatorie,
-Leave Allocation,Alocare Concediu,
-Worked On Holiday,Lucrat în vacanță,
-Work From Date,Lucrul de la data,
-Work End Date,Data terminării lucrării,
-Email Sent To,Email trimis catre,
-Select Users,Selectați Utilizatori,
-Send Emails At,Trimite email-uri La,
-Reminder,Memento,
-Daily Work Summary Group User,Utilizatorul grupului zilnic de lucru sumar,
-email,e-mail,
-Parent Department,Departamentul părinților,
-Leave Block List,Lista Concedii Blocate,
-Days for which Holidays are blocked for this department.,Zile pentru care Sărbătorile sunt blocate pentru acest departament.,
-Leave Approver,Aprobator Concediu,
-Expense Approver,Aprobator Cheltuieli,
-Department Approver,Departamentul Aprobare,
-Approver,Aprobator,
-Required Skills,Aptitudini necesare,
-Skills,Aptitudini,
-Designation Skill,Indemanare de desemnare,
-Skill,Calificare,
-Driver,Conducător auto,
-HR-DRI-.YYYY.-,HR-DRI-.YYYY.-,
-Suspended,Suspendat,
-Transporter,Transporter,
-Applicable for external driver,Aplicabil pentru driverul extern,
-Cellphone Number,Număr de Telefon Mobil,
-License Details,Detalii privind licența,
-License Number,Numărul de licență,
-Issuing Date,Data emiterii,
-Driving License Categories,Categorii de licență de conducere,
-Driving License Category,Categoria permiselor de conducere,
-Fleet Manager,Manager de flotă,
-Driver licence class,Clasa permisului de conducere,
-HR-EMP-,HR-vorba sunt,
-Employment Type,Tip angajare,
-Emergency Contact,Contact de Urgență,
-Emergency Contact Name,Nume de contact de urgență,
-Emergency Phone,Telefon de Urgență,
-ERPNext User,Utilizator ERPNext,
-"System User (login) ID. If set, it will become default for all HR forms.","ID Utilizator Sistem (conectare). Dacă este setat, va deveni implicit pentru toate formularele de resurse umane.",
-Create User Permission,Creați permisiunea utilizatorului,
-This will restrict user access to other employee records,Acest lucru va restricționa accesul utilizatorilor la alte înregistrări ale angajaților,
-Joining Details,Detalii Angajare,
-Offer Date,Oferta Date,
-Confirmation Date,Data de Confirmare,
-Contract End Date,Data de Incheiere Contract,
-Notice (days),Preaviz (zile),
-Date Of Retirement,Data Pensionării,
-Department and Grade,Departamentul și Gradul,
-Reports to,Rapoartează către,
-Attendance and Leave Details,Detalii de participare și concediu,
-Leave Policy,Lasati politica,
-Attendance Device ID (Biometric/RF tag ID),Prezentarea dispozitivului de identificare (biometric / RF tag tag),
-Applicable Holiday List,Listă de concedii aplicabile,
-Default Shift,Schimbare implicită,
-Salary Details,Detalii salariu,
-Salary Mode,Mod de salariu,
-Bank A/C No.,Bancă A/C nr.,
-Health Insurance,Asigurare de sanatate,
-Health Insurance Provider,Asigurari de sanatate,
-Health Insurance No,Asigurări de sănătate nr,
-Prefered Email,E-mail Preferam,
-Personal Email,Personal de e-mail,
-Permanent Address Is,Adresa permanentă este,
-Rented,Închiriate,
-Owned,Deținut,
-Permanent Address,Permanent Adresa,
-Prefered Contact Email,Contact Email Preferam,
-Company Email,E-mail Companie,
-Provide Email Address registered in company,Furnizarea Adresa de email inregistrata in companie,
-Current Address Is,Adresa Actuală Este,
-Current Address,Adresa actuală,
-Personal Bio,Personal Bio,
-Bio / Cover Letter,Bio / Cover Letter,
-Short biography for website and other publications.,Scurta biografie pentru site-ul web și alte publicații.,
-Passport Number,Numărul de pașaport,
-Date of Issue,Data Problemei,
-Place of Issue,Locul eliberării,
-Widowed,Văduvit,
-Family Background,Context familial,
-"Here you can maintain family details like name and occupation of parent, spouse and children","Aici puteți stoca detalii despre familie, cum ar fi numele și ocupația parintelui, sotului/sotiei și copiilor",
-Health Details,Detalii Sănătate,
-"Here you can maintain height, weight, allergies, medical concerns etc","Aici puteți stoca informatii despre inaltime, greutate, alergii, probleme medicale etc",
-Educational Qualification,Detalii Calificare de Învățământ,
-Previous Work Experience,Anterior Work Experience,
-External Work History,Istoricul lucrului externă,
-History In Company,Istoric In Companie,
-Internal Work History,Istoria interne de lucru,
-Resignation Letter Date,Dată Scrisoare de Demisie,
-Relieving Date,Alinarea Data,
-Reason for Leaving,Motiv pentru plecare,
-Leave Encashed?,Concediu Incasat ?,
-Encashment Date,Data plata in Numerar,
-New Workplace,Nou loc de muncă,
-HR-EAD-.YYYY.-,HR-EAD-.YYYY.-,
-Returned Amount,Suma restituită,
-Claimed,Revendicat,
-Advance Account,Advance Account,
-Employee Attendance Tool,Instrumentul Participarea angajat,
-Unmarked Attendance,Participarea nemarcat,
-Employees HTML,Angajații HTML,
-Marked Attendance,Participarea marcat,
-Marked Attendance HTML,Participarea marcat HTML,
-Employee Benefit Application,Aplicația pentru beneficiile angajaților,
-Max Benefits (Yearly),Beneficii maxime (anual),
-Remaining Benefits (Yearly),Alte beneficii (anuale),
-Payroll Period,Perioada de salarizare,
-Benefits Applied,Beneficii aplicate,
-Dispensed Amount (Pro-rated),Sumă distribuită (Pro-evaluată),
-Employee Benefit Application Detail,Detaliile aplicației pentru beneficiile angajaților,
-Earning Component,Componenta câștigurilor,
-Pay Against Benefit Claim,Plătiți împotriva revendicării beneficiilor,
-Max Benefit Amount,Suma maximă a beneficiilor,
-Employee Benefit Claim,Revendicarea beneficiilor pentru angajați,
-Claim Date,Data revendicării,
-Benefit Type and Amount,Tip de prestație și sumă,
-Claim Benefit For,Revendicați beneficiul pentru,
-Max Amount Eligible,Sumă maximă eligibilă,
-Expense Proof,Cheltuieli de probă,
-Employee Boarding Activity,Activitatea de îmbarcare a angajaților,
-Activity Name,Nume Activitate,
-Task Weight,sarcina Greutate,
-Required for Employee Creation,Necesar pentru crearea angajaților,
-Applicable in the case of Employee Onboarding,Aplicabil în cazul angajării angajaților,
-Employee Checkin,Verificarea angajatilor,
-Log Type,Tip jurnal,
-OUT,OUT,
-Location / Device ID,Locație / ID dispozitiv,
-Skip Auto Attendance,Treci la prezența automată,
-Shift Start,Start Shift,
-Shift End,Shift End,
-Shift Actual Start,Shift Start inițial,
-Shift Actual End,Schimbare finală efectivă,
-Employee Education,Educație Angajat,
-School/University,Școlar / universitar,
-Graduate,Absolvent,
-Post Graduate,Postuniversitar,
-Under Graduate,Sub Absolvent,
-Year of Passing,Ani de la promovarea,
-Class / Percentage,Clasă / Procent,
-Major/Optional Subjects,Subiecte Majore / Opționale,
-Employee External Work History,Istoric Extern Locuri de Munca Angajat,
-Total Experience,Experiența totală,
-Default Leave Policy,Implicit Politica de plecare,
-Default Salary Structure,Structura salarială implicită,
-Employee Group Table,Tabelul grupului de angajați,
-ERPNext User ID,ID utilizator ERPNext,
-Employee Health Insurance,Angajarea Asigurărilor de Sănătate,
-Health Insurance Name,Nume de Asigurări de Sănătate,
-Employee Incentive,Angajament pentru angajați,
-Incentive Amount,Sumă stimulativă,
-Employee Internal Work History,Istoric Intern Locuri de Munca Angajat,
-Employee Onboarding,Angajarea la bord,
-Notify users by email,Notifica utilizatorii prin e-mail,
-Employee Onboarding Template,Formularul de angajare a angajatului,
-Activities,Activități,
-Employee Onboarding Activity,Activitatea de angajare a angajaților,
-Employee Other Income,Alte venituri ale angajaților,
-Employee Promotion,Promovarea angajaților,
-Promotion Date,Data promoției,
-Employee Promotion Details,Detaliile de promovare a angajaților,
-Employee Promotion Detail,Detaliile de promovare a angajaților,
-Employee Property History,Istoricul proprietății angajatului,
-Employee Separation,Separarea angajaților,
-Employee Separation Template,Șablon de separare a angajaților,
-Exit Interview Summary,Exit Interviu Rezumat,
-Employee Skill,Indemanarea angajatilor,
-Proficiency,Experiență,
-Evaluation Date,Data evaluării,
-Employee Skill Map,Harta de îndemânare a angajaților,
-Employee Skills,Abilități ale angajaților,
-Trainings,instruiri,
-Employee Tax Exemption Category,Angajament categoria de scutire fiscală,
-Max Exemption Amount,Suma maximă de scutire,
-Employee Tax Exemption Declaration,Declarația de scutire fiscală a angajaților,
-Declarations,Declaraţii,
-Total Declared Amount,Suma totală declarată,
-Total Exemption Amount,Valoarea totală a scutirii,
-Employee Tax Exemption Declaration Category,Declarația de scutire fiscală a angajaților,
-Exemption Sub Category,Scutirea subcategoria,
-Exemption Category,Categoria de scutire,
-Maximum Exempted Amount,Suma maximă scutită,
-Declared Amount,Suma declarată,
-Employee Tax Exemption Proof Submission,Sustine gratuitatea acestui serviciu si acceseaza,
-Submission Date,Data depunerii,
-Tax Exemption Proofs,Dovezi privind scutirea de taxe,
-Total Actual Amount,Suma totală reală,
-Employee Tax Exemption Proof Submission Detail,Angajamentul de scutire fiscală Detaliu de prezentare a probelor,
-Maximum Exemption Amount,Suma maximă de scutire,
-Type of Proof,Tip de probă,
-Actual Amount,Suma reală,
-Employee Tax Exemption Sub Category,Scutirea de impozit pe categorii de angajați,
-Tax Exemption Category,Categoria de scutire de taxe,
-Employee Training,Instruirea angajaților,
-Training Date,Data formării,
-Employee Transfer,Transfer de angajați,
-Transfer Date,Data transferului,
-Employee Transfer Details,Detaliile transferului angajatului,
-Employee Transfer Detail,Detalii despre transferul angajatului,
-Re-allocate Leaves,Re-alocarea frunzelor,
-Create New Employee Id,Creați un nou număr de angajați,
-New Employee ID,Codul angajatului nou,
-Employee Transfer Property,Angajamentul transferului de proprietate,
-HR-EXP-.YYYY.-,HR-EXP-.YYYY.-,
-Expense Taxes and Charges,Cheltuiește impozite și taxe,
-Total Sanctioned Amount,Suma totală sancționat,
-Total Advance Amount,Suma totală a avansului,
-Total Claimed Amount,Total suma pretinsă,
-Total Amount Reimbursed,Total suma rambursată,
-Vehicle Log,vehicul Log,
-Employees Email Id,Id Email Angajat,
-More Details,Mai multe detalii,
-Expense Claim Account,Cont Solicitare Cheltuială,
-Expense Claim Advance,Avans Solicitare Cheltuială,
-Unclaimed amount,Sumă nerevendicată,
-Expense Claim Detail,Detaliu Solicitare Cheltuială,
-Expense Date,Data cheltuieli,
-Expense Claim Type,Tip Solicitare Cheltuială,
-Holiday List Name,Denumire Lista de Vacanță,
-Total Holidays,Total sărbători,
-Add Weekly Holidays,Adăugă Sărbători Săptămânale,
-Weekly Off,Săptămânal Off,
-Add to Holidays,Adăugă la Sărbători,
-Holidays,Concedii,
-Clear Table,Sterge Masa,
-HR Settings,Setări Resurse Umane,
-Employee Settings,Setări Angajat,
-Retirement Age,Vârsta de pensionare,
-Enter retirement age in years,Introdu o vârsta de pensionare în anii,
-Stop Birthday Reminders,De oprire de naștere Memento,
-Expense Approver Mandatory In Expense Claim,Aprobator Cheltuieli Obligatoriu în Solicitare Cheltuială,
-Payroll Settings,Setări de salarizare,
-Leave,Părăsi,
-Max working hours against Timesheet,Max ore de lucru împotriva Pontaj,
-Include holidays in Total no. of Working Days,Includ vacanțe în total nr. de zile lucrătoare,
-"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","In cazul in care se bifeaza, nr. total de zile lucratoare va include si sarbatorile, iar acest lucru va reduce valoarea Salariul pe Zi",
-"If checked, hides and disables Rounded Total field in Salary Slips","Dacă este bifat, ascunde și dezactivează câmpul total rotunjit din Slips-uri de salariu",
-The fraction of daily wages to be paid for half-day attendance,Fracțiunea salariilor zilnice care trebuie plătită pentru participarea la jumătate de zi,
-Email Salary Slip to Employee,E-mail Salariu Slip angajatului,
-Emails salary slip to employee based on preferred email selected in Employee,alunecare email-uri salariul angajatului în funcție de e-mail preferat selectat în Angajat,
-Encrypt Salary Slips in Emails,Criptați diapozitive de salariu în e-mailuri,
-"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","Fișa de salariu trimisă către angajat va fi protejată prin parolă, parola va fi generată pe baza politicii de parolă.",
-Password Policy,Politica de parolă,
-<b>Example:</b> SAL-{first_name}-{date_of_birth.year} <br>This will generate a password like SAL-Jane-1972,<b>Exemplu:</b> SAL- {first_name} - {date_of_birth.year} <br> Aceasta va genera o parolă precum SAL-Jane-1972,
-Leave Settings,Lăsați Setările,
-Leave Approval Notification Template,Lăsați șablonul de notificare de aprobare,
-Leave Status Notification Template,Părăsiți șablonul de notificare a statutului,
-Role Allowed to Create Backdated Leave Application,Rolul permis pentru a crea o cerere de concediu retardat,
-Leave Approver Mandatory In Leave Application,Concedierea obligatorie la cerere,
-Show Leaves Of All Department Members In Calendar,Afișați frunzele tuturor membrilor departamentului în calendar,
-Auto Leave Encashment,Auto Encashment,
-Hiring Settings,Setări de angajare,
-Check Vacancies On Job Offer Creation,Verificați posturile vacante pentru crearea ofertei de locuri de muncă,
-Identification Document Type,Tipul documentului de identificare,
-Effective from,Efectiv de la,
-Allow Tax Exemption,Permiteți scutirea de taxe,
-"If enabled, Tax Exemption Declaration will be considered for income tax calculation.","Dacă este activată, Declarația de scutire de impozit va fi luată în considerare pentru calcularea impozitului pe venit.",
-Standard Tax Exemption Amount,Suma standard de scutire de impozit,
-Taxable Salary Slabs,Taxe salariale,
-Taxes and Charges on Income Tax,Impozite și taxe pe impozitul pe venit,
-Other Taxes and Charges,Alte impozite și taxe,
-Income Tax Slab Other Charges,Impozitul pe venit Slab Alte taxe,
-Min Taxable Income,Venit minim impozabil,
-Max Taxable Income,Venitul maxim impozabil,
-Applicant for a Job,Solicitant pentru un loc de muncă,
-Accepted,Acceptat,
-Job Opening,Loc de munca disponibil,
-Cover Letter,Scrisoare de intenție,
-Resume Attachment,CV-Atașamentul,
-Job Applicant Source,Sursă Solicitant Loc de Muncă,
-Applicant Email Address,Adresa de e-mail a solicitantului,
-Awaiting Response,Se aşteaptă răspuns,
-Job Offer Terms,Condiții Ofertă de Muncă,
-Select Terms and Conditions,Selectați Termeni și condiții,
-Printing Details,Imprimare Detalii,
-Job Offer Term,Termen Ofertă de Muncă,
-Offer Term,Termen oferta,
-Value / Description,Valoare / Descriere,
-Description of a Job Opening,Descrierea unei slujbe,
-Job Title,Denumire Post,
-Staffing Plan,Planul de personal,
-Planned number of Positions,Număr planificat de poziții,
-"Job profile, qualifications required etc.","Profilul postului, calificări necesare, etc",
-HR-LAL-.YYYY.-,HR-LAL-.YYYY.-,
-Allocation,Alocare,
-New Leaves Allocated,Cereri noi de concediu alocate,
-Add unused leaves from previous allocations,Adăugați zile de concediu neutilizate de la alocări anterioare,
-Unused leaves,Frunze neutilizate,
-Total Leaves Allocated,Totalul Frunze alocate,
-Total Leaves Encashed,Frunze totale încorporate,
-Leave Period,Lăsați perioada,
-Carry Forwarded Leaves,Trasmite Concedii Inaintate,
-Apply / Approve Leaves,Aplicați / aprobaţi concedii,
-HR-LAP-.YYYY.-,HR-LAP-.YYYY.-,
-Leave Balance Before Application,Balanta Concediu Inainte de Aplicare,
-Total Leave Days,Total de zile de concediu,
-Leave Approver Name,Lăsați Nume aprobator,
-Follow via Email,Urmați prin e-mail,
-Block Holidays on important days.,Blocaţi zile de sărbătoare în zilele importante.,
-Leave Block List Name,Denumire Lista Concedii Blocate,
-Applies to Company,Se aplică companiei,
-"If not checked, the list will have to be added to each Department where it has to be applied.","In cazul in care este debifat, lista va trebui să fie adăugata fiecarui Departament unde trebuie sa fie aplicată.",
-Block Days,Zile de blocare,
-Stop users from making Leave Applications on following days.,Opri utilizatorii de la a face aplicații concediu pentru următoarele zile.,
-Leave Block List Dates,Date Lista Concedii Blocate,
-Allow Users,Permiteți utilizatori,
-Allow the following users to approve Leave Applications for block days.,Permiteţi următorilor utilizatori să aprobe cereri de concediu pentru zile blocate.,
-Leave Block List Allowed,Lista Concedii Blocate Permise,
-Leave Block List Allow,Permite Lista Concedii Blocate,
-Allow User,Permiteţi utilizator,
-Leave Block List Date,Data Lista Concedii Blocate,
-Block Date,Dată blocare,
-Leave Control Panel,Panou de Control Concediu,
-Select Employees,Selectați angajati,
-Employment Type (optional),Tip de angajare (opțional),
-Branch (optional),Sucursală (opțional),
-Department (optional),Departamentul (opțional),
-Designation (optional),Desemnare (opțional),
-Employee Grade (optional),Gradul angajatului (opțional),
-Employee (optional),Angajat (opțional),
-Allocate Leaves,Alocați frunzele,
-Carry Forward,Transmite Inainte,
-Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Vă rugăm să selectați reporta dacă doriți și să includă echilibrul de anul precedent fiscal lasă în acest an fiscal,
-New Leaves Allocated (In Days),Cereri noi de concediu alocate (în zile),
-Allocate,Alocaţi,
-Leave Balance,Lasă balanța,
-Encashable days,Zile încorporate,
-Encashment Amount,Suma de încasare,
-Leave Ledger Entry,Lăsați intrarea în evidență,
-Transaction Name,Numele tranzacției,
-Is Carry Forward,Este Carry Forward,
-Is Expired,Este expirat,
-Is Leave Without Pay,Este concediu fără plată,
-Holiday List for Optional Leave,Lista de vacanță pentru concediul opțional,
-Leave Allocations,Lăsați alocările,
-Leave Policy Details,Lăsați detaliile politicii,
-Leave Policy Detail,Lăsați detaliile politicii,
-Annual Allocation,Alocarea anuală,
-Leave Type Name,Denumire Tip Concediu,
-Max Leaves Allowed,Frunzele maxime sunt permise,
-Applicable After (Working Days),Aplicabil după (zile lucrătoare),
-Maximum Continuous Days Applicable,Zilele maxime continue sunt aplicabile,
-Is Optional Leave,Este concediu opțională,
-Allow Negative Balance,Permiteţi sold negativ,
-Include holidays within leaves as leaves,Includ zilele de sărbătoare în frunze ca frunze,
-Is Compensatory,Este compensatorie,
-Maximum Carry Forwarded Leaves,Frunze transmise maxim transportat,
-Expire Carry Forwarded Leaves (Days),Expirați transportați frunzele transmise (zile),
-Calculated in days,Calculat în zile,
-Encashment,Încasare,
-Allow Encashment,Permiteți încorporarea,
-Encashment Threshold Days,Zilele pragului de încasare,
-Earned Leave,Salariu câștigat,
-Is Earned Leave,Este lăsat câștigat,
-Earned Leave Frequency,Frecvența de plecare câștigată,
-Rounding,Rotunjire,
-Payroll Employee Detail,Detaliile salariaților salariați,
-Payroll Frequency,Frecventa de salarizare,
-Fortnightly,bilunară,
-Bimonthly,Bilunar,
-Employees,Numar de angajati,
-Number Of Employees,Numar de angajati,
-Employee Details,Detalii angajaților,
-Validate Attendance,Validați participarea,
-Salary Slip Based on Timesheet,Bazat pe salariu Slip Pontaj,
-Select Payroll Period,Perioada de selectare Salarizare,
-Deduct Tax For Unclaimed Employee Benefits,Deducerea Impozitelor Pentru Beneficiile Nerecuperate ale Angajaților,
-Deduct Tax For Unsubmitted Tax Exemption Proof,Deducerea impozitului pentru dovada scutirii fiscale neimpozitate,
-Select Payment Account to make Bank Entry,Selectați Cont de plăți pentru a face Banca de intrare,
-Salary Slips Created,Slipsuri salariale create,
-Salary Slips Submitted,Salariile trimise,
-Payroll Periods,Perioade de salarizare,
-Payroll Period Date,Data perioadei de salarizare,
-Purpose of Travel,Scopul călătoriei,
-Retention Bonus,Bonus de Retenție,
-Bonus Payment Date,Data de plată Bonus,
-Bonus Amount,Bonus Suma,
-Abbr,Presc,
-Depends on Payment Days,Depinde de Zilele de plată,
-Is Tax Applicable,Taxa este aplicabilă,
-Variable Based On Taxable Salary,Variabilă pe salariu impozabil,
-Exempted from Income Tax,Scutit de impozitul pe venit,
-Round to the Nearest Integer,Rotund la cel mai apropiat număr întreg,
-Statistical Component,Componenta statistică,
-"If selected, the value specified or calculated in this component will not contribute to the earnings or deductions. However, it's value can be referenced by other components that can be added or deducted. ","Dacă este selectată, valoarea specificată sau calculată în această componentă nu va contribui la câștigurile sau deducerile. Cu toate acestea, valoarea sa poate fi menționată de alte componente care pot fi adăugate sau deduse.",
-Do Not Include in Total,Nu includeți în total,
-Flexible Benefits,Beneficii flexibile,
-Is Flexible Benefit,Este benefică flexibilă,
-Max Benefit Amount (Yearly),Sumă maximă pentru beneficiu (anual),
-Only Tax Impact (Cannot Claim But Part of Taxable Income),"Numai impactul fiscal (nu poate fi revendicat, ci parte din venitul impozabil)",
-Create Separate Payment Entry Against Benefit Claim,Creați o intrare separată de plată împotriva revendicării beneficiilor,
-Condition and Formula,Condiție și formulă,
-Amount based on formula,Suma bazată pe formula generală,
-Formula,Formulă,
-Salary Detail,Detalii salariu,
-Component,component,
-Do not include in total,Nu includeți în total,
-Default Amount,Sumă Implicită,
-Additional Amount,Suma suplimentară,
-Tax on flexible benefit,Impozitul pe beneficii flexibile,
-Tax on additional salary,Impozit pe salariu suplimentar,
-Salary Structure,Structura salariu,
-Working Days,Zile lucratoare,
-Salary Slip Timesheet,Salariu alunecare Pontaj,
-Total Working Hours,Numărul total de ore de lucru,
-Hour Rate,Rata Oră,
-Bank Account No.,Cont bancar nr.,
-Earning & Deduction,Câștig Salarial si Deducere,
-Earnings,Câștiguri,
-Deductions,Deduceri,
-Loan repayment,Rambursare a creditului,
-Employee Loan,angajat de împrumut,
-Total Principal Amount,Sumă totală principală,
-Total Interest Amount,Suma totală a dobânzii,
-Total Loan Repayment,Rambursarea totală a creditului,
-net pay info,info net pay,
-Gross Pay - Total Deduction - Loan Repayment,Plata brută - Deducerea totală - rambursare a creditului,
-Total in words,Total în cuvinte,
-Net Pay (in words) will be visible once you save the Salary Slip.,Pay net (în cuvinte) vor fi vizibile după ce salvați fluturasul de salariu.,
-Salary Component for timesheet based payroll.,Componenta de salarizare pentru salarizare bazate pe timesheet.,
-Leave Encashment Amount Per Day,Părăsiți Suma de Invenție pe Zi,
-Max Benefits (Amount),Beneficii maxime (suma),
-Salary breakup based on Earning and Deduction.,Salariul despartire bazat privind câștigul salarial și deducere.,
-Total Earning,Câștigul salarial total de,
-Salary Structure Assignment,Structura salarială,
-Shift Assignment,Schimbare asignare,
-Shift Type,Tip Shift,
-Shift Request,Cerere de schimbare,
-Enable Auto Attendance,Activați prezența automată,
-Mark attendance based on 'Employee Checkin' for Employees assigned to this shift.,Marcați prezența pe baza „Verificării angajaților” pentru angajații repartizați în această schimbă.,
-Auto Attendance Settings,Setări de prezență automată,
-Determine Check-in and Check-out,Determinați check-in și check-out,
-Alternating entries as IN and OUT during the same shift,Alternarea intrărilor ca IN și OUT în timpul aceleiași deplasări,
-Strictly based on Log Type in Employee Checkin,Strict bazat pe tipul de jurnal în verificarea angajaților,
-Working Hours Calculation Based On,Calculul orelor de lucru bazat pe,
-First Check-in and Last Check-out,Primul check-in și ultimul check-out,
-Every Valid Check-in and Check-out,Fiecare check-in și check-out valabil,
-Begin check-in before shift start time (in minutes),Începeți check-in-ul înainte de ora de începere a schimbului (în minute),
-The time before the shift start time during which Employee Check-in is considered for attendance.,Timpul înainte de ora de începere a schimbului în timpul căruia se consideră check-in-ul angajaților pentru participare.,
-Allow check-out after shift end time (in minutes),Permite check-out după ora de încheiere a schimbului (în minute),
-Time after the end of shift during which check-out is considered for attendance.,Timpul după încheierea turei în timpul căreia se face check-out pentru participare.,
-Working Hours Threshold for Half Day,Prag de lucru pentru o jumătate de zi,
-Working hours below which Half Day is marked. (Zero to disable),Ore de lucru sub care este marcată jumătate de zi. (Zero dezactivat),
-Working Hours Threshold for Absent,Prag de lucru pentru orele absente,
-Working hours below which Absent is marked. (Zero to disable),Ore de lucru sub care este marcat absentul. (Zero dezactivat),
-Process Attendance After,Prezență la proces după,
-Attendance will be marked automatically only after this date.,Participarea va fi marcată automat numai după această dată.,
-Last Sync of Checkin,Ultima sincronizare a checkin-ului,
-Last Known Successful Sync of Employee Checkin. Reset this only if you are sure that all Logs are synced from all the locations. Please don't modify this if you are unsure.,Ultima sincronizare cunoscută cu succes a verificării angajaților. Resetați acest lucru numai dacă sunteți sigur că toate jurnalele sunt sincronizate din toate locațiile. Vă rugăm să nu modificați acest lucru dacă nu sunteți sigur.,
-Grace Period Settings For Auto Attendance,Setări pentru perioada de grație pentru prezența automată,
-Enable Entry Grace Period,Activați perioada de grație de intrare,
-Late Entry Grace Period,Perioada de grație de intrare târzie,
-The time after the shift start time when check-in is considered as late (in minutes).,"Ora după ora de începere a schimbului, când check-in este considerată întârziată (în minute).",
-Enable Exit Grace Period,Activați Perioada de grație de ieșire,
-Early Exit Grace Period,Perioada de grație de ieșire timpurie,
-The time before the shift end time when check-out is considered as early (in minutes).,"Timpul înainte de ora de încheiere a schimbului, când check-out-ul este considerat mai devreme (în minute).",
-Skill Name,Nume de îndemânare,
-Staffing Plan Details,Detaliile planului de personal,
-Staffing Plan Detail,Detaliile planului de personal,
-Total Estimated Budget,Bugetul total estimat,
-Vacancies,Posturi vacante,
-Estimated Cost Per Position,Costul estimat pe poziție,
-Total Estimated Cost,Costul total estimat,
-Current Count,Contorul curent,
-Current Openings,Deschideri curente,
-Number Of Positions,Numărul de poziții,
-Taxable Salary Slab,Taxable Salary Slab,
-From Amount,Din Sumă,
-To Amount,La suma,
-Percent Deduction,Deducție procentuală,
-Training Program,Program de antrenament,
-Event Status,Stare eveniment,
-Has Certificate,Are certificat,
-Seminar,Seminar,
-Theory,Teorie,
-Workshop,Atelier,
-Conference,Conferinţă,
-Exam,Examen,
-Internet,Internet,
-Self-Study,Studiu individual,
-Advance,Avans,
-Trainer Name,Nume formator,
-Trainer Email,trainer e-mail,
-Attendees,Participanți,
-Employee Emails,E-mailuri ale angajaților,
-Training Event Employee,Eveniment de formare Angajat,
-Invited,invitați,
-Feedback Submitted,Feedbackul a fost trimis,
-Optional,facultativ,
-Training Result Employee,Angajat de formare Rezultat,
-Travel Itinerary,Itinerariul de călătorie,
-Travel From,Călătorie de la,
-Travel To,Călători în,
-Mode of Travel,Modul de călătorie,
-Flight,Zbor,
-Train,Tren,
-Taxi,Taxi,
-Rented Car,Mașină închiriată,
-Meal Preference,Preferința de mâncare,
-Vegetarian,Vegetarian,
-Non-Vegetarian,Non vegetarian,
-Gluten Free,Fara gluten,
-Non Diary,Non-jurnal,
-Travel Advance Required,Advance Travel Required,
-Departure Datetime,Data plecării,
-Arrival Datetime,Ora de sosire,
-Lodging Required,Cazare solicitată,
-Preferred Area for Lodging,Zonă preferată de cazare,
-Check-in Date,Data înscrierii,
-Check-out Date,Verifica data,
-Travel Request,Cerere de călătorie,
-Travel Type,Tip de călătorie,
-Domestic,Intern,
-International,Internaţional,
-Travel Funding,Finanțarea turismului,
-Require Full Funding,Solicitați o finanțare completă,
-Fully Sponsored,Sponsorizat complet,
-"Partially Sponsored, Require Partial Funding","Parțial sponsorizat, necesită finanțare parțială",
-Copy of Invitation/Announcement,Copia invitatiei / anuntului,
-"Details of Sponsor (Name, Location)","Detalii despre sponsor (nume, locație)",
-Identification Document Number,Cod Numeric Personal,
-Any other details,Orice alte detalii,
-Costing Details,Costul detaliilor,
-Costing,Cost,
-Event Details,detaliile evenimentului,
-Name of Organizer,Numele organizatorului,
-Address of Organizer,Adresa organizatorului,
-Travel Request Costing,Costul cererii de călătorie,
-Expense Type,Tipul de cheltuieli,
-Sponsored Amount,Suma sponsorizată,
-Funded Amount,Sumă finanțată,
-Upload Attendance,Încărcați Spectatori,
-Attendance From Date,Prezenţa de la data,
-Attendance To Date,Prezenţa până la data,
-Get Template,Obține șablon,
-Import Attendance,Import Spectatori,
-Upload HTML,Încărcați HTML,
-Vehicle,Vehicul,
-License Plate,Înmatriculare,
-Odometer Value (Last),Valoarea contorului de parcurs (Ultimul),
-Acquisition Date,Data achiziției,
-Chassis No,Nr. Șasiu,
-Vehicle Value,Valoarea vehiculului,
-Insurance Details,Detalii de asigurare,
-Insurance Company,Companie de asigurari,
-Policy No,Politica nr,
-Additional Details,Detalii suplimentare,
-Fuel Type,Tipul combustibilului,
-Petrol,Benzină,
-Diesel,Diesel,
-Natural Gas,Gaz natural,
-Electric,Electric,
-Fuel UOM,combustibil UOM,
-Last Carbon Check,Ultima Verificare carbon,
-Wheels,roţi,
-Doors,Usi,
-HR-VLOG-.YYYY.-,HR-VLOG-.YYYY.-,
-Odometer Reading,Kilometrajul,
-Current Odometer value ,Valoarea actuală a contorului,
-last Odometer Value ,ultima valoare Odometru,
-Refuelling Details,Detalii de realimentare,
-Invoice Ref,Ref factură,
-Service Details,Detalii de serviciu,
-Service Detail,Detaliu serviciu,
-Vehicle Service,Serviciu de vehicule,
-Service Item,Postul de servicii,
-Brake Oil,Ulei de frână,
-Brake Pad,Pad de frână,
-Clutch Plate,Placă de ambreiaj,
-Engine Oil,Ulei de motor,
-Oil Change,Schimbare de ulei,
-Inspection,Inspecţie,
-Mileage,distanță parcursă,
-Hub Tracked Item,Articol urmărit,
-Hub Node,Hub Node,
-Image List,Listă de imagini,
-Item Manager,Postul de manager,
-Hub User,Utilizator Hub,
-Hub Password,Parola Hub,
-Hub Users,Hub utilizatori,
-Marketplace Settings,Setări pentru piață,
-Disable Marketplace,Dezactivați Marketplace,
-Marketplace URL (to hide and update label),Adresa URL de pe piață (pentru ascunderea și actualizarea etichetei),
-Registered,Înregistrat,
-Sync in Progress,Sincronizați în curs,
-Hub Seller Name,Numele vânzătorului Hub,
-Custom Data,Date personalizate,
-Member,Membru,
-Partially Disbursed,parţial Se eliberează,
-Loan Closure Requested,Solicitare de închidere a împrumutului,
-Repay From Salary,Rambursa din salariu,
-Loan Details,Creditul Detalii,
-Loan Type,Tip credit,
-Loan Amount,Sumă împrumutată,
-Is Secured Loan,Este împrumut garantat,
-Rate of Interest (%) / Year,Rata dobânzii (%) / An,
-Disbursement Date,debursare,
-Disbursed Amount,Suma plătită,
-Is Term Loan,Este împrumut pe termen,
-Repayment Method,Metoda de rambursare,
-Repay Fixed Amount per Period,Rambursa Suma fixă pentru fiecare perioadă,
-Repay Over Number of Periods,Rambursa Peste Număr de Perioade,
-Repayment Period in Months,Rambursarea Perioada în luni,
-Monthly Repayment Amount,Suma de rambursare lunar,
-Repayment Start Date,Data de începere a rambursării,
-Loan Security Details,Detalii privind securitatea împrumutului,
-Maximum Loan Value,Valoarea maximă a împrumutului,
-Account Info,Informaţii cont,
-Loan Account,Contul împrumutului,
-Interest Income Account,Contul Interes Venit,
-Penalty Income Account,Cont de venituri din penalități,
-Repayment Schedule,rambursare Program,
-Total Payable Amount,Suma totală de plată,
-Total Principal Paid,Total plătit principal,
-Total Interest Payable,Dobânda totală de plată,
-Total Amount Paid,Suma totală plătită,
-Loan Manager,Managerul de împrumut,
-Loan Info,Creditul Info,
-Rate of Interest,Rata Dobânzii,
-Proposed Pledges,Promisiuni propuse,
-Maximum Loan Amount,Suma maximă a împrumutului,
-Repayment Info,Info rambursarea,
-Total Payable Interest,Dobânda totală de plată,
-Against Loan ,Împotriva împrumutului,
-Loan Interest Accrual,Dobândirea dobânzii împrumutului,
-Amounts,sume,
-Pending Principal Amount,Suma pendintei principale,
-Payable Principal Amount,Suma principală plătibilă,
-Paid Principal Amount,Suma principală plătită,
-Paid Interest Amount,Suma dobânzii plătite,
-Process Loan Interest Accrual,Procesul de dobândă de împrumut,
-Repayment Schedule Name,Numele programului de rambursare,
-Regular Payment,Plată regulată,
-Loan Closure,Închiderea împrumutului,
-Payment Details,Detalii de plata,
-Interest Payable,Dobândi de plătit,
-Amount Paid,Sumă plătită,
-Principal Amount Paid,Suma principală plătită,
-Repayment Details,Detalii de rambursare,
-Loan Repayment Detail,Detaliu rambursare împrumut,
-Loan Security Name,Numele securității împrumutului,
-Unit Of Measure,Unitate de măsură,
-Loan Security Code,Codul de securitate al împrumutului,
-Loan Security Type,Tip de securitate împrumut,
-Haircut %,Tunsori%,
-Loan  Details,Detalii despre împrumut,
-Unpledged,Unpledged,
-Pledged,gajat,
-Partially Pledged,Parțial Gajat,
-Securities,Titluri de valoare,
-Total Security Value,Valoarea totală a securității,
-Loan Security Shortfall,Deficitul de securitate al împrumutului,
-Loan ,Împrumut,
-Shortfall Time,Timpul neajunsurilor,
-America/New_York,America / New_York,
-Shortfall Amount,Suma deficiențelor,
-Security Value ,Valoarea de securitate,
-Process Loan Security Shortfall,Deficitul de securitate a împrumutului de proces,
-Loan To Value Ratio,Raportul împrumut / valoare,
-Unpledge Time,Timp de neîncărcare,
-Loan Name,Nume de împrumut,
-Rate of Interest (%) Yearly,Rata Dobânzii (%) Anual,
-Penalty Interest Rate (%) Per Day,Rata dobânzii de penalizare (%) pe zi,
-Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,Rata dobânzii pentru penalități este percepută zilnic pe valoarea dobânzii în curs de rambursare întârziată,
-Grace Period in Days,Perioada de har în zile,
-No. of days from due date until which penalty won't be charged in case of delay in loan repayment,Numărul de zile de la data scadenței până la care nu se va percepe penalitatea în cazul întârzierii rambursării împrumutului,
-Pledge,Angajament,
-Post Haircut Amount,Postează cantitatea de tuns,
-Process Type,Tipul procesului,
-Update Time,Timpul de actualizare,
-Proposed Pledge,Gajă propusă,
-Total Payment,Plată totală,
-Balance Loan Amount,Soldul Suma creditului,
-Is Accrued,Este acumulat,
-Salary Slip Loan,Salariu Slip împrumut,
-Loan Repayment Entry,Intrarea rambursării împrumutului,
-Sanctioned Loan Amount,Suma de împrumut sancționată,
-Sanctioned Amount Limit,Limita sumei sancționate,
-Unpledge,Unpledge,
-Haircut,Tunsoare,
-MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
-Generate Schedule,Generează orar,
-Schedules,Orarele,
-Maintenance Schedule Detail,Detalii Program Mentenanta,
-Scheduled Date,Data programată,
-Actual Date,Data efectiva,
-Maintenance Schedule Item,Articol Program Mentenanță,
-Random,aleatoriu,
-No of Visits,Nu de vizite,
-MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
-Maintenance Date,Dată Mentenanță,
-Maintenance Time,Timp Mentenanta,
-Completion Status,Stare Finalizare,
-Partially Completed,Parțial finalizate,
-Fully Completed,Finalizat,
-Unscheduled,Neprogramat,
-Breakdown,Avarie,
-Purposes,Scopuri,
-Customer Feedback,Feedback Client,
-Maintenance Visit Purpose,Scop Vizită Mentenanță,
-Work Done,Activitatea desfășurată,
-Against Document No,Împotriva documentul nr,
-Against Document Detail No,Comparativ detaliilor documentului nr.,
-MFG-BLR-.YYYY.-,MFG-BLR-.YYYY.-,
-Order Type,Tip comandă,
-Blanket Order Item,Articol de comandă pentru plicuri,
-Ordered Quantity,Ordonat Cantitate,
-Item to be manufactured or repacked,Articol care urmează să fie fabricat sau reambalat,
-Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Cantitatea de produs obținut după fabricarea / reambalare de la cantități date de materii prime,
-Set rate of sub-assembly item based on BOM,Viteza setată a elementului subansamblu bazat pe BOM,
-Allow Alternative Item,Permiteți un element alternativ,
-Item UOM,Articol FDM,
-Conversion Rate,Rata de conversie,
-Rate Of Materials Based On,Rate de materiale bazate pe,
-With Operations,Cu Operațiuni,
-Manage cost of operations,Gestionează costul operațiunilor,
-Transfer Material Against,Transfer material contra,
-Routing,Rutare,
-Materials,Materiale,
-Quality Inspection Required,Inspecție de calitate necesară,
-Quality Inspection Template,Model de inspecție a calității,
-Scrap,Resturi,
-Scrap Items,resturi Articole,
-Operating Cost,Costul de operare,
-Raw Material Cost,Cost Materie Primă,
-Scrap Material Cost,Cost resturi de materiale,
-Operating Cost (Company Currency),Costul de operare (Companie Moneda),
-Raw Material Cost (Company Currency),Costul materiei prime (moneda companiei),
-Scrap Material Cost(Company Currency),Cost resturi de material (companie Moneda),
-Total Cost,Cost total,
-Total Cost (Company Currency),Cost total (moneda companiei),
-Materials Required (Exploded),Materiale necesare (explodat),
-Exploded Items,Articole explozibile,
-Show in Website,Afișați pe site,
-Item Image (if not slideshow),Imagine Articol (dacă nu exista prezentare),
-Thumbnail,Miniatură,
-Website Specifications,Site-ul Specificații,
-Show Items,Afișare articole,
-Show Operations,Afișați Operații,
-Website Description,Site-ul Descriere,
-BOM Explosion Item,Explozie articol BOM,
-Qty Consumed Per Unit,Cantitate consumata pe unitatea,
-Include Item In Manufacturing,Includeți articole în fabricație,
-BOM Item,Articol BOM,
-Item operation,Operarea elementului,
-Rate & Amount,Rata și suma,
-Basic Rate (Company Currency),Rată elementară (moneda companiei),
-Scrap %,Resturi%,
-Original Item,Articolul original,
-BOM Operation,Operațiune BOM,
-Operation Time ,Timpul de funcționare,
-In minutes,În câteva minute,
-Batch Size,Mărimea lotului,
-Base Hour Rate(Company Currency),Rata de bază ore (companie Moneda),
-Operating Cost(Company Currency),Costul de operare (Companie Moneda),
-BOM Scrap Item,BOM Resturi Postul,
-Basic Amount (Company Currency),Suma de bază (Companie Moneda),
-BOM Update Tool,Instrument Actualizare BOM,
-"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM.\nIt also updates latest price in all the BOMs.","Înlocuiți un BOM particular în toate celelalte BOM unde este utilizat. Acesta va înlocui vechiul link BOM, va actualiza costul și va regenera tabelul &quot;BOM Explosion Item&quot; ca pe noul BOM. Actualizează, de asemenea, ultimul preț în toate BOM-urile.",
-Replace BOM,Înlocuiește BOM,
-Current BOM,FDM curent,
-The BOM which will be replaced,BOM care va fi înlocuit,
-The new BOM after replacement,Noul BOM după înlocuirea,
-Replace,Înlocuiește,
-Update latest price in all BOMs,Actualizați cel mai recent preț în toate BOM-urile,
-BOM Website Item,Site-ul BOM Articol,
-BOM Website Operation,Site-ul BOM Funcționare,
-Operation Time,Funcționare Ora,
-PO-JOB.#####,PO-JOB. #####,
-Timing Detail,Detalii detaliate,
-Time Logs,Timp Busteni,
-Total Time in Mins,Timp total în mină,
-Operation ID,ID operațiune,
-Transferred Qty,Transferat Cantitate,
-Job Started,Job a început,
-Started Time,Timpul început,
-Current Time,Ora curentă,
-Job Card Item,Cartelă de posturi,
-Job Card Time Log,Jurnalul de timp al cărții de lucru,
-Time In Mins,Timpul în min,
-Completed Qty,Cantitate Finalizata,
-Manufacturing Settings,Setări de Fabricație,
-Raw Materials Consumption,Consumul de materii prime,
-Allow Multiple Material Consumption,Permiteți consumul mai multor materiale,
-Backflush Raw Materials Based On,Backflush Materii Prime bazat pe,
-Material Transferred for Manufacture,Material Transferat pentru fabricarea,
-Capacity Planning,Planificarea capacității,
-Disable Capacity Planning,Dezactivează planificarea capacității,
-Allow Overtime,Permiteți ore suplimentare,
-Allow Production on Holidays,Permiteţi operaţii de producție pe durata sărbătorilor,
-Capacity Planning For (Days),Planificarea capacitate de (zile),
-Default Warehouses for Production,Depozite implicite pentru producție,
-Default Work In Progress Warehouse,Implicit Lucrări în depozit Progress,
-Default Finished Goods Warehouse,Implicite terminat Marfuri Warehouse,
-Default Scrap Warehouse,Depozitul de resturi implicit,
-Overproduction Percentage For Sales Order,Procentaj de supraproducție pentru comandă de vânzări,
-Overproduction Percentage For Work Order,Procentul de supraproducție pentru comanda de lucru,
-Other Settings,alte setări,
-Update BOM Cost Automatically,Actualizați costul BOM automat,
-Material Request Plan Item,Material Cerere plan plan,
-Material Request Type,Material Cerere tip,
-Material Issue,Problema de material,
-Customer Provided,Client oferit,
-Minimum Order Quantity,Cantitatea minima pentru comanda,
-Default Workstation,Implicit Workstation,
-Production Plan,Plan de productie,
-MFG-PP-.YYYY.-,MFG-PP-.YYYY.-,
-Get Items From,Obține elemente din,
-Get Sales Orders,Obține comenzile de vânzări,
-Material Request Detail,Detalii privind solicitarea materialului,
-Get Material Request,Material Cerere obțineți,
-Material Requests,Cereri de materiale,
-Get Items For Work Order,Obțineți comenzi pentru lucru,
-Material Request Planning,Planificarea solicitărilor materiale,
-Include Non Stock Items,Includeți articole din stoc,
-Include Subcontracted Items,Includeți articole subcontractate,
-Ignore Existing Projected Quantity,Ignorați cantitatea proiectată existentă,
-"To know more about projected quantity, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">click here</a>.","Pentru a afla mai multe despre cantitatea proiectată, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">faceți clic aici</a> .",
-Download Required Materials,Descărcați materialele necesare,
-Get Raw Materials For Production,Obțineți materii prime pentru producție,
-Total Planned Qty,Cantitatea totală planificată,
-Total Produced Qty,Cantitate total produsă,
-Material Requested,Material solicitat,
-Production Plan Item,Planul de producție Articol,
-Make Work Order for Sub Assembly Items,Realizați comanda de lucru pentru articolele de subansamblare,
-"If enabled, system will create the work order for the exploded items against which BOM is available.","Dacă este activat, sistemul va crea ordinea de lucru pentru elementele explodate pentru care este disponibilă BOM.",
-Planned Start Date,Start data planificată,
-Quantity and Description,Cantitate și descriere,
-material_request_item,material_request_item,
-Product Bundle Item,Produs Bundle Postul,
-Production Plan Material Request,Producția Plan de material Cerere,
-Production Plan Sales Order,Planul de producție comandă de vânzări,
-Sales Order Date,Comandă de vânzări Data,
-Routing Name,Numele de rutare,
-MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
-Item To Manufacture,Articol pentru Fabricare,
-Material Transferred for Manufacturing,Materii Transferate pentru fabricarea,
-Manufactured Qty,Cantitate Produsă,
-Use Multi-Level BOM,Utilizarea Multi-Level BOM,
-Plan material for sub-assemblies,Material Plan de subansambluri,
-Skip Material Transfer to WIP Warehouse,Treceți transferul de materiale la WIP Warehouse,
-Check if material transfer entry is not required,Verificați dacă nu este necesară introducerea transferului de materiale,
-Backflush Raw Materials From Work-in-Progress Warehouse,Materii prime de tip backflush din depozitul &quot;work-in-progress&quot;,
-Update Consumed Material Cost In Project,Actualizați costurile materialelor consumate în proiect,
-Warehouses,Depozite,
-This is a location where raw materials are available.,Acesta este un loc unde materiile prime sunt disponibile.,
-Work-in-Progress Warehouse,Depozit Lucru-în-Progres,
-This is a location where operations are executed.,Aceasta este o locație în care se execută operațiuni.,
-This is a location where final product stored.,Aceasta este o locație în care este depozitat produsul final.,
-Scrap Warehouse,Depozit fier vechi,
-This is a location where scraped materials are stored.,Aceasta este o locație în care sunt depozitate materiale razuite.,
-Required Items,Articole cerute,
-Actual Start Date,Dată Efectivă de Început,
-Planned End Date,Planificate Data de încheiere,
-Actual End Date,Data efectiva de finalizare,
-Operation Cost,Funcționare cost,
-Planned Operating Cost,Planificate cost de operare,
-Actual Operating Cost,Cost efectiv de operare,
-Additional Operating Cost,Costuri de operare adiţionale,
-Total Operating Cost,Cost total de operare,
-Manufacture against Material Request,Fabricare împotriva Cerere Material,
-Work Order Item,Postul de comandă de lucru,
-Available Qty at Source Warehouse,Cantitate disponibilă la Warehouse sursă,
-Available Qty at WIP Warehouse,Cantitate disponibilă la WIP Warehouse,
-Work Order Operation,Comandă de comandă de lucru,
-Operation Description,Operație Descriere,
-Operation completed for how many finished goods?,Funcționare completat de cât de multe bunuri finite?,
-Work in Progress,Lucrări în curs,
-Estimated Time and Cost,Timpul estimat și cost,
-Planned Start Time,Planificate Ora de începere,
-Planned End Time,Planificate End Time,
-in Minutes,In cateva minute,
-Actual Time and Cost,Timp și cost efective,
-Actual Start Time,Timpul efectiv de începere,
-Actual End Time,Timp efectiv de sfârşit,
-Updated via 'Time Log',"Actualizat prin ""Ora Log""",
-Actual Operation Time,Timp efectiv de funcționare,
-in Minutes\nUpdated via 'Time Log',"în procesul-verbal \n Actualizat prin ""Ora Log""",
-(Hour Rate / 60) * Actual Operation Time,(Tarif orar / 60) * Timp efectiv de operare,
-Workstation Name,Stație de lucru Nume,
-Production Capacity,Capacitatea de producție,
-Operating Costs,Costuri de operare,
-Electricity Cost,Cost energie electrică,
-per hour,pe oră,
-Consumable Cost,Cost Consumabile,
-Rent Cost,Cost Chirie,
-Wages,Salarizare,
-Wages per hour,Salarii pe oră,
-Net Hour Rate,Net Rata de ore,
-Workstation Working Hour,Statie de lucru de ore de lucru,
-Certification Application,Cerere de certificare,
-Name of Applicant,Numele aplicantului,
-Certification Status,Stare Certificare,
-Yet to appear,"Totuși, să apară",
-Certified,Certificat,
-Not Certified,Nu este certificată,
-USD,USD,
-INR,INR,
-Certified Consultant,Consultant Certificat,
-Name of Consultant,Numele consultantului,
-Certification Validity,Valabilitatea Certificare,
-Discuss ID,Discutați ID-ul,
-GitHub ID,ID-ul GitHub,
-Non Profit Manager,Manager non-profit,
-Chapter Head,Capitolul Cap,
-Meetup Embed HTML,Meetup Embed HTML,
-chapters/chapter_name\nleave blank automatically set after saving chapter.,capitole / nume_capitale lasă setul automat să fie setat automat după salvarea capitolului.,
-Chapter Members,Capitolul Membri,
-Members,Membrii,
-Chapter Member,Membru de capitol,
-Website URL,Website URL,
-Leave Reason,Lăsați rațiunea,
-Donor Name,Numele donatorului,
-Donor Type,Tipul donatorului,
-Withdrawn,retrasă,
-Grant Application Details ,Detalii privind cererile de finanțare,
-Grant Description,Descrierea granturilor,
-Requested Amount,Suma solicitată,
-Has any past Grant Record,Are vreun dosar Grant trecut,
-Show on Website,Afișați pe site,
-Assessment  Mark (Out of 10),Marca de evaluare (din 10),
-Assessment  Manager,Manager de evaluare,
-Email Notification Sent,Trimiterea notificării prin e-mail,
-NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
-Membership Expiry Date,Data expirării membrilor,
-Razorpay Details,Detalii Razorpay,
-Subscription ID,ID-ul abonamentului,
-Customer ID,Număr de înregistrare client,
-Subscription Activated,Abonament activat,
-Subscription Start ,Începere abonament,
-Subscription End,Încheierea abonamentului,
-Non Profit Member,Membru non-profit,
-Membership Status,Statutul de membru,
-Member Since,Membru din,
-Payment ID,ID de plată,
-Membership Settings,Setări de membru,
-Enable RazorPay For Memberships,Activați RazorPay pentru calitatea de membru,
-RazorPay Settings,Setări RazorPay,
-Billing Cycle,Ciclu de facturare,
-Billing Frequency,Frecvența de facturare,
-"The number of billing cycles for which the customer should be charged. For example, if a customer is buying a 1-year membership that should be billed on a monthly basis, this value should be 12.","Numărul de cicluri de facturare pentru care ar trebui să fie taxat clientul. De exemplu, dacă un client cumpără un abonament de 1 an care ar trebui să fie facturat lunar, această valoare ar trebui să fie 12.",
-Razorpay Plan ID,ID-ul planului Razorpay,
-Volunteer Name,Nume de voluntar,
-Volunteer Type,Tipul de voluntari,
-Availability and Skills,Disponibilitate și abilități,
-Availability,Disponibilitate,
-Weekends,Weekend-uri,
-Availability Timeslot,Disponibilitatea Timeslot,
-Morning,Dimineaţă,
-Afternoon,Dupa amiaza,
-Evening,Seară,
-Anytime,Oricând,
-Volunteer Skills,Abilități de voluntariat,
-Volunteer Skill,Abilități de voluntariat,
-Homepage,Pagina Principală,
-Hero Section Based On,Secția Eroilor Bazată pe,
-Homepage Section,Secțiunea Prima pagină,
-Hero Section,Secția Eroilor,
-Tag Line,Eticheta linie,
-Company Tagline for website homepage,Firma Tagline pentru pagina de start site,
-Company Description for website homepage,Descriere companie pentru pagina de start site,
-Homepage Slideshow,Prezentare Slideshow a paginii de start,
-"URL for ""All Products""",URL-ul pentru &quot;Toate produsele&quot;,
-Products to be shown on website homepage,Produsele care urmează să fie afișate pe pagina de pornire site,
-Homepage Featured Product,Pagina de intrare de produse recomandate,
-route,traseu,
-Section Based On,Secțiune bazată pe,
-Section Cards,Cărți de secțiune,
-Number of Columns,Numar de coloane,
-Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Numărul de coloane pentru această secțiune. 3 cărți vor fi afișate pe rând dacă selectați 3 coloane.,
-Section HTML,Secțiunea HTML,
-Use this field to render any custom HTML in the section.,Utilizați acest câmp pentru a reda orice HTML personalizat în secțiune.,
-Section Order,Comanda secțiunii,
-"Order in which sections should appear. 0 is first, 1 is second and so on.","Ordinea în care ar trebui să apară secțiunile. 0 este primul, 1 este al doilea și așa mai departe.",
-Homepage Section Card,Pagina de secțiune Card de secțiune,
-Subtitle,Subtitlu,
-Products Settings,produse Setări,
-Home Page is Products,Pagina Principală este Produse,
-"If checked, the Home page will be the default Item Group for the website","Dacă este bifată, pagina de pornire va fi implicit postul Grupului pentru site-ul web",
-Show Availability Status,Afișați starea de disponibilitate,
-Product Page,Pagina produsului,
-Products per Page,Produse pe Pagină,
-Enable Field Filters,Activați filtrele de câmp,
-Item Fields,Câmpurile articolului,
-Enable Attribute Filters,Activați filtrele de atribute,
-Attributes,Atribute,
-Hide Variants,Ascundeți variantele,
-Website Attribute,Atribut site web,
-Attribute,Atribute,
-Website Filter Field,Câmpul de filtrare a site-ului web,
-Activity Cost,Cost activitate,
-Billing Rate,Tarif de facturare,
-Costing Rate,Costing Rate,
-title,titlu,
-Projects User,Utilizator Proiecte,
-Default Costing Rate,Rată Cost Implicit,
-Default Billing Rate,Tarif de Facturare Implicit,
-Dependent Task,Sarcina dependent,
-Project Type,Tip de proiect,
-% Complete Method,% Metoda completă,
-Task Completion,sarcina Finalizarea,
-Task Progress,Progresul sarcină,
-% Completed,% Finalizat,
-From Template,Din șablon,
-Project will be accessible on the website to these users,Proiectul va fi accesibil pe site-ul acestor utilizatori,
-Copied From,Copiat de la,
-Start and End Dates,Începere și de încheiere Date,
-Actual Time (in Hours),Ora reală (în ore),
-Costing and Billing,Calculație a cheltuielilor și veniturilor,
-Total Costing Amount (via Timesheets),Suma totală a costurilor (prin intermediul foilor de pontaj),
-Total Expense Claim (via Expense Claims),Revendicarea Total cheltuieli (prin formularele de decont),
-Total Purchase Cost (via Purchase Invoice),Cost total de achiziție (prin cumparare factură),
-Total Sales Amount (via Sales Order),Suma totală a vânzărilor (prin comandă de vânzări),
-Total Billable Amount (via Timesheets),Sumă totală facturată (prin intermediul foilor de pontaj),
-Total Billed Amount (via Sales Invoices),Suma facturată totală (prin facturi de vânzare),
-Total Consumed Material Cost  (via Stock Entry),Costul total al materialelor consumate (prin intrarea în stoc),
-Gross Margin,Marja Brută,
-Gross Margin %,Marja Bruta%,
-Monitor Progress,Monitorizați progresul,
-Collect Progress,Collect Progress,
-Frequency To Collect Progress,Frecventa de colectare a progresului,
-Twice Daily,De doua ori pe zi,
-First Email,Primul e-mail,
-Second Email,Al doilea e-mail,
-Time to send,Este timpul să trimiteți,
-Day to Send,Zi de Trimis,
-Message will be sent to the users to get their status on the Project,Mesajul va fi trimis utilizatorilor pentru a obține starea lor în Proiect,
-Projects Manager,Manager Proiecte,
-Project Template,Model de proiect,
-Project Template Task,Sarcina șablonului de proiect,
-Begin On (Days),Începeți (zile),
-Duration (Days),Durata (zile),
-Project Update,Actualizarea proiectului,
-Project User,utilizator proiect,
-View attachments,Vizualizați atașamentele,
-Projects Settings,Setări pentru proiecte,
-Ignore Workstation Time Overlap,Ignorați suprapunerea timpului de lucru al stației,
-Ignore User Time Overlap,Ignorați timpul suprapunerii utilizatorului,
-Ignore Employee Time Overlap,Ignorați suprapunerea timpului angajatului,
-Weight,Greutate,
-Parent Task,Activitatea părintească,
-Timeline,Cronologie,
-Expected Time (in hours),Timp de așteptat (în ore),
-% Progress,% Progres,
-Is Milestone,Este Milestone,
-Task Description,Descrierea sarcinii,
-Dependencies,dependenţe,
-Dependent Tasks,Sarcini dependente,
-Depends on Tasks,Depinde de Sarcini,
-Actual Start Date (via Time Sheet),Data Efectiva de Început (prin Pontaj),
-Actual Time (in hours),Timpul efectiv (în ore),
-Actual End Date (via Time Sheet),Dată de Încheiere Efectivă (prin Pontaj),
-Total Costing Amount (via Time Sheet),Suma totală de calculație a costurilor (prin timp Sheet),
-Total Expense Claim (via Expense Claim),Revendicarea Total cheltuieli (prin cheltuieli revendicarea),
-Total Billing Amount (via Time Sheet),Suma totală de facturare (prin timp Sheet),
-Review Date,Data Comentariului,
-Closing Date,Data de Inchidere,
-Task Depends On,Sarcina Depinde,
-Task Type,Tipul sarcinii,
-TS-.YYYY.-,TS-.YYYY.-,
-Employee Detail,Detaliu angajat,
-Billing Details,Detalii de facturare,
-Total Billable Hours,Numărul total de ore facturabile,
-Total Billed Hours,Numărul total de ore facturate,
-Total Costing Amount,Suma totală Costing,
-Total Billable Amount,Suma totală Taxabil,
-Total Billed Amount,Suma totală Billed,
-% Amount Billed,% Suma facturata,
-Hrs,ore,
-Costing Amount,Costing Suma,
-Corrective/Preventive,Corectivă / preventivă,
-Corrective,corectiv,
-Preventive,Preventiv,
-Resolution,Rezoluție,
-Resolutions,rezoluţiile,
-Quality Action Resolution,Rezolvare acțiuni de calitate,
-Quality Feedback Parameter,Parametru de feedback al calității,
-Quality Feedback Template Parameter,Parametrul șablonului de feedback al calității,
-Quality Goal,Obiectivul de calitate,
-Monitoring Frequency,Frecvența de monitorizare,
-Weekday,zi de lucru,
-Objectives,Obiective,
-Quality Goal Objective,Obiectivul calității,
-Objective,Obiectiv,
-Agenda,Agendă,
-Minutes,Minute,
-Quality Meeting Agenda,Agenda întâlnirii de calitate,
-Quality Meeting Minutes,Proces-verbal de calitate al întâlnirii,
-Minute,Minut,
-Parent Procedure,Procedura părinților,
-Processes,procese,
-Quality Procedure Process,Procesul procedurii de calitate,
-Process Description,Descrierea procesului,
-Link existing Quality Procedure.,Conectați procedura de calitate existentă.,
-Additional Information,informatii suplimentare,
-Quality Review Objective,Obiectivul revizuirii calității,
-DATEV Settings,Setări DATEV,
-Regional,Regional,
-Consultant ID,ID-ul consultantului,
-GST HSN Code,Codul GST HSN,
-HSN Code,Codul HSN,
-GST Settings,Setări GST,
-GST Summary,Rezumatul GST,
-GSTIN Email Sent On,GSTIN Email trimis pe,
-GST Accounts,Conturi GST,
-B2C Limit,Limita B2C,
-Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Setați valoarea facturii pentru B2C. B2CL și B2CS calculate pe baza acestei valori de facturare.,
-GSTR 3B Report,Raportul GSTR 3B,
-January,ianuarie,
-February,februarie,
-March,Martie,
-April,Aprilie,
-May,Mai,
-June,iunie,
-July,iulie,
-August,August,
-September,Septembrie,
-October,octombrie,
-November,noiembrie,
-December,decembrie,
-JSON Output,Ieșire JSON,
-Invoices with no Place Of Supply,Facturi fără loc de furnizare,
-Import Supplier Invoice,Import factură furnizor,
-Invoice Series,Seria facturilor,
-Upload XML Invoices,Încărcați facturile XML,
-Zip File,Fișier Zip,
-Import Invoices,Importul facturilor,
-Click on Import Invoices button once the zip file has been attached to the document. Any errors related to processing will be shown in the Error Log.,Faceți clic pe butonul Import facturi după ce fișierul zip a fost atașat la document. Orice erori legate de procesare vor fi afișate în Jurnalul de erori.,
-Lower Deduction Certificate,Certificat de deducere inferior,
-Certificate Details,Detalii certificat,
-194A,194A,
-194C,194C,
-194D,194D,
-194H,194H,
-194I,194I,
-194J,194J,
-194LA,194LA,
-194LBB,194LBB,
-194LBC,194LBC,
-Certificate No,număr de certificat,
-Deductee Details,Detalii despre deducere,
-PAN No,PAN nr,
-Validity Details,Detalii de valabilitate,
-Rate Of TDS As Per Certificate,Rata TDS conform certificatului,
-Certificate Limit,Limita certificatului,
-Invoice Series Prefix,Prefixul seriei de facturi,
-Active Menu,Meniul activ,
-Restaurant Menu,Meniu Restaurant,
-Price List (Auto created),Listă Prețuri (creată automat),
-Restaurant Manager,Manager Restaurant,
-Restaurant Menu Item,Articol Meniu Restaurant,
-Restaurant Order Entry,Intrare comandă de restaurant,
-Restaurant Table,Masă Restaurant,
-Click Enter To Add,Faceți clic pe Enter to Add,
-Last Sales Invoice,Ultima factură de vânzare,
-Current Order,Comanda actuală,
-Restaurant Order Entry Item,Articol de intrare pentru comandă pentru restaurant,
-Served,servit,
-Restaurant Reservation,Rezervare la restaurant,
-Waitlisted,waitlisted,
-No Show,Neprezentare,
-No of People,Nr de oameni,
-Reservation Time,Timp de rezervare,
-Reservation End Time,Timp de terminare a rezervării,
-No of Seats,Numărul de scaune,
-Minimum Seating,Scaunele minime,
-"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Păstra Tractor de campanii de vanzari. Țineți evidența de afaceri, Cotațiile, comandă de vânzări, etc de la Campanii pentru a evalua Return on Investment.",
-SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
-Campaign Schedules,Programele campaniei,
-Buyer of Goods and Services.,Cumpărător de produse și servicii.,
-CUST-.YYYY.-,CUST-.YYYY.-,
-Default Company Bank Account,Cont bancar al companiei implicite,
-From Lead,Din Pistă,
-Account Manager,Manager Conturi,
-Allow Sales Invoice Creation Without Sales Order,Permiteți crearea facturilor de vânzare fără comandă de vânzare,
-Allow Sales Invoice Creation Without Delivery Note,Permiteți crearea facturilor de vânzare fără notă de livrare,
-Default Price List,Lista de Prețuri Implicita,
-Primary Address and Contact Detail,Adresa principală și detaliile de contact,
-"Select, to make the customer searchable with these fields","Selectați, pentru a face ca clientul să poată fi căutat în aceste câmpuri",
-Customer Primary Contact,Contact primar client,
-"Reselect, if the chosen contact is edited after save",Resetați dacă contactul ales este editat după salvare,
-Customer Primary Address,Adresa primară a clientului,
-"Reselect, if the chosen address is edited after save",Resetați dacă adresa editată este editată după salvare,
-Primary Address,adresa primara,
-Mention if non-standard receivable account,Mentionati daca non-standard cont de primit,
-Credit Limit and Payment Terms,Limita de credit și termenii de plată,
-Additional information regarding the customer.,Informații suplimentare cu privire la client.,
-Sales Partner and Commission,Partener de vânzări și a Comisiei,
-Commission Rate,Rata de Comision,
-Sales Team Details,Detalii de vânzări Echipa,
-Customer POS id,ID POS client,
-Customer Credit Limit,Limita de creditare a clienților,
-Bypass Credit Limit Check at Sales Order,Treceți la verificarea limită de credit la Comandă de vânzări,
-Industry Type,Industrie Tip,
-MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
-Installation Date,Data de instalare,
-Installation Time,Timp de instalare,
-Installation Note Item,Instalare Notă Postul,
-Installed Qty,Instalat Cantitate,
-Lead Source,Sursa de plumb,
-Period Start Date,Data de începere a perioadei,
-Period End Date,Perioada de sfârșit a perioadei,
-Cashier,Casier,
-Difference,Diferență,
-Modes of Payment,Moduri de plată,
-Linked Invoices,Linked Factures,
-POS Closing Voucher Details,Detalii Voucher de închidere POS,
-Collected Amount,Suma colectată,
-Expected Amount,Suma așteptată,
-POS Closing Voucher Invoices,Facturi pentru voucherele de închidere de la POS,
-Quantity of Items,Cantitatea de articole,
-"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. \n\nThe package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".\n\nFor Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Product Bundle Item.\n\nNote: BOM = Bill of Materials","Grup agregat de articole ** ** în alt articol ** **. Acest lucru este util dacă gruparea de anumite elemente ** ** într-un pachet și să mențină un bilanț al ambalate ** ** Elemente și nu agregate ** Postul **. Pachetul ** Postul ** va avea &quot;Este Piesa&quot; ca &quot;No&quot; și &quot;Este punctul de vânzare&quot;, ca &quot;Da&quot;. De exemplu: dacă sunteți de vânzare Laptop-uri și Rucsacuri separat și au un preț special dacă clientul cumpără atât, atunci laptop + rucsac va fi un nou Bundle produs Postul. Notă: BOM = Bill de materiale",
-Parent Item,Părinte Articol,
-List items that form the package.,Listeaza articole care formează pachetul.,
-SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
-Quotation To,Ofertă Pentru a,
-Rate at which customer's currency is converted to company's base currency,Rata la care moneda clientului este convertită în valuta de bază a companiei,
-Rate at which Price list currency is converted to company's base currency,Rata la care lista de prețuri moneda este convertit în moneda de bază a companiei,
-Additional Discount and Coupon Code,Cod suplimentar de reducere și cupon,
-Referral Sales Partner,Partener de vânzări de recomandări,
-In Words will be visible once you save the Quotation.,În cuvinte va fi vizibil după ce salvați citat.,
-Term Details,Detalii pe termen,
-Quotation Item,Ofertă Articol,
-Against Doctype,Comparativ tipului documentului,
-Against Docname,Comparativ denumirii documentului,
-Additional Notes,Note Aditionale,
-SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
-Skip Delivery Note,Salt nota de livrare,
-In Words will be visible once you save the Sales Order.,În cuvinte va fi vizibil după ce a salva comanda de vânzări.,
-Track this Sales Order against any Project,Urmareste acest Ordin de vânzări față de orice proiect,
-Billing and Delivery Status,Facturare și stare livrare,
-Not Delivered,Nu Pronunțată,
-Fully Delivered,Livrat complet,
-Partly Delivered,Parțial livrate,
-Not Applicable,Nu se aplică,
-%  Delivered,% Livrat,
-% of materials delivered against this Sales Order,% de materiale livrate versus aceasta Comanda,
-% of materials billed against this Sales Order,% de materiale facturate versus această Comandă de Vânzări,
-Not Billed,Nu Taxat,
-Fully Billed,Complet Taxat,
-Partly Billed,Parțial Taxat,
-Ensure Delivery Based on Produced Serial No,Asigurați livrarea pe baza numărului de serie produs,
-Supplier delivers to Customer,Furnizor livrează la client,
-Delivery Warehouse,Depozit de livrare,
-Planned Quantity,Planificate Cantitate,
-For Production,Pentru Producție,
-Work Order Qty,Numărul comenzilor de lucru,
-Produced Quantity,Produs Cantitate,
-Used for Production Plan,Folosit pentru Planul de producție,
-Sales Partner Type,Tip de partener de vânzări,
-Contact No.,Nr. Persoana de Contact,
-Contribution (%),Contribuție (%),
-Contribution to Net Total,Contribuție la Total Net,
-Selling Settings,Setări Vânzare,
-Settings for Selling Module,Setări pentru vânzare Modulul,
-Customer Naming By,Numire Client de catre,
-Campaign Naming By,Campanie denumita de,
-Default Customer Group,Grup Clienți Implicit,
-Default Territory,Teritoriu Implicit,
-Close Opportunity After Days,Închide oportunitate După zile,
-Default Quotation Validity Days,Valabilitatea zilnică a cotațiilor,
-Sales Update Frequency,Frecventa actualizarii vanzarilor,
-Each Transaction,Fiecare tranzacție,
-SMS Center,SMS Center,
-Send To,Trimite la,
-All Contact,Toate contactele,
-All Customer Contact,Toate contactele clienților,
-All Supplier Contact,Toate contactele furnizorului,
-All Sales Partner Contact,Toate contactele partenerului de vânzări,
-All Lead (Open),Toate Pistele (Deschise),
-All Employee (Active),Toți angajații (activi),
-All Sales Person,Toate persoanele de vânzăril,
-Create Receiver List,Creare Lista Recipienti,
-Receiver List,Receptor Lista,
-Messages greater than 160 characters will be split into multiple messages,Mesaje mai mari de 160 de caractere vor fi împărțite în mai multe mesaje,
-Total Characters,Total de caractere,
-Total Message(s),Total mesaj(e),
-Authorization Control,Control de autorizare,
-Authorization Rule,Regulă de autorizare,
-Average Discount,Discount mediiu,
-Customerwise Discount,Reducere Client,
-Itemwise Discount,Reducere Articol-Avizat,
-Customer or Item,Client sau un element,
-Customer / Item Name,Client / Denumire articol,
-Authorized Value,Valoarea autorizată,
-Applicable To (Role),Aplicabil pentru (rol),
-Applicable To (Employee),Aplicabil pentru (angajat),
-Applicable To (User),Aplicabil pentru (utilizator),
-Applicable To (Designation),Aplicabil pentru (destinaţie),
-Approving Role (above authorized value),Aprobarea Rol (mai mare decât valoarea autorizată),
-Approving User  (above authorized value),Aprobarea utilizator (mai mare decât valoarea autorizată),
-Brand Defaults,Valorile implicite ale mărcii,
-Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Entitate Juridică / Filială cu o Diagramă de Conturi separată aparținând Organizației.,
-Change Abbreviation,Schimbă Abreviere,
-Parent Company,Compania mamă,
-Default Values,Valori implicite,
-Default Holiday List,Implicit Listă de vacanță,
-Default Selling Terms,Condiții de vânzare implicite,
-Default Buying Terms,Condiții de cumpărare implicite,
-Create Chart Of Accounts Based On,"Creează Diagramă de Conturi, Bazată pe",
-Standard Template,Format standard,
-Existing Company,Companie existentă,
-Chart Of Accounts Template,Diagramă de Șablon Conturi,
-Existing Company ,companie existentă,
-Date of Establishment,Data Înființării,
-Sales Settings,Setări de vânzări,
-Monthly Sales Target,Vânzări lunare,
-Sales Monthly History,Istoric Lunar de Vânzări,
-Transactions Annual History,Istoricul tranzacțiilor anuale,
-Total Monthly Sales,Vânzări totale lunare,
-Default Cash Account,Cont de Numerar Implicit,
-Default Receivable Account,Implicit cont de încasat,
-Round Off Cost Center,Rotunji cost Center,
-Discount Allowed Account,Cont permis de reducere,
-Discount Received Account,Reducerea contului primit,
-Exchange Gain / Loss Account,Cont Cheltuiala / Venit din diferente de curs valutar,
-Unrealized Exchange Gain/Loss Account,Contul de câștig / pierdere din contul nerealizat,
-Allow Account Creation Against Child Company,Permite crearea de cont împotriva companiei pentru copii,
-Default Payable Account,Implicit cont furnizori,
-Default Employee Advance Account,Implicit Cont Advance Advance Employee,
-Default Cost of Goods Sold Account,Cont Implicit Cost Bunuri Vândute,
-Default Income Account,Contul Venituri Implicit,
-Default Deferred Revenue Account,Implicit Contul cu venituri amânate,
-Default Deferred Expense Account,Implicit contul amânat de cheltuieli,
-Default Payroll Payable Account,Implicit Salarizare cont de plati,
-Default Expense Claim Payable Account,Cont Predefinit Solicitare Cheltuială Achitată,
-Stock Settings,Setări stoc,
-Enable Perpetual Inventory,Activați inventarul perpetuu,
-Default Inventory Account,Contul de inventar implicit,
-Stock Adjustment Account,Cont Ajustarea stoc,
-Fixed Asset Depreciation Settings,Setări de amortizare fixă Activ,
-Series for Asset Depreciation Entry (Journal Entry),Seria pentru intrarea în amortizarea activelor (intrare în jurnal),
-Gain/Loss Account on Asset Disposal,Cont câștig / Pierdere de eliminare a activelor,
-Asset Depreciation Cost Center,Centru de cost Amortizare Activ,
-Budget Detail,Detaliu buget,
-Exception Budget Approver Role,Rolul de abordare a bugetului de excepție,
-Company Info,Informaţii Companie,
-For reference only.,Numai Pentru referință.,
-Company Logo,Logoul companiei,
-Date of Incorporation,Data Încorporării,
-Date of Commencement,Data începerii,
-Phone No,Nu telefon,
-Company Description,Descrierea Companiei,
-Registration Details,Detalii de Înregistrare,
-Company registration numbers for your reference. Tax numbers etc.,Numerele de înregistrare companie pentru referință. Numerele fiscale etc,
-Delete Company Transactions,Ștergeți Tranzacții de Firma,
-Currency Exchange,Curs Valutar,
-Specify Exchange Rate to convert one currency into another,Precizați Rata de schimb a converti o monedă în alta,
-From Currency,Din moneda,
-To Currency,Pentru a valutar,
-For Buying,Pentru cumparare,
-For Selling,Pentru vânzări,
-Customer Group Name,Nume Group Client,
-Parent Customer Group,Părinte Grup Clienți,
-Only leaf nodes are allowed in transaction,Numai noduri frunze sunt permise în tranzacție,
-Mention if non-standard receivable account applicable,Menționa dacă non-standard de cont primit aplicabil,
-Credit Limits,Limitele de credit,
-Email Digest,Email Digest,
-Send regular summary reports via Email.,Trimite rapoarte de sinteză periodice prin e-mail.,
-Email Digest Settings,Setari Email Digest,
-How frequently?,Cât de frecvent?,
-Next email will be sent on:,Următorul email va fi trimis la:,
-Note: Email will not be sent to disabled users,Notă: Adresa de email nu va fi trimis la utilizatorii cu handicap,
-Profit & Loss,Pierderea profitului,
-New Income,noul venit,
-New Expenses,Cheltuieli noi,
-Annual Income,Venit anual,
-Annual Expenses,Cheltuielile anuale,
-Bank Balance,Banca Balance,
-Bank Credit Balance,Soldul creditului bancar,
-Receivables,Creanțe,
-Payables,Datorii,
-Sales Orders to Bill,Comenzi de vânzare către Bill,
-Purchase Orders to Bill,Achiziționați comenzi către Bill,
-New Sales Orders,Noi comenzi de vânzări,
-New Purchase Orders,Noi comenzi de aprovizionare,
-Sales Orders to Deliver,Comenzi de livrare pentru livrare,
-Purchase Orders to Receive,Comenzi de cumpărare pentru a primi,
-New Purchase Invoice,Factură de achiziție nouă,
-New Quotations,Noi Oferte,
-Open Quotations,Oferte deschise,
-Open Issues,Probleme deschise,
-Open Projects,Proiecte deschise,
-Purchase Orders Items Overdue,Elementele comenzilor de cumpărare sunt restante,
-Upcoming Calendar Events,Evenimente calendaristice viitoare,
-Open To Do,Deschis de făcut,
-Add Quote,Adaugă Citat,
-Global Defaults,Valori Implicite Globale,
-Default Company,Companie Implicită,
-Current Fiscal Year,An Fiscal Curent,
-Default Distance Unit,Unitatea de distanță standard,
-Hide Currency Symbol,Ascunde simbol moneda,
-Do not show any symbol like $ etc next to currencies.,Nu afisa nici un simbol de genul $ etc alături de valute.,
-"If disable, 'Rounded Total' field will not be visible in any transaction","Dacă este dezactivat, câmpul 'Total Rotunjit' nu va fi vizibil in nici o tranzacție",
-Disable In Words,Nu fi de acord în cuvinte,
-"If disable, 'In Words' field will not be visible in any transaction","În cazul în care dezactivați, &quot;în cuvinte&quot; câmp nu vor fi vizibile în orice tranzacție",
-Item Classification,Postul Clasificare,
-General Settings,Setări generale,
-Item Group Name,Denumire Grup Articol,
-Parent Item Group,Părinte Grupa de articole,
-Item Group Defaults,Setări implicite pentru grupul de articole,
-Item Tax,Taxa Articol,
-Check this if you want to show in website,Bifati dacă doriți să fie afisat în site,
-Show this slideshow at the top of the page,Arată această prezentare în partea de sus a paginii,
-HTML / Banner that will show on the top of product list.,"HTML / Banner, care va arăta pe partea de sus a listei de produse.",
-Set prefix for numbering series on your transactions,Set prefix pentru seria de numerotare pe tranzacțiile dvs.,
-Setup Series,Seria de configurare,
-Select Transaction,Selectați Transaction,
-Help HTML,Ajutor HTML,
-Series List for this Transaction,Lista de serie pentru această tranzacție,
-User must always select,Utilizatorul trebuie să selecteze întotdeauna,
-Check this if you want to force the user to select a series before saving. There will be no default if you check this.,"Bifati dacă doriți sa fortati utilizatorul să selecteze o serie înainte de a salva. Nu va exista nici o valoare implicita dacă se bifeaza aici.""",
-Update Series,Actualizare Series,
-Change the starting / current sequence number of an existing series.,Schimbați secventa de numar de inceput / curent a unei serii existente.,
-Prefix,Prefix,
-Current Value,Valoare curenta,
-This is the number of the last created transaction with this prefix,Acesta este numărul ultimei tranzacții create cu acest prefix,
-Update Series Number,Actualizare Serii Număr,
-Quotation Lost Reason,Ofertă pierdut rațiunea,
-A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Un distribuitor terță parte / dealer / agent comisionar / afiliat / re-vânzător care vinde produsele companiei pentru un comision.,
-Sales Partner Name,Numele Partner Sales,
-Partner Type,Tip partener,
-Address & Contacts,Adresă şi contacte,
-Address Desc,Adresă Desc,
-Contact Desc,Persoana de Contact Desc,
-Sales Partner Target,Vânzări Partner țintă,
-Targets,Obiective,
-Show In Website,Arata pe site-ul,
-Referral Code,Codul de recomandare,
-To Track inbound purchase,Pentru a urmări achiziția de intrare,
-Logo,Logo,
-Partner website,site-ul partenerului,
-All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Toate tranzacțiile de vânzări pot fi etichetate comparativ mai multor **Persoane de vânzări** pentru ca dvs. sa puteţi configura și monitoriza obiective.,
-Name and Employee ID,Nume și ID angajat,
-Sales Person Name,Sales Person Nume,
-Parent Sales Person,Mamă Sales Person,
-Select company name first.,Selectați numele companiei în primul rând.,
-Sales Person Targets,Ținte Persoane Vânzări,
-Set targets Item Group-wise for this Sales Person.,Stabilească obiective Articol Grupa-înțelept pentru această persoană de vânzări.,
-Supplier Group Name,Numele grupului de furnizori,
-Parent Supplier Group,Grupul furnizorilor-mamă,
-Target Detail,Țintă Detaliu,
-Target Qty,Țintă Cantitate,
-Target  Amount,Suma țintă,
-Target Distribution,Țintă Distribuție,
-"Standard Terms and Conditions that can be added to Sales and Purchases.\n\nExamples:\n\n1. Validity of the offer.\n1. Payment Terms (In Advance, On Credit, part advance etc).\n1. What is extra (or payable by the Customer).\n1. Safety / usage warning.\n1. Warranty if any.\n1. Returns Policy.\n1. Terms of shipping, if applicable.\n1. Ways of addressing disputes, indemnity, liability, etc.\n1. Address and Contact of your Company.","Termeni și Condiții care pot fi adăugate la vânzările și achizițiile standard.\n\n Exemple: \n\n 1. Perioada de valabilitate a ofertei.\n 1. Conditii de plata (in avans, pe credit, parte în avans etc.).\n 1. Ce este în plus (sau de plătit de către Client).\n 1. Siguranța / avertizare utilizare.\n 1. Garantie dacă este cazul.\n 1. Politica de Returnare.\n 1. Condiții de transport maritim, dacă este cazul.\n 1. Modalitati de litigii de adresare, indemnizație, răspunderea, etc. \n 1. Adresa și de contact ale companiei.",
-Applicable Modules,Module aplicabile,
-Terms and Conditions Help,Termeni și Condiții Ajutor,
-Classification of Customers by region,Clasificarea clienți în funcție de regiune,
-Territory Name,Teritoriului Denumire,
-Parent Territory,Teritoriul părinte,
-Territory Manager,Teritoriu Director,
-For reference,Pentru referință,
-Territory Targets,Obiective Territory,
-Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,"Set bugetelor Grupa înțelept Articol de pe acest teritoriu. Puteți include, de asemenea, sezonier prin setarea distribuție.",
-UOM Name,Numele UOM,
-Check this to disallow fractions. (for Nos),Bifati pentru a nu permite fracțiuni. (Pentru Nos),
-Website Item Group,Site-ul Grupa de articole,
-Cross Listing of Item in multiple groups,Crucea Listarea de punctul în mai multe grupuri,
-Default settings for Shopping Cart,Setările implicite pentru Cosul de cumparaturi,
-Enable Shopping Cart,Activați cosul de cumparaturi,
-Display Settings,Display Settings,
-Show Public Attachments,Afișați atașamentele publice,
-Show Price,Afișați prețul,
-Show Stock Availability,Afișați disponibilitatea stocului,
-Show Contact Us Button,Afișați butonul de contactare,
-Show Stock Quantity,Afișați cantitatea stocului,
-Show Apply Coupon Code,Afișați Aplicați codul de cupon,
-Allow items not in stock to be added to cart,Permiteți adăugarea în coș a articolelor care nu sunt în stoc,
-Prices will not be shown if Price List is not set,Prețurile nu vor fi afișate în cazul în care Prețul de listă nu este setat,
-Quotation Series,Ofertă Series,
-Checkout Settings,setările checkout pentru,
-Enable Checkout,activaţi Checkout,
-Payment Success Url,Plată de succes URL,
-After payment completion redirect user to selected page.,După finalizarea plății redirecționați utilizatorul la pagina selectată.,
-Batch Details,Detalii lot,
-Batch ID,ID-ul lotului,
-image,imagine,
-Parent Batch,Lotul părinte,
-Manufacturing Date,Data Fabricației,
-Batch Quantity,Cantitatea lotului,
-Batch UOM,Lot UOM,
-Source Document Type,Tipul documentului sursă,
-Source Document Name,Numele sursei de document,
-Batch Description,Descriere lot,
-Bin,Coş,
-Reserved Quantity,Cantitate rezervata,
-Actual Quantity,Cantitate Efectivă,
-Requested Quantity,Cantitate Solicitată,
-Reserved Qty for sub contract,Cantitate rezervată pentru subcontract,
-Moving Average Rate,Rata medie mobilă,
-FCFS Rate,Rata FCFS,
-Customs Tariff Number,Tariful vamal Număr,
-Tariff Number,Tarif Număr,
-Delivery To,De Livrare la,
-MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
-Is Return,Este de returnare,
-Issue Credit Note,Eliberați nota de credit,
-Return Against Delivery Note,Reveni Împotriva livrare Nota,
-Customer's Purchase Order No,Nr. Comanda de Aprovizionare Client,
-Billing Address Name,Numele din adresa de facturare,
-Required only for sample item.,Necesar numai pentru articolul de probă.,
-"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Dacă ați creat un model standard la taxele de vânzare și taxe Format, selectați una și faceți clic pe butonul de mai jos.",
-In Words will be visible once you save the Delivery Note.,În cuvinte va fi vizibil după ce a salva de livrare Nota.,
-In Words (Export) will be visible once you save the Delivery Note.,În cuvinte (de export) va fi vizibil după ce a salva de livrare Nota.,
-Transporter Info,Info Transporter,
-Driver Name,Numele șoferului,
-Track this Delivery Note against any Project,Urmareste acest Livrare Note împotriva oricărui proiect,
-Inter Company Reference,Referință între companii,
-Print Without Amount,Imprima Fără Suma,
-% Installed,% Instalat,
-% of materials delivered against this Delivery Note,% de materiale livrate versus acest Aviz de Expeditie,
-Installation Status,Starea de instalare,
-Excise Page Number,Numărul paginii accize,
-Instructions,Instrucţiuni,
-From Warehouse,Din Depozit,
-Against Sales Order,Contra comenzii de vânzări,
-Against Sales Order Item,Contra articolului comenzii de vânzări,
-Against Sales Invoice,Comparativ facturii de vânzări,
-Against Sales Invoice Item,Comparativ articolului facturii de vânzări,
-Available Batch Qty at From Warehouse,Disponibil lot Cantitate puțin din Warehouse,
-Available Qty at From Warehouse,Cantitate Disponibil la Depozitul,
-Delivery Settings,Setări de livrare,
-Dispatch Settings,Dispecerat Setări,
-Dispatch Notification Template,Șablonul de notificare pentru expediere,
-Dispatch Notification Attachment,Expedierea notificării atașament,
-Leave blank to use the standard Delivery Note format,Lăsați necompletat pentru a utiliza formatul standard de livrare,
-Send with Attachment,Trimiteți cu atașament,
-Delay between Delivery Stops,Întârziere între opririle de livrare,
-Delivery Stop,Livrare Stop,
-Lock,Lacăt,
-Visited,Vizitat,
-Order Information,Informații despre comandă,
-Contact Information,Informatii de contact,
-Email sent to,Email trimis catre,
-Dispatch Information,Informații despre expediere,
-Estimated Arrival,Sosirea estimată,
-MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
-Initial Email Notification Sent,Notificarea inițială de e-mail trimisă,
-Delivery Details,Detalii Livrare,
-Driver Email,E-mail șofer,
-Driver Address,Adresa șoferului,
-Total Estimated Distance,Distanța totală estimată,
-Distance UOM,Distanță UOM,
-Departure Time,Timp de plecare,
-Delivery Stops,Livrarea se oprește,
-Calculate Estimated Arrival Times,Calculează Timp de Sosire Estimat,
-Use Google Maps Direction API to calculate estimated arrival times,Utilizați Google Maps Direction API pentru a calcula orele de sosire estimate,
-Optimize Route,Optimizați ruta,
-Use Google Maps Direction API to optimize route,Utilizați Google Maps Direction API pentru a optimiza ruta,
-In Transit,În trecere,
-Fulfillment User,Utilizator de încredere,
-"A Product or a Service that is bought, sold or kept in stock.","Un produs sau un serviciu care este cumpărat, vândut sau păstrat în stoc.",
-STO-ITEM-.YYYY.-,STO-ELEMENT-.YYYY.-,
-Variant Of,Varianta de,
-"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Dacă elementul este o variantă de un alt element atunci descriere, imagine, de stabilire a prețurilor, impozite etc vor fi stabilite de șablon dacă nu se specifică în mod explicit",
-Is Item from Hub,Este element din Hub,
-Default Unit of Measure,Unitatea de Măsură Implicita,
-Maintain Stock,Articol Stocabil,
-Standard Selling Rate,Standard de vânzare Rata,
-Auto Create Assets on Purchase,Creați active automate la achiziție,
-Asset Naming Series,Serie de denumire a activelor,
-Over Delivery/Receipt Allowance (%),Indemnizație de livrare / primire (%),
-Barcodes,Coduri de bare,
-Shelf Life In Days,Perioada de valabilitate în zile,
-End of Life,Sfârsitul vieții,
-Default Material Request Type,Implicit Material Tip de solicitare,
-Valuation Method,Metoda de evaluare,
-FIFO,FIFO,
-Moving Average,Mutarea medie,
-Warranty Period (in days),Perioada de garanție (în zile),
-Auto re-order,Re-comandă automată,
-Reorder level based on Warehouse,Nivel pentru re-comanda bazat pe Magazie,
-Will also apply for variants unless overrridden,Se va aplica și pentru variantele cu excepția cazului în overrridden,
-Units of Measure,Unitati de masura,
-Will also apply for variants,"Va aplică, de asemenea pentru variante",
-Serial Nos and Batches,Numere și loturi seriale,
-Has Batch No,Are nr. de Lot,
-Automatically Create New Batch,Creare automată Lot nou,
-Batch Number Series,Seria numerelor serii,
-"Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings.","Exemplu: ABCD. #####. Dacă seria este setată și numărul lotului nu este menționat în tranzacții, atunci numărul lotului automat va fi creat pe baza acestei serii. Dacă doriți întotdeauna să menționați în mod explicit numărul lotului pentru acest articol, lăsați acest lucru necompletat. Notă: această setare va avea prioritate față de Prefixul Seriei de Nomenclatoare din Setările de stoc.",
-Has Expiry Date,Are data de expirare,
-Retain Sample,Păstrați eșantionul,
-Max Sample Quantity,Cantitate maximă de probă,
-Maximum sample quantity that can be retained,Cantitatea maximă de mostră care poate fi reținută,
-Has Serial No,Are nr. de serie,
-Serial Number Series,Serial Number Series,
-"Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Exemplu:. ABCD ##### \n Dacă seria este setat și nu de serie nu este menționat în tranzacții, numărul de atunci automat de serie va fi creat pe baza acestei serii. Dacă întotdeauna doriți să se menționeze explicit Serial nr de acest articol. părăsi acest gol.",
-Variants,Variante,
-Has Variants,Are variante,
-"If this item has variants, then it cannot be selected in sales orders etc.","Dacă acest element are variante, atunci nu poate fi selectat în comenzile de vânzări, etc.",
-Variant Based On,Varianta Bazat pe,
-Item Attribute,Postul Atribut,
-"Sales, Purchase, Accounting Defaults","Vânzări, Cumpărare, Definiții de contabilitate",
-Item Defaults,Elemente prestabilite,
-"Purchase, Replenishment Details","Detalii de achiziție, reconstituire",
-Is Purchase Item,Este de cumparare Articol,
-Default Purchase Unit of Measure,Unitatea de măsură prestabilită a măsurii,
-Minimum Order Qty,Comanda minima Cantitate,
-Minimum quantity should be as per Stock UOM,Cantitatea minimă ar trebui să fie conform UOM-ului de stoc,
-Average time taken by the supplier to deliver,Timpul mediu luate de către furnizor de a livra,
-Is Customer Provided Item,Este articol furnizat de client,
-Delivered by Supplier (Drop Ship),Livrate de Furnizor (Drop navelor),
-Supplier Items,Furnizor Articole,
-Foreign Trade Details,Detalii Comerț Exterior,
-Country of Origin,Tara de origine,
-Sales Details,Detalii Vânzări,
-Default Sales Unit of Measure,Unitatea de vânzare standard de măsură,
-Is Sales Item,Este produs de vânzări,
-Max Discount (%),Max Discount (%),
-No of Months,Numărul de luni,
-Customer Items,Articole clientului,
-Inspection Criteria,Criteriile de inspecție,
-Inspection Required before Purchase,Necesar de inspecție înainte de achiziționare,
-Inspection Required before Delivery,Necesar de inspecție înainte de livrare,
-Default BOM,FDM Implicit,
-Supply Raw Materials for Purchase,Materii prime de alimentare pentru cumparare,
-If subcontracted to a vendor,Dacă subcontractat la un furnizor,
-Customer Code,Cod client,
-Default Item Manufacturer,Producător de articole implicit,
-Default Manufacturer Part No,Cod producător implicit,
-Show in Website (Variant),Afișați în site-ul (Variant),
-Items with higher weightage will be shown higher,Articole cu weightage mare va fi afișat mai mare,
-Show a slideshow at the top of the page,Arata un slideshow din partea de sus a paginii,
-Website Image,Imagine Web,
-Website Warehouse,Website Depozit,
-"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Arata ""Pe stoc"" sau ""nu este pe stoc"", bazat pe stoc disponibil în acest depozit.",
-Website Item Groups,Site-ul Articol Grupuri,
-List this Item in multiple groups on the website.,Listeaza acest articol in grupuri multiple de pe site-ul.\,
-Copy From Item Group,Copiere din Grupul de Articole,
-Website Content,Conținutul site-ului web,
-You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Puteți utiliza orice marcaj Bootstrap 4 valabil în acest câmp. Acesta va fi afișat pe pagina dvs. de articole.,
-Total Projected Qty,Cantitate totală prevăzută,
-Hub Publishing Details,Detalii privind publicarea Hubului,
-Publish in Hub,Publica in Hub,
-Publish Item to hub.erpnext.com,Publica Postul de hub.erpnext.com,
-Hub Category to Publish,Categorie Hub pentru publicare,
-Hub Warehouse,Hub Depozit,
-"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.","Publicați &quot;În stoc&quot; sau &quot;Nu este în stoc&quot; pe Hub, pe baza stocurilor disponibile în acest depozit.",
-Synced With Hub,Sincronizat cu Hub,
-Item Alternative,Alternativă la element,
-Alternative Item Code,Codul elementului alternativ,
-Two-way,Două căi,
-Alternative Item Name,Numele elementului alternativ,
-Attribute Name,Denumire atribut,
-Numeric Values,Valori numerice,
-From Range,Din gama,
-Increment,Creștere,
-To Range,La gama,
-Item Attribute Values,Valori Postul Atribut,
-Item Attribute Value,Postul caracteristicii Valoarea,
-Attribute Value,Valoare Atribut,
-Abbreviation,Abreviere,
-"This will be appended to the Item Code of the variant. For example, if your abbreviation is ""SM"", and the item code is ""T-SHIRT"", the item code of the variant will be ""T-SHIRT-SM""","Acest lucru va fi adăugat la Codul punctul de varianta. De exemplu, în cazul în care abrevierea este ""SM"", iar codul produs face ""T-SHIRT"", codul punctul de varianta va fi ""T-SHIRT-SM""",
-Item Barcode,Element de coduri de bare,
-Barcode Type,Tip de cod de bare,
-EAN,EAN,
-UPC-A,UPC-A,
-Item Customer Detail,Detaliu Articol Client,
-"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Pentru comoditatea clienților, aceste coduri pot fi utilizate în formate de imprimare cum ar fi Facturi și Note de Livrare",
-Ref Code,Cod de Ref,
-Item Default,Element Implicit,
-Purchase Defaults,Valori implicite pentru achiziții,
-Default Buying Cost Center,Centru de Cost Cumparare Implicit,
-Default Supplier,Furnizor Implicit,
-Default Expense Account,Cont de Cheltuieli Implicit,
-Sales Defaults,Setări prestabilite pentru vânzări,
-Default Selling Cost Center,Centru de Cost Vanzare Implicit,
-Item Manufacturer,Postul Producator,
-Item Price,Preț Articol,
-Packing Unit,Unitate de ambalare,
-Quantity  that must be bought or sold per UOM,Cantitatea care trebuie cumpărată sau vândută pe UOM,
-Item Quality Inspection Parameter,Parametru Inspecție de Calitate Articol,
-Acceptance Criteria,Criteriile de receptie,
-Item Reorder,Reordonare Articol,
-Check in (group),Check-in (grup),
-Request for,Cerere pentru,
-Re-order Level,Nivelul de re-comandă,
-Re-order Qty,Re-comanda Cantitate,
-Item Supplier,Furnizor Articol,
-Item Variant,Postul Varianta,
-Item Variant Attribute,Varianta element Atribut,
-Do not update variants on save,Nu actualizați variantele de salvare,
-Fields will be copied over only at time of creation.,Câmpurile vor fi copiate numai în momentul creării.,
-Allow Rename Attribute Value,Permiteți redenumirea valorii atributului,
-Rename Attribute Value in Item Attribute.,Redenumiți valoarea atributului în atributul de element.,
-Copy Fields to Variant,Copiați câmpurile în varianta,
-Item Website Specification,Specificație Site Articol,
-Table for Item that will be shown in Web Site,Tabelul pentru postul care va fi afișat în site-ul,
-Landed Cost Item,Cost Final Articol,
-Receipt Document Type,Primire Tip de document,
-Receipt Document,Documentul de primire,
-Applicable Charges,Taxe aplicabile,
-Purchase Receipt Item,Primirea de cumpărare Postul,
-Landed Cost Purchase Receipt,Chitanta de Cumparare aferent Costului Final,
-Landed Cost Taxes and Charges,Impozite cost debarcate și Taxe,
-Landed Cost Voucher,Voucher Cost Landed,
-MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
-Purchase Receipts,Încasări de cumparare,
-Purchase Receipt Items,Primirea de cumpărare Articole,
-Get Items From Purchase Receipts,Obține elemente din achiziție Încasări,
-Distribute Charges Based On,Împărțiți taxelor pe baza,
-Landed Cost Help,Costul Ajutor Landed,
-Manufacturers used in Items,Producători utilizați în Articole,
-Limited to 12 characters,Limitată la 12 de caractere,
-MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
-Partially Ordered,Parțial comandat,
-Transferred,transferat,
-% Ordered,% Comandat,
-Terms and Conditions Content,Termeni și condiții de conținut,
-Quantity and Warehouse,Cantitatea și Warehouse,
-Lead Time Date,Data Timp Conducere,
-Min Order Qty,Min Ordine Cantitate,
-Packed Item,Articol ambalate,
-To Warehouse (Optional),La Depozit (opțional),
-Actual Batch Quantity,Cantitatea actuală de lot,
-Prevdoc DocType,Prevdoc Doctype,
-Parent Detail docname,Părinte Detaliu docname,
-"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Generarea de ambalare slip pentru pachetele de a fi livrate. Folosit pentru a notifica numărul pachet, conținutul pachetului și greutatea sa.",
-Indicates that the package is a part of this delivery (Only Draft),Indică faptul că pachetul este o parte din această livrare (Proiect de numai),
-MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
-From Package No.,Din Pachetul Nr.,
-Identification of the package for the delivery (for print),Identificarea pachetului pentru livrare (pentru imprimare),
-To Package No.,La pachetul Nr,
-If more than one package of the same type (for print),În cazul în care mai mult de un pachet de același tip (pentru imprimare),
-Package Weight Details,Pachetul Greutate Detalii,
-The net weight of this package. (calculated automatically as sum of net weight of items),Greutatea netă a acestui pachet. (Calculat automat ca suma de greutate netă de produs),
-Net Weight UOM,Greutate neta UOM,
-Gross Weight,Greutate brută,
-The gross weight of the package. Usually net weight + packaging material weight. (for print),"Greutatea brută a pachetului. Greutate + ambalare, de obicei, greutate netă de material. (Pentru imprimare)",
-Gross Weight UOM,Greutate Brută UOM,
-Packing Slip Item,Bonul Articol,
-DN Detail,Detaliu DN,
-STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
-Material Transfer for Manufacture,Transfer de materii pentru fabricarea,
-Qty of raw materials will be decided based on the qty of the Finished Goods Item,Cantitatea de materii prime va fi decisă pe baza cantității articolului de produse finite,
-Parent Warehouse,Depozit Părinte,
-Items under this warehouse will be suggested,Articolele din acest depozit vor fi sugerate,
-Get Item Locations,Obțineți locații de articole,
-Item Locations,Locații articol,
-Pick List Item,Alegeți articolul din listă,
-Picked Qty,Cules Qty,
-Price List Master,Lista de preturi Masterat,
-Price List Name,Lista de prețuri Nume,
-Price Not UOM Dependent,Pretul nu este dependent de UOM,
-Applicable for Countries,Aplicabile pentru țările,
-Price List Country,Lista de preturi Țară,
-MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
-Supplier Delivery Note,Nota de livrare a furnizorului,
-Time at which materials were received,Timp în care s-au primit materiale,
-Return Against Purchase Receipt,Reveni cu confirmare de primire cumparare,
-Rate at which supplier's currency is converted to company's base currency,Rata la care moneda furnizorului este convertit în moneda de bază a companiei,
-Sets 'Accepted Warehouse' in each row of the items table.,Setează „Depozit acceptat” în fiecare rând al tabelului cu articole.,
-Sets 'Rejected Warehouse' in each row of the items table.,Setează „Depozit respins” în fiecare rând al tabelului cu articole.,
-Raw Materials Consumed,Materii prime consumate,
-Get Current Stock,Obține stocul curent,
-Consumed Items,Articole consumate,
-Add / Edit Taxes and Charges,Adaugaţi / editaţi taxe și cheltuieli,
-Auto Repeat Detail,Repeatarea detaliilor automate,
-Transporter Details,Detalii Transporter,
-Vehicle Number,Numărul de vehicule,
-Vehicle Date,Vehicul Data,
-Received and Accepted,Primit și Acceptat,
-Accepted Quantity,Cantitatea Acceptata,
-Rejected Quantity,Cantitate Respinsă,
-Accepted Qty as per Stock UOM,Cantitate acceptată conform stocului UOM,
-Sample Quantity,Cantitate de probă,
-Rate and Amount,Rata și volumul,
-MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
-Report Date,Data raportului,
-Inspection Type,Inspecție Tip,
-Item Serial No,Nr. de Serie Articol,
-Sample Size,Eșantionul de dimensiune,
-Inspected By,Inspectat de,
-Readings,Lecturi,
-Quality Inspection Reading,Inspecție de calitate Reading,
-Reading 1,Lectura 1,
-Reading 2,Lectura 2,
-Reading 3,Lectura 3,
-Reading 4,Lectura 4,
-Reading 5,Lectura 5,
-Reading 6,Lectura 6,
-Reading 7,Lectură 7,
-Reading 8,Lectură 8,
-Reading 9,Lectură 9,
-Reading 10,Lectura 10,
-Quality Inspection Template Name,Numele de șablon de inspecție a calității,
-Quick Stock Balance,Soldul rapid al stocurilor,
-Available Quantity,Cantitate Disponibilă,
-Distinct unit of an Item,Unitate distinctă de Postul,
-Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Depozit poate fi modificat numai prin Bursa de primire de intrare / livrare Nota / cumparare,
-Purchase / Manufacture Details,Detalii de cumpărare / Fabricarea,
-Creation Document Type,Tip de document creație,
-Creation Document No,Creare Document Nr.,
-Creation Date,Data creării,
-Creation Time,Timp de creare,
-Asset Details,Detalii privind activul,
-Asset Status,Starea activelor,
-Delivery Document Type,Tipul documentului de Livrare,
-Delivery Document No,Nr. de document de Livrare,
-Delivery Time,Timp de Livrare,
-Invoice Details,Detaliile facturii,
-Warranty / AMC Details,Garanție / AMC Detalii,
-Warranty Expiry Date,Garanție Data expirării,
-AMC Expiry Date,Dată expirare AMC,
-Under Warranty,În garanție,
-Out of Warranty,Ieșit din garanție,
-Under AMC,Sub AMC,
-Out of AMC,Din AMC,
-Warranty Period (Days),Perioada de garanție (zile),
-Serial No Details,Serial Nu Detalii,
-MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
-Stock Entry Type,Tip intrare stoc,
-Stock Entry (Outward GIT),Intrare pe stoc (GIT exterior),
-Material Consumption for Manufacture,Consumul de materiale pentru fabricare,
-Repack,Reambalați,
-Send to Subcontractor,Trimiteți către subcontractant,
-Delivery Note No,Nr. Nota de Livrare,
-Sales Invoice No,Nr. Factură de Vânzări,
-Purchase Receipt No,Primirea de cumpărare Nu,
-Inspection Required,Inspecție obligatorii,
-From BOM,De la BOM,
-For Quantity,Pentru Cantitate,
-As per Stock UOM,Ca şi pentru stoc UOM,
-Including items for sub assemblies,Inclusiv articole pentru subansambluri,
-Default Source Warehouse,Depozit Sursa Implicit,
-Source Warehouse Address,Adresă Depozit Sursă,
-Default Target Warehouse,Depozit Tinta Implicit,
-Target Warehouse Address,Adresa de destinație a depozitului,
-Update Rate and Availability,Actualizarea Rata și disponibilitatea,
-Total Incoming Value,Valoarea totală a sosi,
-Total Outgoing Value,Valoarea totală de ieșire,
-Total Value Difference (Out - In),Diferența Valoarea totală (Out - In),
-Additional Costs,Costuri suplimentare,
-Total Additional Costs,Costuri totale suplimentare,
-Customer or Supplier Details,Client sau furnizor Detalii,
-Per Transferred,Per transferat,
-Stock Entry Detail,Stoc de intrare Detaliu,
-Basic Rate (as per Stock UOM),Rata de bază (conform Stock UOM),
-Basic Amount,Suma de bază,
-Additional Cost,Cost aditional,
-Serial No / Batch,Serial No / lot,
-BOM No. for a Finished Good Item,Nr. BOM pentru un articol tip produs finalizat,
-Material Request used to make this Stock Entry,Cerere de material utilizat pentru a face acest stoc de intrare,
-Subcontracted Item,Subcontractat element,
-Against Stock Entry,Împotriva intrării pe stoc,
-Stock Entry Child,Copil de intrare în stoc,
-PO Supplied Item,PO Articol furnizat,
-Reference Purchase Receipt,Recepție de achiziție de achiziție,
-Stock Ledger Entry,Registru Contabil Intrări,
-Outgoing Rate,Rata de ieșire,
-Actual Qty After Transaction,Cant. efectivă după tranzacție,
-Stock Value Difference,Valoarea Stock Diferența,
-Stock Queue (FIFO),Stoc Queue (FIFO),
-Is Cancelled,Este anulat,
-Stock Reconciliation,Stoc Reconciliere,
-This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,Acest instrument vă ajută să actualizați sau stabili cantitatea și evaluarea stocului in sistem. Acesta este de obicei folosit pentru a sincroniza valorile de sistem și ceea ce există de fapt în depozite tale.,
-MAT-RECO-.YYYY.-,MAT-RECO-.YYYY.-,
-Reconciliation JSON,Reconciliere JSON,
-Stock Reconciliation Item,Stock reconciliere Articol,
-Before reconciliation,Premergător reconcilierii,
-Current Serial No,Serial curent nr,
-Current Valuation Rate,Rata de evaluare curentă,
-Current Amount,Suma curentă,
-Quantity Difference,cantitate diferenţă,
-Amount Difference,suma diferenţă,
-Item Naming By,Denumire Articol Prin,
-Default Item Group,Group Articol Implicit,
-Default Stock UOM,Stoc UOM Implicit,
-Sample Retention Warehouse,Exemplu de reținere depozit,
-Default Valuation Method,Metoda de Evaluare Implicită,
-Show Barcode Field,Afișează coduri de bare Câmp,
-Convert Item Description to Clean HTML,Conversia elementului de articol pentru a curăța codul HTML,
-Allow Negative Stock,Permiteţi stoc negativ,
-Automatically Set Serial Nos based on FIFO,Setat automat Serial nr bazat pe FIFO,
-Auto Material Request,Cerere automată de material,
-Inter Warehouse Transfer Settings,Setări de transfer între depozite,
-Freeze Stock Entries,Blocheaza Intrarile in Stoc,
-Stock Frozen Upto,Stoc Frozen Până la,
-Batch Identification,Identificarea lotului,
-Use Naming Series,Utilizați seria de numire,
-Naming Series Prefix,Denumirea prefixului seriei,
-UOM Category,Categoria UOM,
-UOM Conversion Detail,Detaliu UOM de conversie,
-Variant Field,Varianta câmpului,
-A logical Warehouse against which stock entries are made.,Un depozit logic față de care se efectuează înregistrări de stoc.,
-Warehouse Detail,Detaliu Depozit,
-Warehouse Name,Denumire Depozit,
-Warehouse Contact Info,Date de contact depozit,
-PIN,PIN,
-ISS-.YYYY.-,ISS-.YYYY.-,
-Raised By (Email),Ridicat de (E-mail),
-Issue Type,Tipul problemei,
-Issue Split From,Problemă Split From,
-Service Level,Nivel de servicii,
-Response By,Răspuns de,
-Response By Variance,Răspuns după variație,
-Ongoing,În curs de desfășurare,
-Resolution By,Rezolvare de,
-Resolution By Variance,Rezolutie prin variatie,
-Service Level Agreement Creation,Crearea contractului de nivel de serviciu,
-First Responded On,Primul Răspuns la,
-Resolution Details,Detalii Rezoluție,
-Opening Date,Data deschiderii,
-Opening Time,Timp de deschidere,
-Resolution Date,Dată Rezoluție,
-Via Customer Portal,Prin portalul de clienți,
-Support Team,Echipa de Suport,
-Issue Priority,Prioritate de emisiune,
-Service Day,Ziua serviciului,
-Workday,Zi de lucru,
-Default Priority,Prioritate implicită,
-Priorities,priorităţi,
-Support Hours,Ore de sprijin,
-Support and Resolution,Suport și rezoluție,
-Default Service Level Agreement,Acordul implicit privind nivelul serviciilor,
-Entity,Entitate,
-Agreement Details,Detalii despre acord,
-Response and Resolution Time,Timp de răspuns și rezolvare,
-Service Level Priority,Prioritate la nivel de serviciu,
-Resolution Time,Timp de rezoluție,
-Support Search Source,Sprijiniți sursa de căutare,
-Source Type,Tipul sursei,
-Query Route String,Query String Rout,
-Search Term Param Name,Termenul de căutare Param Name,
-Response Options,Opțiuni de Răspuns,
-Response Result Key Path,Răspuns Rezultat Cale cheie,
-Post Route String,Postați șirul de rută,
-Post Route Key List,Afișați lista cheilor de rutare,
-Post Title Key,Titlul mesajului cheie,
-Post Description Key,Post Descriere cheie,
-Link Options,Link Opțiuni,
-Source DocType,Sursa DocType,
-Result Title Field,Câmp rezultat titlu,
-Result Preview Field,Câmp de examinare a rezultatelor,
-Result Route Field,Câmp de rutare rezultat,
-Service Level Agreements,Acorduri privind nivelul serviciilor,
-Track Service Level Agreement,Urmăriți acordul privind nivelul serviciilor,
-Allow Resetting Service Level Agreement,Permiteți resetarea contractului de nivel de serviciu,
-Close Issue After Days,Închide Problemă După Zile,
-Auto close Issue after 7 days,Închidere automată Problemă după 7 zile,
-Support Portal,Portal de suport,
-Get Started Sections,Începeți secțiunile,
-Show Latest Forum Posts,Arată ultimele postări pe forum,
-Forum Posts,Mesaje pe forum,
-Forum URL,Adresa URL a forumului,
-Get Latest Query,Obțineți ultima interogare,
-Response Key List,Listă cu chei de răspuns,
-Post Route Key,Introduceți cheia de rutare,
-Search APIs,API-uri de căutare,
-SER-WRN-.YYYY.-,SER-WRN-.YYYY.-,
-Issue Date,Data emiterii,
-Item and Warranty Details,Postul și garanție Detalii,
-Warranty / AMC Status,Garanție / AMC Starea,
-Resolved By,Rezolvat prin,
-Service Address,Adresa serviciu,
-If different than customer address,Dacă diferă de adresa client,
-Raised By,Ridicat De,
-From Company,De la Compania,
-Rename Tool,Instrument Redenumire,
-Utilities,Utilitați,
-Type of document to rename.,Tip de document pentru a redenumi.,
-File to Rename,Fișier de Redenumiți,
-"Attach .csv file with two columns, one for the old name and one for the new name","Atașați fișier .csv cu două coloane, una pentru denumirea veche și una pentru denumirea nouă",
-Rename Log,Redenumi Conectare,
-SMS Log,SMS Conectare,
-Sender Name,Sender Name,
-Sent On,A trimis pe,
-No of Requested SMS,Nu de SMS solicitat,
-Requested Numbers,Numere solicitate,
-No of Sent SMS,Nu de SMS-uri trimise,
-Sent To,Trimis La,
-Absent Student Report,Raport elev absent,
-Assessment Plan Status,Starea planului de evaluare,
-Asset Depreciation Ledger,Registru Amortizatre Active,
-Asset Depreciations and Balances,Amortizari si Balante Active,
-Available Stock for Packing Items,Stoc disponibil pentru articole destinate împachetării,
-Bank Clearance Summary,Sumar aprobare bancă,
-Bank Remittance,Transferul bancar,
-Batch Item Expiry Status,Lot Articol Stare de expirare,
-Batch-Wise Balance History,Istoricul balanţei principale aferente lotului,
-BOM Explorer,BOM Explorer,
-BOM Search,BOM Căutare,
-BOM Stock Calculated,BOM Stocul calculat,
-BOM Variance Report,BOM Raport de variație,
-Campaign Efficiency,Eficiența campaniei,
-Cash Flow,Fluxul de numerar,
-Completed Work Orders,Ordine de lucru finalizate,
-To Produce,Pentru a produce,
-Produced,Produs,
-Consolidated Financial Statement,Situație financiară consolidată,
-Course wise Assessment Report,Raport de evaluare în curs,
-Customer Acquisition and Loyalty,Achiziționare și Loialitate Client,
-Customer Credit Balance,Balanța Clienți credit,
-Customer Ledger Summary,Rezumatul evidenței clienților,
-Customer-wise Item Price,Prețul articolului pentru clienți,
-Customers Without Any Sales Transactions,Clienții fără tranzacții de vânzare,
-Daily Timesheet Summary,Rezumat Pontaj Zilnic,
-Daily Work Summary Replies,Rezumat zilnic de lucrări,
-DATEV,DATEV,
-Delayed Item Report,Raportul întârziat al articolului,
-Delayed Order Report,Raportul de comandă întârziat,
-Delivered Items To Be Billed,Produse Livrate Pentru a fi Facturate,
-Delivery Note Trends,Tendințe Nota de Livrare,
-Electronic Invoice Register,Registrul electronic al facturilor,
-Employee Advance Summary,Sumarul avansului pentru angajați,
-Employee Billing Summary,Rezumatul facturării angajaților,
-Employee Birthday,Zi de naștere angajat,
-Employee Information,Informații angajat,
-Employee Leave Balance,Bilant Concediu Angajat,
-Employee Leave Balance Summary,Rezumatul soldului concediilor angajaților,
-Employees working on a holiday,Numar de angajati care lucreaza in vacanta,
-Eway Bill,Eway Bill,
-Expiring Memberships,Expirarea calității de membru,
-Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptabile [FEC],
-Final Assessment Grades,Evaluări finale,
-Fixed Asset Register,Registrul activelor fixe,
-Gross and Net Profit Report,Raport de profit brut și net,
-GST Itemised Purchase Register,GST Registrul achiziționărilor detaliate,
-GST Itemised Sales Register,Registrul de vânzări detaliat GST,
-GST Purchase Register,Registrul achizițiilor GST,
-GST Sales Register,Registrul vânzărilor GST,
-GSTR-1,GSTR-1,
-GSTR-2,GSTR-2,
-Hotel Room Occupancy,Hotel Ocuparea camerei,
-HSN-wise-summary of outward supplies,Rezumatul HSN pentru rezervele exterioare,
-Inactive Customers,Clienții inactive,
-Inactive Sales Items,Articole de vânzare inactive,
-IRS 1099,IRS 1099,
-Issued Items Against Work Order,Articole emise împotriva comenzii de lucru,
-Projected Quantity as Source,Cantitatea ca sursă proiectată,
-Item Balance (Simple),Balanța postului (simplă),
-Item Price Stock,Preț Stoc Articol,
-Item Prices,Preturi Articol,
-Item Shortage Report,Raport Articole Lipsa,
-Item Variant Details,Element Variant Details,
-Item-wise Price List Rate,Rata Lista de Pret Articol-Avizat,
-Item-wise Purchase History,Istoric Achizitii Articol-Avizat,
-Item-wise Purchase Register,Registru Achizitii Articol-Avizat,
-Item-wise Sales History,Istoric Vanzari Articol-Avizat,
-Item-wise Sales Register,Registru Vanzari Articol-Avizat,
-Items To Be Requested,Articole care vor fi solicitate,
-Reserved,Rezervat,
-Itemwise Recommended Reorder Level,Nivel de Reordonare Recomandat al Articolului-Awesome,
-Lead Details,Detalii Pistă,
-Lead Owner Efficiency,Lead Efficiency Owner,
-Loan Repayment and Closure,Rambursarea împrumutului și închiderea,
-Loan Security Status,Starea de securitate a împrumutului,
-Lost Opportunity,Oportunitate pierdută,
-Maintenance Schedules,Program de Mentenanta,
-Material Requests for which Supplier Quotations are not created,Cererile de materiale pentru care nu sunt create Cotațiile Furnizor,
-Monthly Attendance Sheet,Lunar foaia de prezență,
-Open Work Orders,Deschideți comenzile de lucru,
-Qty to Deliver,Cantitate pentru a oferi,
-Patient Appointment Analytics,Analiza programării pacientului,
-Payment Period Based On Invoice Date,Perioada de plată Bazat pe Data facturii,
-Pending SO Items For Purchase Request,Până la SO articole pentru cerere de oferta,
-Procurement Tracker,Urmărirea achizițiilor,
-Product Bundle Balance,Soldul pachetului de produse,
-Production Analytics,Google Analytics de producție,
-Profit and Loss Statement,Profit și pierdere,
-Profitability Analysis,Analiza profitabilității,
-Project Billing Summary,Rezumatul facturării proiectului,
-Project wise Stock Tracking,Urmărirea proiectului în funcție de stoc,
-Project wise Stock Tracking ,Proiect înțelept Tracking Stock,
-Prospects Engaged But Not Converted,Perspective implicate dar nu convertite,
-Purchase Analytics,Analytics de cumpărare,
-Purchase Invoice Trends,Cumpărare Tendințe factură,
-Qty to Receive,Cantitate de a primi,
-Received Qty Amount,Suma de cantitate primită,
-Billed Qty,Qty facturat,
-Purchase Order Trends,Comandă de aprovizionare Tendințe,
-Purchase Receipt Trends,Tendințe Primirea de cumpărare,
-Purchase Register,Cumpărare Inregistrare,
-Quotation Trends,Cotație Tendințe,
-Received Items To Be Billed,Articole primite Pentru a fi facturat,
-Qty to Order,Cantitate pentru comandă,
-Requested Items To Be Transferred,Articole solicitate de transferat,
-Qty to Transfer,Cantitate de a transfera,
-Salary Register,Salariu Înregistrare,
-Sales Analytics,Analitice de vânzare,
-Sales Invoice Trends,Vânzări Tendințe factură,
-Sales Order Trends,Vânzări Ordine Tendințe,
-Sales Partner Commission Summary,Rezumatul Comisiei partenere de vânzări,
-Sales Partner Target Variance based on Item Group,Varianța de țintă a partenerilor de vânzări bazată pe grupul de articole,
-Sales Partner Transaction Summary,Rezumat tranzacție partener vânzări,
-Sales Partners Commission,Comision Agenţi Vânzări,
-Invoiced Amount (Exclusive Tax),Suma facturată (taxă exclusivă),
-Average Commission Rate,Rată de comision medie,
-Sales Payment Summary,Rezumatul plăților pentru vânzări,
-Sales Person Commission Summary,Persoana de vânzări Rezumat al Comisiei,
-Sales Person Target Variance Based On Item Group,Vânzarea persoanei de vânzare Varianța bazată pe grupul de articole,
-Sales Person-wise Transaction Summary,Persoana de vânzări-înțelept Rezumat Transaction,
-Sales Register,Vânzări Inregistrare,
-Serial No Service Contract Expiry,Serial Nu Service Contract de expirare,
-Serial No Status,Serial Nu Statut,
-Serial No Warranty Expiry,Serial Nu Garantie pana,
-Stock Ageing,Stoc Îmbătrânirea,
-Stock and Account Value Comparison,Comparația valorilor stocurilor și conturilor,
-Stock Projected Qty,Stoc proiectată Cantitate,
-Student and Guardian Contact Details,Student și Guardian Detalii de contact,
-Student Batch-Wise Attendance,Lot-înțelept elev Participarea,
-Student Fee Collection,Taxa de student Colectia,
-Student Monthly Attendance Sheet,Elev foaia de prezență lunară,
-Subcontracted Item To Be Received,Articol subcontractat care trebuie primit,
-Subcontracted Raw Materials To Be Transferred,Materii prime subcontractate care trebuie transferate,
-Supplier Ledger Summary,Rezumat evidență furnizor,
-Supplier-Wise Sales Analytics,Furnizor înțelept Vânzări Analytics,
-Support Hour Distribution,Distribuția orelor de distribuție,
-TDS Computation Summary,Rezumatul TDS de calcul,
-TDS Payable Monthly,TDS plătibil lunar,
-Territory Target Variance Based On Item Group,Varianța țintă de teritoriu pe baza grupului de articole,
-Territory-wise Sales,Vânzări înțelese teritoriul,
-Total Stock Summary,Rezumatul Total al Stocului,
-Trial Balance,Balanta,
-Trial Balance (Simple),Soldul de încercare (simplu),
-Trial Balance for Party,Trial Balance pentru Party,
-Unpaid Expense Claim,Solicitare Cheltuială Neachitată,
-Warehouse wise Item Balance Age and Value,Warehouse wise Item Balance Age și Value,
-Work Order Stock Report,Raport de stoc pentru comanda de lucru,
-Work Orders in Progress,Ordine de lucru în curs,
-Validation Error,eroare de validatie,
-Automatically Process Deferred Accounting Entry,Procesați automat intrarea contabilă amânată,
-Bank Clearance,Clearance bancar,
-Bank Clearance Detail,Detaliu de lichidare bancară,
-Update Cost Center Name / Number,Actualizați numele / numărul centrului de costuri,
-Journal Entry Template,Șablon de intrare în jurnal,
-Template Title,Titlul șablonului,
-Journal Entry Type,Tipul intrării în jurnal,
-Journal Entry Template Account,Cont șablon de intrare în jurnal,
-Process Deferred Accounting,Procesul de contabilitate amânată,
-Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Intrarea manuală nu poate fi creată! Dezactivați intrarea automată pentru contabilitatea amânată în setările conturilor și încercați din nou,
-End date cannot be before start date,Data de încheiere nu poate fi înainte de data de începere,
-Total Counts Targeted,Numărul total vizat,
-Total Counts Completed,Numărul total finalizat,
-Counts Targeted: {0},Număruri vizate: {0},
-Payment Account is mandatory,Contul de plată este obligatoriu,
-"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","Dacă este bifat, suma totală va fi dedusă din venitul impozabil înainte de calcularea impozitului pe venit fără nicio declarație sau depunere de dovadă.",
-Disbursement Details,Detalii despre debursare,
-Material Request Warehouse,Depozit cerere material,
-Select warehouse for material requests,Selectați depozitul pentru solicitări de materiale,
-Transfer Materials For Warehouse {0},Transfer de materiale pentru depozit {0},
-Production Plan Material Request Warehouse,Plan de producție Cerere de materiale Depozit,
-Sets 'Source Warehouse' in each row of the items table.,Setează „Depozit sursă” în fiecare rând al tabelului cu articole.,
-Sets 'Target Warehouse' in each row of the items table.,Setează „Depozit țintă” în fiecare rând al tabelului cu articole.,
-Show Cancelled Entries,Afișați intrările anulate,
-Backdated Stock Entry,Intrare de stoc actualizată,
-Row #{}: Currency of {} - {} doesn't matches company currency.,Rândul # {}: moneda {} - {} nu se potrivește cu moneda companiei.,
-{} Assets created for {},{} Active create pentru {},
-{0} Number {1} is already used in {2} {3},{0} Numărul {1} este deja utilizat în {2} {3},
-Update Bank Clearance Dates,Actualizați datele de compensare bancară,
-Healthcare Practitioner: ,Practician medical:,
-Lab Test Conducted: ,Test de laborator efectuat:,
-Lab Test Event: ,Eveniment de test de laborator:,
-Lab Test Result: ,Rezultatul testului de laborator:,
-Clinical Procedure conducted: ,Procedura clinică efectuată:,
-Therapy Session Charges: {0},Taxe pentru sesiunea de terapie: {0},
-Therapy: ,Terapie:,
-Therapy Plan: ,Planul de terapie:,
-Total Counts Targeted: ,Număruri totale vizate:,
-Total Counts Completed: ,Numărul total finalizat:,
-Andaman and Nicobar Islands,Insulele Andaman și Nicobar,
-Andhra Pradesh,Andhra Pradesh,
-Arunachal Pradesh,Arunachal Pradesh,
-Assam,Assam,
-Bihar,Bihar,
-Chandigarh,Chandigarh,
-Chhattisgarh,Chhattisgarh,
-Dadra and Nagar Haveli,Dadra și Nagar Haveli,
-Daman and Diu,Daman și Diu,
-Delhi,Delhi,
-Goa,Goa,
-Gujarat,Gujarat,
-Haryana,Haryana,
-Himachal Pradesh,Himachal Pradesh,
-Jammu and Kashmir,Jammu și Kashmir,
-Jharkhand,Jharkhand,
-Karnataka,Karnataka,
-Kerala,Kerala,
-Lakshadweep Islands,Insulele Lakshadweep,
-Madhya Pradesh,Madhya Pradesh,
-Maharashtra,Maharashtra,
-Manipur,Manipur,
-Meghalaya,Meghalaya,
-Mizoram,Mizoram,
-Nagaland,Nagaland,
-Odisha,Odisha,
-Other Territory,Alt teritoriu,
-Pondicherry,Pondicherry,
-Punjab,Punjab,
-Rajasthan,Rajasthan,
-Sikkim,Sikkim,
-Tamil Nadu,Tamil Nadu,
-Telangana,Telangana,
-Tripura,Tripura,
-Uttar Pradesh,Uttar Pradesh,
-Uttarakhand,Uttarakhand,
-West Bengal,Bengalul de Vest,
-Is Mandatory,Este obligatoriu,
-Published on,publicat pe,
-Service Received But Not Billed,"Serviciu primit, dar nu facturat",
-Deferred Accounting Settings,Setări de contabilitate amânate,
-Book Deferred Entries Based On,Rezervați intrări amânate pe baza,
-Days,Zile,
-Months,Luni,
-Book Deferred Entries Via Journal Entry,Rezervați intrări amânate prin intrarea în jurnal,
-Submit Journal Entries,Trimiteți intrări în jurnal,
-If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Dacă aceasta nu este bifată, jurnalele vor fi salvate într-o stare de schiță și vor trebui trimise manual",
-Enable Distributed Cost Center,Activați Centrul de cost distribuit,
-Distributed Cost Center,Centrul de cost distribuit,
-Dunning,Poftă,
-DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
-Overdue Days,Zile restante,
-Dunning Type,Tipul Dunning,
-Dunning Fee,Taxă Dunning,
-Dunning Amount,Suma Dunning,
-Resolved,S-a rezolvat,
-Unresolved,Nerezolvat,
-Printing Setting,Setare imprimare,
-Body Text,Corpul textului,
-Closing Text,Text de închidere,
-Resolve,Rezolva,
-Dunning Letter Text,Text scrisoare Dunning,
-Is Default Language,Este limba implicită,
-Letter or Email Body Text,Text pentru corp scrisoare sau e-mail,
-Letter or Email Closing Text,Text de închidere prin scrisoare sau e-mail,
-Body and Closing Text Help,Ajutor pentru corp și text de închidere,
-Overdue Interval,Interval întârziat,
-Dunning Letter,Scrisoare Dunning,
-"This section allows the user to set the Body and Closing text of the Dunning Letter for the Dunning Type based on language, which can be used in Print.","Această secțiune permite utilizatorului să seteze corpul și textul de închidere al Scrisorii Dunning pentru tipul Dunning în funcție de limbă, care poate fi utilizat în Tipărire.",
-Reference Detail No,Nr. Detalii referință,
-Custom Remarks,Observații personalizate,
-Please select a Company first.,Vă rugăm să selectați mai întâi o companie.,
-"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Rândul # {0}: tipul documentului de referință trebuie să fie unul dintre Comanda de vânzări, Factura de vânzări, Înregistrarea jurnalului sau Sarcina",
-POS Closing Entry,Intrare de închidere POS,
-POS Opening Entry,Intrare de deschidere POS,
-POS Transactions,Tranzacții POS,
-POS Closing Entry Detail,Detaliu intrare închidere POS,
-Opening Amount,Suma de deschidere,
-Closing Amount,Suma de închidere,
-POS Closing Entry Taxes,Taxe de intrare POS închidere,
-POS Invoice,Factură POS,
-ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
-Consolidated Sales Invoice,Factură de vânzări consolidată,
-Return Against POS Invoice,Reveniți împotriva facturii POS,
-Consolidated,Consolidat,
-POS Invoice Item,Articol factură POS,
-POS Invoice Merge Log,Jurnal de îmbinare a facturilor POS,
-POS Invoices,Facturi POS,
-Consolidated Credit Note,Nota de credit consolidată,
-POS Invoice Reference,Referință factură POS,
-Set Posting Date,Setați data de înregistrare,
-Opening Balance Details,Detalii sold deschidere,
-POS Opening Entry Detail,Detaliu intrare deschidere POS,
-POS Payment Method,Metoda de plată POS,
-Payment Methods,Metode de plata,
-Process Statement Of Accounts,Procesul de situație a conturilor,
-General Ledger Filters,Filtre majore,
-Customers,Clienți,
-Select Customers By,Selectați Clienți după,
-Fetch Customers,Aduceți clienții,
-Send To Primary Contact,Trimiteți la contactul principal,
-Print Preferences,Preferințe de imprimare,
-Include Ageing Summary,Includeți rezumatul îmbătrânirii,
-Enable Auto Email,Activați e-mailul automat,
-Filter Duration (Months),Durata filtrului (luni),
-CC To,CC To,
-Help Text,Text de ajutor,
-Emails Queued,E-mailuri la coadă,
-Process Statement Of Accounts Customer,Procesul extras de cont client,
-Billing Email,E-mail de facturare,
-Primary Contact Email,E-mail de contact principal,
-PSOA Cost Center,Centrul de cost PSOA,
-PSOA Project,Proiectul PSOA,
-ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
-Supplier GSTIN,Furnizor GSTIN,
-Place of Supply,Locul aprovizionării,
-Select Billing Address,Selectați Adresa de facturare,
-GST Details,Detalii GST,
-GST Category,Categoria GST,
-Registered Regular,Înregistrat regulat,
-Registered Composition,Compoziție înregistrată,
-Unregistered,Neînregistrat,
-SEZ,SEZ,
-Overseas,De peste mări,
-UIN Holders,Titulari UIN,
-With Payment of Tax,Cu plata impozitului,
-Without Payment of Tax,Fără plata impozitului,
-Invoice Copy,Copie factură,
-Original for Recipient,Original pentru Destinatar,
-Duplicate for Transporter,Duplicat pentru Transporter,
-Duplicate for Supplier,Duplicat pentru furnizor,
-Triplicate for Supplier,Triplicat pentru furnizor,
-Reverse Charge,Taxare inversă,
-Y,Da,
-N,N,
-E-commerce GSTIN,Comerț electronic GSTIN,
-Reason For Issuing document,Motivul eliberării documentului,
-01-Sales Return,01-Returnarea vânzărilor,
-02-Post Sale Discount,02-Reducere după vânzare,
-03-Deficiency in services,03-Deficiența serviciilor,
-04-Correction in Invoice,04-Corecție în factură,
-05-Change in POS,05-Modificare POS,
-06-Finalization of Provisional assessment,06-Finalizarea evaluării provizorii,
-07-Others,07-Altele,
-Eligibility For ITC,Eligibilitate pentru ITC,
-Input Service Distributor,Distribuitor de servicii de intrare,
-Import Of Service,Importul serviciului,
-Import Of Capital Goods,Importul de bunuri de capital,
-Ineligible,Neeligibil,
-All Other ITC,Toate celelalte ITC,
-Availed ITC Integrated Tax,Taxă integrată ITC disponibilă,
-Availed ITC Central Tax,Taxă centrală ITC disponibilă,
-Availed ITC State/UT Tax,Impozit ITC de stat / UT disponibil,
-Availed ITC Cess,Cess ITC disponibil,
-Is Nil Rated or Exempted,Este evaluat zero sau scutit,
-Is Non GST,Nu este GST,
-ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
-E-Way Bill No.,E-Way Bill nr.,
-Is Consolidated,Este consolidat,
-Billing Address GSTIN,Adresa de facturare GSTIN,
-Customer GSTIN,Client GSTIN,
-GST Transporter ID,ID GST Transporter,
-Distance (in km),Distanță (în km),
-Road,drum,
-Air,Aer,
-Rail,Feroviar,
-Ship,Navă,
-GST Vehicle Type,Tipul vehiculului GST,
-Over Dimensional Cargo (ODC),Marfă supradimensională (ODC),
-Consumer,Consumator,
-Deemed Export,Export estimat,
-Port Code,Cod port,
- Shipping Bill Number,Numărul facturii de expediere,
-Shipping Bill Date,Data facturii de expediere,
-Subscription End Date,Data de încheiere a abonamentului,
-Follow Calendar Months,Urmăriți lunile calendaristice,
-If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Dacă se verifică acest lucru, vor fi create noi facturi ulterioare în lunile calendaristice și în datele de începere a trimestrului, indiferent de data curentă de începere a facturii",
-Generate New Invoices Past Due Date,Generați facturi noi la scadență,
-New invoices will be generated as per schedule even if current invoices are unpaid or past due date,"Facturile noi vor fi generate conform programului, chiar dacă facturile curente sunt neplătite sau sunt scadente",
-Document Type ,Tipul documentului,
-Subscription Price Based On,Prețul abonamentului pe baza,
-Fixed Rate,Rata fixa,
-Based On Price List,Pe baza listei de prețuri,
-Monthly Rate,Rată lunară,
-Cancel Subscription After Grace Period,Anulați abonamentul după perioada de grație,
-Source State,Statul sursă,
-Is Inter State,Este statul Inter,
-Purchase Details,Detalii achiziție,
-Depreciation Posting Date,Data înregistrării amortizării,
-"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","În mod implicit, numele furnizorului este setat conform numelui furnizorului introdus. Dacă doriți ca Furnizorii să fie numiți de către un",
- choose the 'Naming Series' option.,alegeți opțiunea „Denumirea seriei”.,
-Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Configurați lista de prețuri implicită atunci când creați o nouă tranzacție de cumpărare. Prețurile articolelor vor fi preluate din această listă de prețuri.,
-"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice or Receipt without creating a Purchase Order first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Order' checkbox in the Supplier master.","Dacă această opțiune este configurată „Da”, ERPNext vă va împiedica să creați o factură de achiziție sau o chitanță fără a crea mai întâi o comandă de cumpărare. Această configurație poate fi anulată pentru un anumit furnizor activând caseta de selectare „Permite crearea facturii de cumpărare fără comandă de cumpărare” din masterul furnizorului.",
-"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice without creating a Purchase Receipt first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Receipt' checkbox in the Supplier master.","Dacă această opțiune este configurată „Da”, ERPNext vă va împiedica să creați o factură de cumpărare fără a crea mai întâi o chitanță de cumpărare. Această configurație poate fi suprascrisă pentru un anumit furnizor activând caseta de selectare „Permite crearea facturii de cumpărare fără chitanță de cumpărare” din masterul furnizorului.",
-Quantity & Stock,Cantitate și stoc,
-Call Details,Detalii apel,
-Authorised By,Autorizat de,
-Signee (Company),Destinatar (companie),
-Signed By (Company),Semnat de (Companie),
-First Response Time,Timpul primului răspuns,
-Request For Quotation,Cerere de ofertă,
-Opportunity Lost Reason Detail,Detaliu despre motivul pierdut al oportunității,
-Access Token Secret,Accesează Token Secret,
-Add to Topics,Adăugați la subiecte,
-...Adding Article to Topics,... Adăugarea articolului la subiecte,
-Add Article to Topics,Adăugați un articol la subiecte,
-This article is already added to the existing topics,Acest articol este deja adăugat la subiectele existente,
-Add to Programs,Adăugați la Programe,
-Programs,Programe,
-...Adding Course to Programs,... Adăugarea cursului la programe,
-Add Course to Programs,Adăugați cursul la programe,
-This course is already added to the existing programs,Acest curs este deja adăugat la programele existente,
-Learning Management System Settings,Setările sistemului de management al învățării,
-Enable Learning Management System,Activați sistemul de gestionare a învățării,
-Learning Management System Title,Titlul sistemului de management al învățării,
-...Adding Quiz to Topics,... Adăugarea testului la subiecte,
-Add Quiz to Topics,Adăugați test la subiecte,
-This quiz is already added to the existing topics,Acest test este deja adăugat la subiectele existente,
-Enable Admission Application,Activați cererea de admitere,
-EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
-Marking attendance,Marcarea prezenței,
-Add Guardians to Email Group,Adăugați Gardieni în grupul de e-mail,
-Attendance Based On,Prezență bazată pe,
-Check this to mark the student as present in case the student is not attending the institute to participate or represent the institute in any event.\n\n,Bifați acest lucru pentru a marca studentul ca prezent în cazul în care studentul nu participă la institut pentru a participa sau pentru a reprezenta institutul în orice caz.,
-Add to Courses,Adăugați la Cursuri,
-...Adding Topic to Courses,... Adăugarea subiectului la cursuri,
-Add Topic to Courses,Adăugați subiect la cursuri,
-This topic is already added to the existing courses,Acest subiect este deja adăugat la cursurile existente,
-"If Shopify does not have a customer in the order, then while syncing the orders, the system will consider the default customer for the order","Dacă Shopify nu are un client în comandă, atunci în timp ce sincronizează comenzile, sistemul va lua în considerare clientul implicit pentru comandă",
-The accounts are set by the system automatically but do confirm these defaults,"Conturile sunt setate automat de sistem, dar confirmă aceste valori implicite",
-Default Round Off Account,Cont implicit rotunjit,
-Failed Import Log,Jurnal de importare eșuat,
-Fixed Error Log,S-a remediat jurnalul de erori,
-Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,Compania {0} există deja. Continuarea va suprascrie compania și planul de conturi,
-Meta Data,Meta Date,
-Unresolve,Nerezolvat,
-Create Document,Creați document,
-Mark as unresolved,Marcați ca nerezolvat,
-TaxJar Settings,Setări TaxJar,
-Sandbox Mode,Mod Sandbox,
-Enable Tax Calculation,Activați calculul impozitului,
-Create TaxJar Transaction,Creați tranzacția TaxJar,
-Credentials,Acreditări,
-Live API Key,Cheie API live,
-Sandbox API Key,Cheia API Sandbox,
-Configuration,Configurare,
-Tax Account Head,Șef cont fiscal,
-Shipping Account Head,Șef cont de expediere,
-Practitioner Name,Numele practicianului,
-Enter a name for the Clinical Procedure Template,Introduceți un nume pentru șablonul de procedură clinică,
-Set the Item Code which will be used for billing the Clinical Procedure.,Setați codul articolului care va fi utilizat pentru facturarea procedurii clinice.,
-Select an Item Group for the Clinical Procedure Item.,Selectați un grup de articole pentru articolul de procedură clinică.,
-Clinical Procedure Rate,Rata procedurii clinice,
-Check this if the Clinical Procedure is billable and also set the rate.,"Verificați acest lucru dacă procedura clinică este facturabilă și, de asemenea, setați rata.",
-Check this if the Clinical Procedure utilises consumables. Click ,Verificați acest lucru dacă procedura clinică utilizează consumabile. Clic,
- to know more,să afle mai multe,
-"You can also set the Medical Department for the template. After saving the document, an Item will automatically be created for billing this Clinical Procedure. You can then use this template while creating Clinical Procedures for Patients. Templates save you from filling up redundant data every single time. You can also create templates for other operations like Lab Tests, Therapy Sessions, etc.","De asemenea, puteți seta Departamentul medical pentru șablon. După salvarea documentului, un articol va fi creat automat pentru facturarea acestei proceduri clinice. Puteți utiliza apoi acest șablon în timp ce creați proceduri clinice pentru pacienți. Șabloanele vă scutesc de la completarea datelor redundante de fiecare dată. De asemenea, puteți crea șabloane pentru alte operații precum teste de laborator, sesiuni de terapie etc.",
-Descriptive Test Result,Rezultatul testului descriptiv,
-Allow Blank,Permiteți golul,
-Descriptive Test Template,Șablon de test descriptiv,
-"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Dacă doriți să urmăriți salarizarea și alte operațiuni HRMS pentru un practician, creați un angajat și conectați-l aici.",
-Set the Practitioner Schedule you just created. This will be used while booking appointments.,Setați programul de practicanți pe care tocmai l-ați creat. Aceasta va fi utilizată la rezervarea programărilor.,
-Create a service item for Out Patient Consulting.,Creați un element de serviciu pentru consultarea externă a pacienților.,
-"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Dacă acest profesionist din domeniul sănătății lucrează pentru departamentul internat, creați un articol de servicii pentru vizitele internate.",
-Set the Out Patient Consulting Charge for this Practitioner.,Stabiliți taxa pentru consultarea pacientului pentru acest practicant.,
-"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","În cazul în care acest profesionist din domeniul sănătății lucrează și pentru secția de internare, stabiliți taxa de vizitare pentru acest practician.",
-"If checked, a customer will be created for every Patient. Patient Invoices will be created against this Customer. You can also select existing Customer while creating a Patient. This field is checked by default.","Dacă este bifat, va fi creat un client pentru fiecare pacient. Facturile pacientului vor fi create împotriva acestui client. De asemenea, puteți selecta clientul existent în timp ce creați un pacient. Acest câmp este bifat implicit.",
-Collect Registration Fee,Încasează taxa de înregistrare,
-"If your Healthcare facility bills registrations of Patients, you can check this and set the Registration Fee in the field below. Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.","Dacă unitatea medicală facturează înregistrările pacienților, puteți verifica acest lucru și puteți stabili taxa de înregistrare în câmpul de mai jos. Verificând acest lucru se vor crea noi pacienți cu starea Dezactivat în mod implicit și vor fi activate numai după facturarea Taxei de înregistrare.",
-Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,Verificarea acestui lucru va crea automat o factură de vânzare ori de câte ori este rezervată o întâlnire pentru un pacient.,
-Healthcare Service Items,Produse pentru servicii medicale,
-"You can create a service item for Inpatient Visit Charge and set it here. Similarly, you can set up other Healthcare Service Items for billing in this section. Click ","Puteți crea un articol de serviciu pentru taxa de vizită internată și setați-l aici. În mod similar, puteți configura alte elemente de servicii medicale pentru facturare în această secțiune. Clic",
-Set up default Accounts for the Healthcare Facility,Configurați conturi implicite pentru unitatea medicală,
-"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Dacă doriți să înlocuiți setările implicite ale conturilor și să configurați conturile de venituri și creanțe pentru asistență medicală, puteți face acest lucru aici.",
-Out Patient SMS alerts,Alerte SMS pentru pacienți,
-"If you want to send SMS alert on Patient Registration, you can enable this option. Similary, you can set up Out Patient SMS alerts for other functionalities in this section. Click ","Dacă doriți să trimiteți alertă SMS la înregistrarea pacientului, puteți activa această opțiune. În mod similar, puteți configura alerte SMS pentru pacient pentru alte funcționalități în această secțiune. Clic",
-Admission Order Details,Detalii comandă de admitere,
-Admission Ordered For,Admiterea comandată pentru,
-Expected Length of Stay,Durata de ședere preconizată,
-Admission Service Unit Type,Tipul unității de servicii de admitere,
-Healthcare Practitioner (Primary),Practician medical (primar),
-Healthcare Practitioner (Secondary),Practician medical (secundar),
-Admission Instruction,Instrucțiuni de admitere,
-Chief Complaint,Plângere șefă,
-Medications,Medicamente,
-Investigations,Investigații,
-Discharge Detials,Detalii de descărcare,
-Discharge Ordered Date,Data comandării descărcării,
-Discharge Instructions,Instrucțiuni de descărcare de gestiune,
-Follow Up Date,Data de urmărire,
-Discharge Notes,Note de descărcare de gestiune,
-Processing Inpatient Discharge,Procesarea externării internate,
-Processing Patient Admission,Procesarea admiterii pacientului,
-Check-in time cannot be greater than the current time,Ora de check-in nu poate fi mai mare decât ora curentă,
-Process Transfer,Transfer de proces,
-HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
-Expected Result Date,Data rezultatului așteptat,
-Expected Result Time,Timp de rezultat așteptat,
-Printed on,Tipărit pe,
-Requesting Practitioner,Practician solicitant,
-Requesting Department,Departamentul solicitant,
-Employee (Lab Technician),Angajat (tehnician de laborator),
-Lab Technician Name,Numele tehnicianului de laborator,
-Lab Technician Designation,Desemnarea tehnicianului de laborator,
-Compound Test Result,Rezultatul testului compus,
-Organism Test Result,Rezultatul testului de organism,
-Sensitivity Test Result,Rezultatul testului de sensibilitate,
-Worksheet Print,Imprimare foaie de lucru,
-Worksheet Instructions,Instrucțiuni pentru foaia de lucru,
-Result Legend Print,Imprimare legendă rezultat,
-Print Position,Poziția de imprimare,
-Bottom,Partea de jos,
-Top,Top,
-Both,Ambii,
-Result Legend,Legenda rezultatului,
-Lab Tests,Teste de laborator,
-No Lab Tests found for the Patient {0},Nu s-au găsit teste de laborator pentru pacient {0},
-"Did not send SMS, missing patient mobile number or message content.","Nu am trimis SMS-uri, lipsă numărul de mobil al pacientului sau conținutul mesajului.",
-No Lab Tests created,Nu au fost create teste de laborator,
-Creating Lab Tests...,Se creează teste de laborator ...,
-Lab Test Group Template,Șablon de grup de test de laborator,
-Add New Line,Adăugați o linie nouă,
-Secondary UOM,UOM secundar,
-"<b>Single</b>: Results which require only a single input.\n<br>\n<b>Compound</b>: Results which require multiple event inputs.\n<br>\n<b>Descriptive</b>: Tests which have multiple result components with manual result entry.\n<br>\n<b>Grouped</b>: Test templates which are a group of other test templates.\n<br>\n<b>No Result</b>: Tests with no results, can be ordered and billed but no Lab Test will be created. e.g.. Sub Tests for Grouped results","<b>Single</b> : Rezultate care necesită o singură intrare.<br> <b>Compus</b> : Rezultate care necesită mai multe intrări de evenimente.<br> <b>Descriptiv</b> : teste care au mai multe componente ale rezultatelor cu introducerea manuală a rezultatelor.<br> <b>Grupate</b> : șabloane de testare care sunt un grup de alte șabloane de testare.<br> <b>Niciun rezultat</b> : testele fără rezultate, pot fi comandate și facturate, dar nu va fi creat niciun test de laborator. de exemplu. Subteste pentru rezultate grupate",
-"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Dacă nu este bifat, articolul nu va fi disponibil în facturile de vânzare pentru facturare, dar poate fi utilizat la crearea testului de grup.",
-Description ,Descriere,
-Descriptive Test,Test descriptiv,
-Group Tests,Teste de grup,
-Instructions to be printed on the worksheet,Instrucțiuni care trebuie tipărite pe foaia de lucru,
-"Information to help easily interpret the test report, will be printed as part of the Lab Test result.",Informațiile care vor ajuta la interpretarea cu ușurință a raportului de testare vor fi tipărite ca parte a rezultatului testului de laborator.,
-Normal Test Result,Rezultat normal al testului,
-Secondary UOM Result,Rezultatul UOM secundar,
-Italic,Cursiv,
-Underline,Subliniați,
-Organism,Organism,
-Organism Test Item,Element de testare a organismului,
-Colony Population,Populația coloniei,
-Colony UOM,Colonia UOM,
-Tobacco Consumption (Past),Consumul de tutun (trecut),
-Tobacco Consumption (Present),Consumul de tutun (Prezent),
-Alcohol Consumption (Past),Consumul de alcool (trecut),
-Alcohol Consumption (Present),Consumul de alcool (prezent),
-Billing Item,Articol de facturare,
-Medical Codes,Coduri medicale,
-Clinical Procedures,Proceduri clinice,
-Order Admission,Admiterea comenzii,
-Scheduling Patient Admission,Programarea admiterii pacientului,
-Order Discharge,Descărcare comandă,
-Sample Details,Detalii mostre,
-Collected On,Colectat pe,
-No. of prints,Nr. De amprente,
-Number of prints required for labelling the samples,Numărul de tipăriri necesare pentru etichetarea probelor,
-HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
-In Time,La timp,
-Out Time,Timp liber,
-Payroll Cost Center,Centru de salarizare,
-Approvers,Aprobatori,
-The first Approver in the list will be set as the default Approver.,Primul aprobator din listă va fi setat ca aprobator implicit.,
-Shift Request Approver,Aprobarea cererii de schimbare,
-PAN Number,Număr PAN,
-Provident Fund Account,Contul Fondului Provident,
-MICR Code,Cod MICR,
-Repay unclaimed amount from salary,Rambursați suma nepreluată din salariu,
-Deduction from salary,Deducerea din salariu,
-Expired Leaves,Frunze expirate,
-Reference No,Nr. De referință,
-Haircut percentage is the percentage difference between market value of the Loan Security and the value ascribed to that Loan Security when used as collateral for that loan.,Procentul de tunsoare este diferența procentuală dintre valoarea de piață a titlului de împrumut și valoarea atribuită respectivului titlu de împrumut atunci când este utilizat ca garanție pentru împrumutul respectiv.,
-Loan To Value Ratio expresses the ratio of the loan amount to the value of the security pledged. A loan security shortfall will be triggered if this falls below the specified value for any loan ,Raportul împrumut la valoare exprimă raportul dintre suma împrumutului și valoarea garanției gajate. O deficiență a garanției împrumutului va fi declanșată dacă aceasta scade sub valoarea specificată pentru orice împrumut,
-If this is not checked the loan by default will be considered as a Demand Loan,"Dacă acest lucru nu este verificat, împrumutul implicit va fi considerat un împrumut la cerere",
-This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,"Acest cont este utilizat pentru rezervarea rambursărilor de împrumut de la împrumutat și, de asemenea, pentru a plăti împrumuturi către împrumutat",
-This account is capital account which is used to allocate capital for loan disbursal account ,Acest cont este un cont de capital care este utilizat pentru alocarea de capital pentru contul de debursare a împrumutului,
-This account will be used for booking loan interest accruals,Acest cont va fi utilizat pentru rezervarea dobânzilor la dobândă de împrumut,
-This account will be used for booking penalties levied due to delayed repayments,Acest cont va fi utilizat pentru rezervarea penalităților percepute din cauza rambursărilor întârziate,
-Variant BOM,Varianta DOM,
-Template Item,Articol șablon,
-Select template item,Selectați elementul șablon,
-Select variant item code for the template item {0},Selectați varianta codului articolului pentru elementul șablon {0},
-Downtime Entry,Intrare în timp de inactivitate,
-DT-,DT-,
-Workstation / Machine,Stație de lucru / Mașină,
-Operator,Operator,
-In Mins,În minele,
-Downtime Reason,Motivul opririi,
-Stop Reason,Stop Reason,
-Excessive machine set up time,Timp excesiv de configurare a mașinii,
-Unplanned machine maintenance,Întreținerea neplanificată a mașinii,
-On-machine press checks,Verificări de presă la mașină,
-Machine operator errors,Erori operator operator,
-Machine malfunction,Funcționarea defectuoasă a mașinii,
-Electricity down,Electricitate scăzută,
-Operation Row Number,Număr rând operațiune,
-Operation {0} added multiple times in the work order {1},Operația {0} adăugată de mai multe ori în ordinea de lucru {1},
-"If ticked, multiple materials can be used for a single Work Order. This is useful if one or more time consuming products are being manufactured.","Dacă este bifat, mai multe materiale pot fi utilizate pentru o singură comandă de lucru. Acest lucru este util dacă sunt fabricate unul sau mai multe produse consumatoare de timp.",
-Backflush Raw Materials,Materii prime Backflush,
-"The Stock Entry of type 'Manufacture' is known as backflush. Raw materials being consumed to manufacture finished goods is known as backflushing. <br><br> When creating Manufacture Entry, raw-material items are backflushed based on BOM of production item. If you want raw-material items to be backflushed based on Material Transfer entry made against that Work Order instead, then you can set it under this field.","Intrarea în stoc a tipului „Fabricare” este cunoscută sub numele de backflush. Materiile prime consumate pentru fabricarea produselor finite sunt cunoscute sub numele de backflushing.<br><br> La crearea intrării în fabricație, articolele din materie primă sunt revocate pe baza BOM a articolului de producție. Dacă doriți ca elementele din materie primă să fie revocate în funcție de intrarea de transfer de materiale efectuată împotriva respectivei comenzi de lucru, atunci o puteți seta în acest câmp.",
-Work In Progress Warehouse,Depozit Work In Progress,
-This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Acest depozit va fi actualizat automat în câmpul Depozit de lucru în curs al comenzilor de lucru.,
-Finished Goods Warehouse,Depozit de produse finite,
-This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Acest depozit va fi actualizat automat în câmpul Depozit țintă din Ordinul de lucru.,
-"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Dacă este bifat, costul BOM va fi actualizat automat în funcție de rata de evaluare / rata de listă de prețuri / ultima rată de achiziție a materiilor prime.",
-Source Warehouses (Optional),Depozite sursă (opțional),
-"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","Sistemul va prelua materialele din depozitele selectate. Dacă nu este specificat, sistemul va crea o cerere materială pentru cumpărare.",
-Lead Time,Perioada de grație,
-PAN Details,Detalii PAN,
-Create Customer,Creați client,
-Invoicing,Facturare,
-Enable Auto Invoicing,Activați facturarea automată,
-Send Membership Acknowledgement,Trimiteți confirmarea de membru,
-Send Invoice with Email,Trimiteți factura prin e-mail,
-Membership Print Format,Formatul de tipărire a calității de membru,
-Invoice Print Format,Format de imprimare factură,
-Revoke <Key></Key>,Revoca&lt;Key&gt;&lt;/Key&gt;,
-You can learn more about memberships in the manual. ,Puteți afla mai multe despre abonamente în manual.,
-ERPNext Docs,Documente ERPNext,
-Regenerate Webhook Secret,Regenerați secretul Webhook,
-Generate Webhook Secret,Generați Webhook Secret,
-Copy Webhook URL,Copiați adresa URL Webhook,
-Linked Item,Element conectat,
-Is Recurring,Este recurent,
-HRA Exemption,Scutire HRA,
-Monthly House Rent,Închirierea lunară a casei,
-Rented in Metro City,Închiriat în Metro City,
-HRA as per Salary Structure,HRA conform structurii salariale,
-Annual HRA Exemption,Scutire anuală HRA,
-Monthly HRA Exemption,Scutire HRA lunară,
-House Rent Payment Amount,Suma plății chiriei casei,
-Rented From Date,Închiriat de la Data,
-Rented To Date,Închiriat până în prezent,
-Monthly Eligible Amount,Suma eligibilă lunară,
-Total Eligible HRA Exemption,Scutire HRA eligibilă totală,
-Validating Employee Attendance...,Validarea prezenței angajaților ...,
-Submitting Salary Slips and creating Journal Entry...,Trimiterea fișelor salariale și crearea intrării în jurnal ...,
-Calculate Payroll Working Days Based On,Calculați zilele lucrătoare de salarizare pe baza,
-Consider Unmarked Attendance As,Luați în considerare participarea nemarcată ca,
-Fraction of Daily Salary for Half Day,Fracțiunea salariului zilnic pentru jumătate de zi,
-Component Type,Tipul componentei,
-Provident Fund,Fondul Provident,
-Additional Provident Fund,Fondul Provident suplimentar,
-Provident Fund Loan,Împrumut pentru Fondul Provident,
-Professional Tax,Impozit profesional,
-Is Income Tax Component,Este componenta impozitului pe venit,
-Component properties and references ,Proprietăți și referințe ale componentelor,
-Additional Salary ,Salariu suplimentar,
-Unmarked days,Zile nemarcate,
-Absent Days,Zile absente,
-Conditions and Formula variable and example,Condiții și variabilă Formula și exemplu,
-Feedback By,Feedback de,
-Manufacturing Section,Secțiunea de fabricație,
-"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","În mod implicit, Numele clientului este setat conform Numelui complet introdus. Dacă doriți ca clienții să fie numiți de un",
-Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Configurați lista de prețuri implicită atunci când creați o nouă tranzacție de vânzări. Prețurile articolelor vor fi preluate din această listă de prețuri.,
-"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice or Delivery Note without creating a Sales Order first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Sales Order' checkbox in the Customer master.","Dacă această opțiune este configurată „Da”, ERPNext vă va împiedica să creați o factură de vânzare sau o notă de livrare fără a crea mai întâi o comandă de vânzare. Această configurație poate fi anulată pentru un anumit Client activând caseta de selectare „Permite crearea facturii de vânzare fără comandă de vânzare” din masterul Clientului.",
-"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice without creating a Delivery Note first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Delivery Note' checkbox in the Customer master.","Dacă această opțiune este configurată „Da”, ERPNext vă va împiedica să creați o factură de vânzare fără a crea mai întâi o notă de livrare. Această configurație poate fi suprascrisă pentru un anumit Client activând caseta de selectare „Permite crearea facturilor de vânzare fără notă de livrare” din masterul Clientului.",
-Default Warehouse for Sales Return,Depozit implicit pentru returnarea vânzărilor,
-Default In Transit Warehouse,Implicit în Depozitul de tranzit,
-Enable Perpetual Inventory For Non Stock Items,Activați inventarul perpetuu pentru articolele fără stoc,
-HRA Settings,Setări HRA,
-Basic Component,Componenta de bază,
-HRA Component,Componenta HRA,
-Arrear Component,Componenta Arrear,
-Please enter the company name to confirm,Vă rugăm să introduceți numele companiei pentru a confirma,
-Quotation Lost Reason Detail,Citat Detaliu motiv pierdut,
-Enable Variants,Activați variantele,
-Save Quotations as Draft,Salvați ofertele ca schiță,
-MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
-Please Select a Customer,Vă rugăm să selectați un client,
-Against Delivery Note Item,Împotriva articolului Note de livrare,
-Is Non GST ,Nu este GST,
-Image Description,Descrierea imaginii,
-Transfer Status,Stare transfer,
-MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
-Track this Purchase Receipt against any Project,Urmăriți această chitanță de cumpărare împotriva oricărui proiect,
-Please Select a Supplier,Vă rugăm să selectați un furnizor,
-Add to Transit,Adăugați la tranzit,
-Set Basic Rate Manually,Setați manual rata de bază,
-"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ","În mod implicit, numele articolului este setat conform codului articolului introdus. Dacă doriți ca elementele să fie denumite de un",
-Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Setați un depozit implicit pentru tranzacțiile de inventar. Acest lucru va fi preluat în Depozitul implicit din elementul master.,
-"This will allow stock items to be displayed in negative values. Using this option depends on your use case. With this option unchecked, the system warns before obstructing a transaction that is causing negative stock.","Acest lucru va permite afișarea articolelor stoc în valori negative. Utilizarea acestei opțiuni depinde de cazul dvs. de utilizare. Cu această opțiune bifată, sistemul avertizează înainte de a obstrucționa o tranzacție care cauzează stoc negativ.",
-Choose between FIFO and Moving Average Valuation Methods. Click ,Alegeți între FIFO și metodele de evaluare medie mobile. Clic,
- to know more about them.,să afle mai multe despre ele.,
-Show 'Scan Barcode' field above every child table to insert Items with ease.,Afișați câmpul „Scanare cod de bare” deasupra fiecărui tabel copil pentru a insera articole cu ușurință.,
-"Serial numbers for stock will be set automatically based on the Items entered based on first in first out in transactions like Purchase/Sales Invoices, Delivery Notes, etc.","Numerele de serie pentru stoc vor fi setate automat pe baza articolelor introduse pe baza primelor în primele ieșiri din tranzacții precum facturi de cumpărare / vânzare, note de livrare etc.",
-"If blank, parent Warehouse Account or company default will be considered in transactions","Dacă este necompletat, contul de depozit părinte sau prestabilitatea companiei vor fi luate în considerare în tranzacții",
-Service Level Agreement Details,Detalii acord nivel de serviciu,
-Service Level Agreement Status,Starea Acordului la nivel de serviciu,
-On Hold Since,În așteptare de când,
-Total Hold Time,Timp total de așteptare,
-Response Details,Detalii de răspuns,
-Average Response Time,Timpul mediu de răspuns,
-User Resolution Time,Ora de rezoluție a utilizatorului,
-SLA is on hold since {0},SLA este în așteptare de la {0},
-Pause SLA On Status,Întrerupeți SLA On Status,
-Pause SLA On,Întrerupeți SLA Activat,
-Greetings Section,Secțiunea Salutări,
-Greeting Title,Titlu de salut,
-Greeting Subtitle,Subtitrare de salut,
-Youtube ID,ID YouTube,
-Youtube Statistics,Statistici Youtube,
-Views,Vizualizări,
-Dislikes,Nu-mi place,
-Video Settings,Setari video,
-Enable YouTube Tracking,Activați urmărirea YouTube,
-30 mins,30 de minute,
-1 hr,1 oră,
-6 hrs,6 ore,
-Patient Progress,Progresul pacientului,
-Targetted,Țintit,
-Score Obtained,Scor obținut,
-Sessions,Sesiuni,
-Average Score,Scor mediu,
-Select Assessment Template,Selectați Șablon de evaluare,
- out of ,din,
-Select Assessment Parameter,Selectați Parametru de evaluare,
-Gender: ,Gen:,
-Contact: ,A lua legatura:,
-Total Therapy Sessions: ,Total sesiuni de terapie:,
-Monthly Therapy Sessions: ,Sesiuni lunare de terapie:,
-Patient Profile,Profilul pacientului,
-Point Of Sale,Punct de vânzare,
-Email sent successfully.,Email-ul a fost trimis cu succes.,
-Search by invoice id or customer name,Căutați după ID-ul facturii sau numele clientului,
-Invoice Status,Starea facturii,
-Filter by invoice status,Filtrează după starea facturii,
-Select item group,Selectați grupul de articole,
-No items found. Scan barcode again.,Nu au fost gasite articolele. Scanați din nou codul de bare.,
-"Search by customer name, phone, email.","Căutare după numele clientului, telefon, e-mail.",
-Enter discount percentage.,Introduceți procentul de reducere.,
-Discount cannot be greater than 100%,Reducerea nu poate fi mai mare de 100%,
-Enter customer's email,Introduceți adresa de e-mail a clientului,
-Enter customer's phone number,Introduceți numărul de telefon al clientului,
-Customer contact updated successfully.,Contactul clientului a fost actualizat cu succes.,
-Item will be removed since no serial / batch no selected.,Elementul va fi eliminat deoarece nu este selectat niciun serial / lot.,
-Discount (%),Reducere (%),
-You cannot submit the order without payment.,Nu puteți trimite comanda fără plată.,
-You cannot submit empty order.,Nu puteți trimite o comandă goală.,
-To Be Paid,A fi platit,
-Create POS Opening Entry,Creați o intrare de deschidere POS,
-Please add Mode of payments and opening balance details.,Vă rugăm să adăugați detalii despre modul de plată și soldul de deschidere.,
-Toggle Recent Orders,Comutați comenzile recente,
-Save as Draft,Salvează ca ciornă,
-You must add atleast one item to save it as draft.,Trebuie să adăugați cel puțin un articol pentru al salva ca schiță.,
-There was an error saving the document.,A apărut o eroare la salvarea documentului.,
-You must select a customer before adding an item.,Trebuie să selectați un client înainte de a adăuga un articol.,
-Please Select a Company,Vă rugăm să selectați o companie,
-Active Leads,Oportunități active,
-Please Select a Company.,Vă rugăm să selectați o companie.,
-BOM Operations Time,Timp operații BOM,
-BOM ID,ID-ul BOM,
-BOM Item Code,Cod articol BOM,
-Time (In Mins),Timp (în minute),
-Sub-assembly BOM Count,Numărul BOM al subansamblului,
-View Type,Tipul de vizualizare,
-Total Delivered Amount,Suma totală livrată,
-Downtime Analysis,Analiza timpului de oprire,
-Machine,Mașinărie,
-Downtime (In Hours),Timp de inactivitate (în ore),
-Employee Analytics,Analiza angajaților,
-"""From date"" can not be greater than or equal to ""To date""",„De la dată” nu poate fi mai mare sau egal cu „Până în prezent”,
-Exponential Smoothing Forecasting,Previziune de netezire exponențială,
-First Response Time for Issues,Primul timp de răspuns pentru probleme,
-First Response Time for Opportunity,Primul timp de răspuns pentru oportunitate,
-Depreciatied Amount,Suma depreciată,
-Period Based On,Perioada bazată pe,
-Date Based On,Data bazată pe,
-{0} and {1} are mandatory,{0} și {1} sunt obligatorii,
-Consider Accounting Dimensions,Luați în considerare dimensiunile contabile,
-Income Tax Deductions,Deduceri de impozit pe venit,
-Income Tax Component,Componenta impozitului pe venit,
-Income Tax Amount,Suma impozitului pe venit,
-Reserved Quantity for Production,Cantitate rezervată pentru producție,
-Projected Quantity,Cantitatea proiectată,
- Total Sales Amount,Suma totală a vânzărilor,
-Job Card Summary,Rezumatul fișei de muncă,
-Id,Id,
-Time Required (In Mins),Timp necesar (în minute),
-From Posting Date,De la data înregistrării,
-To Posting Date,Până la data de înregistrare,
-No records found,Nu au fost găsite,
-Customer/Lead Name,Numele clientului / clientului,
-Unmarked Days,Zile nemarcate,
-Jan,Ian,
-Feb,Februarie,
-Mar,Mar,
-Apr,Aprilie,
-Aug,Aug,
-Sep,Sept,
-Oct,Oct,
-Nov,Noiembrie,
-Dec,Dec,
-Summarized View,Vizualizare rezumată,
-Production Planning Report,Raport de planificare a producției,
-Order Qty,Comandați cantitatea,
-Raw Material Code,Codul materiei prime,
-Raw Material Name,Numele materiei prime,
-Allotted Qty,Cantitate alocată,
-Expected Arrival Date,Data de sosire preconizată,
-Arrival Quantity,Cantitatea de sosire,
-Raw Material Warehouse,Depozit de materii prime,
-Order By,Comandați după,
-Include Sub-assembly Raw Materials,Includeți subansamblarea materiilor prime,
-Professional Tax Deductions,Deduceri fiscale profesionale,
-Program wise Fee Collection,Colectarea taxelor în funcție de program,
-Fees Collected,Taxe colectate,
-Project Summary,Sumarul proiectului,
-Total Tasks,Total sarcini,
-Tasks Completed,Sarcini finalizate,
-Tasks Overdue,Sarcini restante,
-Completion,Completare,
-Provident Fund Deductions,Deduceri din fondul Provident,
-Purchase Order Analysis,Analiza comenzii de cumpărare,
-From and To Dates are required.,De la și până la date sunt necesare.,
-To Date cannot be before From Date.,To Date nu poate fi înainte de From Date.,
-Qty to Bill,Cantitate pentru Bill,
-Group by Purchase Order,Grupați după ordinul de cumpărare,
- Purchase Value,Valoare de cumpărare,
-Total Received Amount,Suma totală primită,
-Quality Inspection Summary,Rezumatul inspecției calității,
- Quoted Amount,Suma citată,
-Lead Time (Days),Timp de plumb (zile),
-Include Expired,Includeți Expirat,
-Recruitment Analytics,Analize de recrutare,
-Applicant name,Numele solicitantului,
-Job Offer status,Starea ofertei de muncă,
-On Date,La întălnire,
-Requested Items to Order and Receive,Articolele solicitate la comandă și primire,
-Salary Payments Based On Payment Mode,Plăți salariale bazate pe modul de plată,
-Salary Payments via ECS,Plăți salariale prin ECS,
-Account No,Cont nr,
-IFSC,IFSC,
-MICR,MICR,
-Sales Order Analysis,Analiza comenzilor de vânzare,
-Amount Delivered,Suma livrată,
-Delay (in Days),Întârziere (în zile),
-Group by Sales Order,Grupați după comanda de vânzare,
- Sales Value,Valoarea vânzărilor,
-Stock Qty vs Serial No Count,Cantitate stoc vs număr fără serie,
-Serial No Count,Număr de serie,
-Work Order Summary,Rezumatul comenzii de lucru,
-Produce Qty,Produceți cantitatea,
-Lead Time (in mins),Durata de livrare (în minute),
-Charts Based On,Diagramele bazate pe,
-YouTube Interactions,Interacțiuni YouTube,
-Published Date,Data publicării,
-Barnch,Barnch,
-Select a Company,Selectați o companie,
-Opportunity {0} created,Oportunitate {0} creată,
-Kindly select the company first,Vă rugăm să selectați mai întâi compania,
-Please enter From Date and To Date to generate JSON,Vă rugăm să introduceți De la dată și până la data pentru a genera JSON,
-PF Account,Cont PF,
-PF Amount,Suma PF,
-Additional PF,PF suplimentar,
-PF Loan,Împrumut PF,
-Download DATEV File,Descărcați fișierul DATEV,
-Numero has not set in the XML file,Numero nu a fost setat în fișierul XML,
-Inward Supplies(liable to reverse charge),Consumabile interne (susceptibile de a inversa taxa),
-This is based on the course schedules of this Instructor,Aceasta se bazează pe programele de curs ale acestui instructor,
-Course and Assessment,Curs și evaluare,
-Course {0} has been added to all the selected programs successfully.,Cursul {0} a fost adăugat cu succes la toate programele selectate.,
-Programs updated,Programe actualizate,
-Program and Course,Program și curs,
-{0} or {1} is mandatory,{0} sau {1} este obligatoriu,
-Mandatory Fields,Câmpuri obligatorii,
-Student {0}: {1} does not belong to Student Group {2},Student {0}: {1} nu aparține grupului de studenți {2},
-Student Attendance record {0} already exists against the Student {1},Înregistrarea prezenței studenților {0} există deja împotriva studentului {1},
-Duplicate Entry,Intrare duplicat,
-Course and Fee,Curs și Taxă,
-Not eligible for the admission in this program as per Date Of Birth,Nu este eligibil pentru admiterea în acest program conform datei nașterii,
-Topic {0} has been added to all the selected courses successfully.,Subiectul {0} a fost adăugat cu succes la toate cursurile selectate.,
-Courses updated,Cursuri actualizate,
-{0} {1} has been added to all the selected topics successfully.,{0} {1} a fost adăugat cu succes la toate subiectele selectate.,
-Topics updated,Subiecte actualizate,
-Academic Term and Program,Termen academic și program,
-Please remove this item and try to submit again or update the posting time.,Eliminați acest articol și încercați să trimiteți din nou sau să actualizați ora de postare.,
-Failed to Authenticate the API key.,Autentificarea cheii API nu a reușit.,
-Invalid Credentials,Acreditări nevalide,
-URL can only be a string,Adresa URL poate fi doar un șir,
-"Here is your webhook secret, this will be shown to you only once.","Iată secretul tău webhook, acesta îți va fi afișat o singură dată.",
-The payment for this membership is not paid. To generate invoice fill the payment details,Plata pentru acest membru nu este plătită. Pentru a genera factura completați detaliile de plată,
-An invoice is already linked to this document,O factură este deja legată de acest document,
-No customer linked to member {},Niciun client legat de membru {},
-You need to set <b>Debit Account</b> in Membership Settings,Trebuie să setați <b>Cont de debit</b> în Setări de membru,
-You need to set <b>Default Company</b> for invoicing in Membership Settings,Trebuie să setați <b>Compania implicită</b> pentru facturare în Setări de membru,
-You need to enable <b>Send Acknowledge Email</b> in Membership Settings,Trebuie să activați <b>Trimitere e-mail de confirmare</b> în setările de membru,
-Error creating membership entry for {0},Eroare la crearea intrării de membru pentru {0},
-A customer is already linked to this Member,Un client este deja legat de acest membru,
-End Date must not be lesser than Start Date,Data de încheiere nu trebuie să fie mai mică decât Data de începere,
-Employee {0} already has Active Shift {1}: {2},Angajatul {0} are deja Active Shift {1}: {2},
- from {0},de la {0},
- to {0},către {0},
-Please select Employee first.,Vă rugăm să selectați mai întâi Angajat.,
-Please set {0} for the Employee or for Department: {1},Vă rugăm să setați {0} pentru angajat sau pentru departament: {1},
-To Date should be greater than From Date,To Date ar trebui să fie mai mare decât From Date,
-Employee Onboarding: {0} is already for Job Applicant: {1},Integrarea angajaților: {0} este deja pentru solicitantul de post: {1},
-Job Offer: {0} is already for Job Applicant: {1},Ofertă de locuri de muncă: {0} este deja pentru solicitantul de post: {1},
-Only Shift Request with status 'Approved' and 'Rejected' can be submitted,Numai cererea Shift cu starea „Aprobat” și „Respins” poate fi trimisă,
-Shift Assignment: {0} created for Employee: {1},Atribuire schimbare: {0} creată pentru angajat: {1},
-You can not request for your Default Shift: {0},Nu puteți solicita schimbarea implicită: {0},
-Only Approvers can Approve this Request.,Numai aprobatorii pot aproba această solicitare.,
-Asset Value Analytics,Analiza valorii activelor,
-Category-wise Asset Value,Valoarea activelor în funcție de categorie,
-Total Assets,Total active,
-New Assets (This Year),Active noi (anul acesta),
-Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Rândul {{}: Data de înregistrare a amortizării nu trebuie să fie egală cu Disponibil pentru data de utilizare.,
-Incorrect Date,Data incorectă,
-Invalid Gross Purchase Amount,Suma brută de achiziție nevalidă,
-There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Există activități de întreținere sau reparații active asupra activului. Trebuie să le completați pe toate înainte de a anula activul.,
-% Complete,% Complet,
-Back to Course,Înapoi la curs,
-Finish Topic,Finalizați subiectul,
-Mins,Min,
-by,de,
-Back to,Înapoi la,
-Enrolling...,Se înscrie ...,
-You have successfully enrolled for the program ,V-ați înscris cu succes la program,
-Enrolled,Înscris,
-Watch Intro,Urmăriți Introducere,
-We're here to help!,Suntem aici pentru a vă ajuta!,
-Frequently Read Articles,Citiți frecvent articole,
-Please set a default company address,Vă rugăm să setați o adresă implicită a companiei,
-{0} is not a valid state! Check for typos or enter the ISO code for your state.,{0} nu este o stare validă! Verificați dacă există greșeli sau introduceți codul ISO pentru starea dvs.,
-Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,A apărut o eroare la analizarea planului de conturi: asigurați-vă că niciun cont nu are același nume,
-Plaid invalid request error,Eroare solicitare invalidă în carouri,
-Please check your Plaid client ID and secret values,Vă rugăm să verificați ID-ul dvs. de client Plaid și valorile secrete,
-Bank transaction creation error,Eroare la crearea tranzacțiilor bancare,
-Unit of Measurement,Unitate de măsură,
-Fiscal Year {0} Does Not Exist,Anul fiscal {0} nu există,
-Row # {0}: Returned Item {1} does not exist in {2} {3},Rândul # {0}: articolul returnat {1} nu există în {2} {3},
-Valuation type charges can not be marked as Inclusive,Taxele de tip de evaluare nu pot fi marcate ca Incluse,
-You do not have permissions to {} items in a {}.,Nu aveți permisiuni pentru {} articole dintr-un {}.,
-Insufficient Permissions,Permisiuni insuficiente,
-You are not allowed to update as per the conditions set in {} Workflow.,Nu aveți permisiunea de a actualiza conform condițiilor stabilite în {} Workflow.,
-Expense Account Missing,Cont de cheltuieli lipsește,
-{0} is not a valid Value for Attribute {1} of Item {2}.,{0} nu este o valoare validă pentru atributul {1} al articolului {2}.,
-Invalid Value,Valoare invalida,
-The value {0} is already assigned to an existing Item {1}.,Valoarea {0} este deja alocată unui articol existent {1}.,
-"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","Pentru a continua să editați această valoare a atributului, activați {0} în Setări pentru varianta articolului.",
-Edit Not Allowed,Editarea nu este permisă,
-Row #{0}: Item {1} is already fully received in Purchase Order {2},Rândul nr. {0}: Articolul {1} este deja complet primit în Comanda de cumpărare {2},
-You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Nu puteți crea sau anula nicio înregistrare contabilă în perioada de contabilitate închisă {0},
-POS Invoice should have {} field checked.,Factura POS ar trebui să aibă selectat câmpul {}.,
-Invalid Item,Element nevalid,
-Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Rândul # {}: nu puteți adăuga cantități postive într-o factură de returnare. Eliminați articolul {} pentru a finaliza returnarea.,
-The selected change account {} doesn't belongs to Company {}.,Contul de modificare selectat {} nu aparține companiei {}.,
-Atleast one invoice has to be selected.,Trebuie selectată cel puțin o factură.,
-Payment methods are mandatory. Please add at least one payment method.,Metodele de plată sunt obligatorii. Vă rugăm să adăugați cel puțin o metodă de plată.,
-Please select a default mode of payment,Vă rugăm să selectați un mod de plată implicit,
-You can only select one mode of payment as default,Puteți selecta doar un mod de plată ca prestabilit,
-Missing Account,Cont lipsă,
-Customers not selected.,Clienții nu sunt selectați.,
-Statement of Accounts,Declarație de conturi,
-Ageing Report Based On ,Raport de îmbătrânire bazat pe,
-Please enter distributed cost center,Vă rugăm să introduceți centrul de cost distribuit,
-Total percentage allocation for distributed cost center should be equal to 100,Alocarea procentuală totală pentru centrul de cost distribuit ar trebui să fie egală cu 100,
-Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Nu se poate activa Centrul de costuri distribuite pentru un centru de costuri deja alocat într-un alt centru de costuri distribuite,
-Parent Cost Center cannot be added in Distributed Cost Center,Centrul de costuri părinte nu poate fi adăugat în Centrul de costuri distribuite,
-A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Un centru de costuri distribuite nu poate fi adăugat în tabelul de alocare a centrului de costuri distribuite.,
-Cost Center with enabled distributed cost center can not be converted to group,Centrul de costuri cu centrul de costuri distribuite activat nu poate fi convertit în grup,
-Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Centrul de cost deja alocat într-un centru de cost distribuit nu poate fi convertit în grup,
-Trial Period Start date cannot be after Subscription Start Date,Perioada de încercare Data de începere nu poate fi ulterioară datei de începere a abonamentului,
-Subscription End Date must be after {0} as per the subscription plan,Data de încheiere a abonamentului trebuie să fie după {0} conform planului de abonament,
-Subscription End Date is mandatory to follow calendar months,Data de încheiere a abonamentului este obligatorie pentru a urma lunile calendaristice,
-Row #{}: POS Invoice {} is not against customer {},Rândul # {}: factura POS {} nu este împotriva clientului {},
-Row #{}: POS Invoice {} is not submitted yet,Rândul # {}: factura POS {} nu a fost încă trimisă,
-Row #{}: POS Invoice {} has been {},Rândul # {}: factura POS {} a fost {},
-No Supplier found for Inter Company Transactions which represents company {0},Nu a fost găsit niciun furnizor pentru tranzacțiile între companii care să reprezinte compania {0},
-No Customer found for Inter Company Transactions which represents company {0},Nu a fost găsit niciun client pentru tranzacțiile între companii care reprezintă compania {0},
-Invalid Period,Perioadă nevalidă,
-Selected POS Opening Entry should be open.,Intrarea selectată de deschidere POS ar trebui să fie deschisă.,
-Invalid Opening Entry,Intrare de deschidere nevalidă,
-Please set a Company,Vă rugăm să setați o companie,
-"Sorry, this coupon code's validity has not started","Ne pare rău, valabilitatea acestui cod cupon nu a început",
-"Sorry, this coupon code's validity has expired","Ne pare rău, valabilitatea acestui cod de cupon a expirat",
-"Sorry, this coupon code is no longer valid","Ne pare rău, acest cod de cupon nu mai este valid",
-For the 'Apply Rule On Other' condition the field {0} is mandatory,"Pentru condiția „Aplică regula la altele”, câmpul {0} este obligatoriu",
-{1} Not in Stock,{1} Nu este în stoc,
-Only {0} in Stock for item {1},Numai {0} în stoc pentru articolul {1},
-Please enter a coupon code,Vă rugăm să introduceți un cod de cupon,
-Please enter a valid coupon code,Vă rugăm să introduceți un cod de cupon valid,
-Invalid Child Procedure,Procedură copil nevalidă,
-Import Italian Supplier Invoice.,Importați factura furnizorului italian.,
-"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.","Rata de evaluare pentru articolul {0}, este necesară pentru a face înregistrări contabile pentru {1} {2}.",
- Here are the options to proceed:,Iată opțiunile pentru a continua:,
-"If the item is transacting as a Zero Valuation Rate item in this entry, please enable 'Allow Zero Valuation Rate' in the {0} Item table.","Dacă articolul tranzacționează ca articol cu o rată de evaluare zero în această intrare, activați „Permiteți o rată de evaluare zero” în tabelul {0} Articol.",
-"If not, you can Cancel / Submit this entry ","Dacă nu, puteți anula / trimite această intrare",
- performing either one below:,efectuând una dintre cele de mai jos:,
-Create an incoming stock transaction for the Item.,Creați o tranzacție de stoc primită pentru articol.,
-Mention Valuation Rate in the Item master.,Menționați rata de evaluare în elementul master.,
-Valuation Rate Missing,Rata de evaluare lipsește,
-Serial Nos Required,Numere de serie necesare,
-Quantity Mismatch,Cantitate necorespunzătoare,
-"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.","Vă rugăm să reporniți articolele și să actualizați lista de alegeri pentru a continua. Pentru a întrerupe, anulați lista de alegeri.",
-Out of Stock,Stoc epuizat,
-{0} units of Item {1} is not available.,{0} unități de articol {1} nu sunt disponibile.,
-Item for row {0} does not match Material Request,Elementul pentru rândul {0} nu se potrivește cu Cererea de material,
-Warehouse for row {0} does not match Material Request,Depozitul pentru rândul {0} nu se potrivește cu Cererea de material,
-Accounting Entry for Service,Intrare contabilă pentru service,
-All items have already been Invoiced/Returned,Toate articolele au fost deja facturate / returnate,
-All these items have already been Invoiced/Returned,Toate aceste articole au fost deja facturate / returnate,
-Stock Reconciliations,Reconcilieri stocuri,
-Merge not allowed,Îmbinarea nu este permisă,
-The following deleted attributes exist in Variants but not in the Template. You can either delete the Variants or keep the attribute(s) in template.,"Următoarele atribute șterse există în variante, dar nu în șablon. Puteți șterge variantele sau puteți păstra atributele în șablon.",
-Variant Items,Elemente variante,
-Variant Attribute Error,Eroare a atributului variantei,
-The serial no {0} does not belong to item {1},Numărul de serie {0} nu aparține articolului {1},
-There is no batch found against the {0}: {1},Nu există niciun lot găsit împotriva {0}: {1},
-Completed Operation,Operațiune finalizată,
-Work Order Analysis,Analiza comenzii de lucru,
-Quality Inspection Analysis,Analiza inspecției calității,
-Pending Work Order,Ordin de lucru în așteptare,
-Last Month Downtime Analysis,Analiza timpului de nefuncționare de luna trecută,
-Work Order Qty Analysis,Analiza cantității comenzii de lucru,
-Job Card Analysis,Analiza fișei de muncă,
-Monthly Total Work Orders,Comenzi lunare totale de lucru,
-Monthly Completed Work Orders,Comenzi de lucru finalizate lunar,
-Ongoing Job Cards,Carduri de muncă în curs,
-Monthly Quality Inspections,Inspecții lunare de calitate,
-(Forecast),(Prognoza),
-Total Demand (Past Data),Cerere totală (date anterioare),
-Total Forecast (Past Data),Prognoză totală (date anterioare),
-Total Forecast (Future Data),Prognoză totală (date viitoare),
-Based On Document,Pe baza documentului,
-Based On Data ( in years ),Pe baza datelor (în ani),
-Smoothing Constant,Netezire constantă,
-Please fill the Sales Orders table,Vă rugăm să completați tabelul Comenzi de vânzare,
-Sales Orders Required,Sunt necesare comenzi de vânzare,
-Please fill the Material Requests table,Vă rugăm să completați tabelul Cereri de materiale,
-Material Requests Required,Cereri materiale necesare,
-Items to Manufacture are required to pull the Raw Materials associated with it.,Articolele de fabricație sunt necesare pentru a extrage materiile prime asociate acestuia.,
-Items Required,Elemente necesare,
-Operation {0} does not belong to the work order {1},Operația {0} nu aparține comenzii de lucru {1},
-Print UOM after Quantity,Imprimați UOM după Cantitate,
-Set default {0} account for perpetual inventory for non stock items,Setați contul {0} implicit pentru inventarul perpetuu pentru articolele care nu sunt în stoc,
-Loan Security {0} added multiple times,Securitatea împrumutului {0} adăugată de mai multe ori,
-Loan Securities with different LTV ratio cannot be pledged against one loan,Titlurile de împrumut cu un raport LTV diferit nu pot fi gajate împotriva unui singur împrumut,
-Qty or Amount is mandatory for loan security!,Cantitatea sau suma este obligatorie pentru securitatea împrumutului!,
-Only submittted unpledge requests can be approved,Numai cererile unpledge trimise pot fi aprobate,
-Interest Amount or Principal Amount is mandatory,Suma dobânzii sau suma principală este obligatorie,
-Disbursed Amount cannot be greater than {0},Suma plătită nu poate fi mai mare de {0},
-Row {0}: Loan Security {1} added multiple times,Rândul {0}: Securitatea împrumutului {1} adăugat de mai multe ori,
-Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Rândul # {0}: articolul secundar nu trebuie să fie un pachet de produse. Eliminați articolul {1} și Salvați,
-Credit limit reached for customer {0},Limita de credit atinsă pentru clientul {0},
-Could not auto create Customer due to the following missing mandatory field(s):,Nu s-a putut crea automat Clientul din cauza următoarelor câmpuri obligatorii lipsă:,
-Please create Customer from Lead {0}.,Vă rugăm să creați Client din Lead {0}.,
-Mandatory Missing,Obligatoriu Lipsește,
-Please set Payroll based on in Payroll settings,Vă rugăm să setați salarizarea pe baza setărilor de salarizare,
-Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Salariu suplimentar: {0} există deja pentru componenta salariu: {1} pentru perioada {2} și {3},
-From Date can not be greater than To Date.,From Date nu poate fi mai mare decât To Date.,
-Payroll date can not be less than employee's joining date.,Data salarizării nu poate fi mai mică decât data aderării angajatului.,
-From date can not be less than employee's joining date.,De la data nu poate fi mai mică decât data aderării angajatului.,
-To date can not be greater than employee's relieving date.,Până în prezent nu poate fi mai mare decât data de eliberare a angajatului.,
-Payroll date can not be greater than employee's relieving date.,Data salarizării nu poate fi mai mare decât data de scutire a angajatului.,
-Row #{0}: Please enter the result value for {1},Rândul # {0}: introduceți valoarea rezultatului pentru {1},
-Mandatory Results,Rezultate obligatorii,
-Sales Invoice or Patient Encounter is required to create Lab Tests,Factura de vânzare sau întâlnirea pacientului sunt necesare pentru a crea teste de laborator,
-Insufficient Data,Date insuficiente,
-Lab Test(s) {0} created successfully,Testele de laborator {0} au fost create cu succes,
-Test :,Test :,
-Sample Collection {0} has been created,A fost creată colecția de probe {0},
-Normal Range: ,Gama normală:,
-Row #{0}: Check Out datetime cannot be less than Check In datetime,Rândul # {0}: data de check out nu poate fi mai mică decât data de check in,
-"Missing required details, did not create Inpatient Record","Lipsesc detaliile solicitate, nu s-a creat înregistrarea internată",
-Unbilled Invoices,Facturi nefacturate,
-Standard Selling Rate should be greater than zero.,Rata de vânzare standard ar trebui să fie mai mare decât zero.,
-Conversion Factor is mandatory,Factorul de conversie este obligatoriu,
-Row #{0}: Conversion Factor is mandatory,Rândul # {0}: factorul de conversie este obligatoriu,
-Sample Quantity cannot be negative or 0,Cantitatea eșantionului nu poate fi negativă sau 0,
-Invalid Quantity,Cantitate nevalidă,
-"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Vă rugăm să setați valorile implicite pentru grupul de clienți, teritoriu și lista de prețuri de vânzare din setările de vânzare",
-{0} on {1},{0} pe {1},
-{0} with {1},{0} cu {1},
-Appointment Confirmation Message Not Sent,Mesajul de confirmare a programării nu a fost trimis,
-"SMS not sent, please check SMS Settings","SMS-ul nu a fost trimis, verificați Setările SMS",
-Healthcare Service Unit Type cannot have both {0} and {1},"Tipul unității de servicii medicale nu poate avea atât {0}, cât și {1}",
-Healthcare Service Unit Type must allow atleast one among {0} and {1},Tipul unității de servicii medicale trebuie să permită cel puțin unul dintre {0} și {1},
-Set Response Time and Resolution Time for Priority {0} in row {1}.,Setați timpul de răspuns și timpul de rezoluție pentru prioritatea {0} în rândul {1}.,
-Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Timpul de răspuns pentru {0} prioritatea în rândul {1} nu poate fi mai mare decât timpul de rezoluție.,
-{0} is not enabled in {1},{0} nu este activat în {1},
-Group by Material Request,Grupați după cerere de material,
-Email Sent to Supplier {0},E-mail trimis către furnizor {0},
-"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","Accesul la cererea de ofertă de la portal este dezactivat. Pentru a permite accesul, activați-l în Setări portal.",
-Supplier Quotation {0} Created,Ofertă furnizor {0} creată,
-Valid till Date cannot be before Transaction Date,Valabil până la data nu poate fi înainte de data tranzacției,
-Unlink Advance Payment on Cancellation of Order,Deconectați plata în avans la anularea comenzii,
-"Simple Python Expression, Example: territory != 'All Territories'","Expresie simplă Python, Exemplu: teritoriu! = „Toate teritoriile”",
-Sales Contributions and Incentives,Contribuții la vânzări și stimulente,
-Sourced by Supplier,Aprovizionat de furnizor,
-Total weightage assigned should be 100%.<br>It is {0},Ponderea totală alocată ar trebui să fie de 100%.<br> Este {0},
-Account {0} exists in parent company {1}.,Contul {0} există în compania mamă {1}.,
-"To overrule this, enable '{0}' in company {1}","Pentru a ignora acest lucru, activați „{0}” în companie {1}",
-Invalid condition expression,Expresie de condiție nevalidă,
-Please Select a Company First,Vă rugăm să selectați mai întâi o companie,
-Please Select Both Company and Party Type First,"Vă rugăm să selectați mai întâi atât compania, cât și tipul de petrecere",
-Provide the invoice portion in percent,Furnizați partea de facturare în procente,
-Give number of days according to prior selection,Dați numărul de zile în funcție de selecția anterioară,
-Email Details,Detalii e-mail,
-"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Selectați o felicitare pentru receptor. De exemplu, domnul, doamna etc.",
-Preview Email,Previzualizați e-mailul,
-Please select a Supplier,Vă rugăm să selectați un furnizor,
-Supplier Lead Time (days),Timp de livrare a furnizorului (zile),
-"Home, Work, etc.","Acasă, serviciu etc.",
-Exit Interview Held On,Ieșiți din interviu,
-Condition and formula,Stare și formulă,
-Sets 'Target Warehouse' in each row of the Items table.,Setează „Depozit țintă” în fiecare rând al tabelului Elemente.,
-Sets 'Source Warehouse' in each row of the Items table.,Setează „Depozit sursă” în fiecare rând al tabelului Elemente.,
-POS Register,Registrul POS,
-"Can not filter based on POS Profile, if grouped by POS Profile","Nu se poate filtra pe baza profilului POS, dacă este grupat după profilul POS",
-"Can not filter based on Customer, if grouped by Customer","Nu se poate filtra pe baza clientului, dacă este grupat după client",
-"Can not filter based on Cashier, if grouped by Cashier","Nu se poate filtra în funcție de Casier, dacă este grupat după Casier",
-Payment Method,Modalitate de plată,
-"Can not filter based on Payment Method, if grouped by Payment Method","Nu se poate filtra pe baza metodei de plată, dacă este grupată după metoda de plată",
-Supplier Quotation Comparison,Compararea ofertelor de ofertă,
-Price per Unit (Stock UOM),Preț per unitate (stoc UOM),
-Group by Supplier,Grup pe furnizor,
-Group by Item,Grupați după articol,
-Remember to set {field_label}. It is required by {regulation}.,Nu uitați să setați {field_label}. Este cerut de {regulament}.,
-Enrollment Date cannot be before the Start Date of the Academic Year {0},Data înscrierii nu poate fi înainte de data de începere a anului academic {0},
-Enrollment Date cannot be after the End Date of the Academic Term {0},Data înscrierii nu poate fi ulterioară datei de încheiere a termenului academic {0},
-Enrollment Date cannot be before the Start Date of the Academic Term {0},Data înscrierii nu poate fi anterioară datei de începere a termenului academic {0},
-Future Posting Not Allowed,Postarea viitoare nu este permisă,
-"To enable Capital Work in Progress Accounting, ","Pentru a permite contabilitatea activității de capital în curs,",
-you must select Capital Work in Progress Account in accounts table,trebuie să selectați Contul de capital în curs în tabelul de conturi,
-You can also set default CWIP account in Company {},"De asemenea, puteți seta contul CWIP implicit în Companie {}",
-The Request for Quotation can be accessed by clicking on the following button,Cererea de ofertă poate fi accesată făcând clic pe butonul următor,
-Regards,Salutari,
-Please click on the following button to set your new password,Vă rugăm să faceți clic pe următorul buton pentru a seta noua parolă,
-Update Password,Actualizați parola,
-Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Rândul # {}: rata de vânzare a articolului {} este mai mică decât {}. Vânzarea {} ar trebui să fie cel puțin {},
-You can alternatively disable selling price validation in {} to bypass this validation.,Puteți dezactiva alternativ validarea prețului de vânzare în {} pentru a ocoli această validare.,
-Invalid Selling Price,Preț de vânzare nevalid,
-Address needs to be linked to a Company. Please add a row for Company in the Links table.,Adresa trebuie să fie legată de o companie. Vă rugăm să adăugați un rând pentru Companie în tabelul Legături.,
-Company Not Linked,Compania nu este legată,
-Import Chart of Accounts from CSV / Excel files,Importați planul de conturi din fișiere CSV / Excel,
-Completed Qty cannot be greater than 'Qty to Manufacture',Cantitatea completată nu poate fi mai mare decât „Cantitatea pentru fabricare”,
-"Row {0}: For Supplier {1}, Email Address is Required to send an email","Rândul {0}: pentru furnizor {1}, este necesară adresa de e-mail pentru a trimite un e-mail",
-"If enabled, the system will post accounting entries for inventory automatically","Dacă este activat, sistemul va înregistra automat înregistrări contabile pentru inventar",
-Accounts Frozen Till Date,Conturi congelate până la data,
-Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,"Înregistrările contabile sunt înghețate până la această dată. Nimeni nu poate crea sau modifica intrări, cu excepția utilizatorilor cu rolul specificat mai jos",
-Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Rolul permis pentru setarea conturilor înghețate și editarea intrărilor înghețate,
-Address used to determine Tax Category in transactions,Adresa utilizată pentru determinarea categoriei fiscale în tranzacții,
-"The percentage you are allowed to bill more against the amount ordered. For example, if the order value is $100 for an item and tolerance is set as 10%, then you are allowed to bill up to $110 ","Procentul pe care vi se permite să îl facturați mai mult pentru suma comandată. De exemplu, dacă valoarea comenzii este de 100 USD pentru un articol și toleranța este setată la 10%, atunci aveți permisiunea de a factura până la 110 USD",
-This role is allowed to submit transactions that exceed credit limits,Acest rol este permis să trimită tranzacții care depășesc limitele de credit,
-"If ""Months"" is selected, a fixed amount will be booked as deferred revenue or expense for each month irrespective of the number of days in a month. It will be prorated if deferred revenue or expense is not booked for an entire month","Dacă este selectată „Luni”, o sumă fixă va fi înregistrată ca venit sau cheltuială amânată pentru fiecare lună, indiferent de numărul de zile dintr-o lună. Acesta va fi proporțional dacă veniturile sau cheltuielile amânate nu sunt înregistrate pentru o lună întreagă",
-"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Dacă acest lucru nu este bifat, vor fi create intrări GL directe pentru a înregistra venituri sau cheltuieli amânate",
-Show Inclusive Tax in Print,Afișați impozitul inclus în tipar,
-Only select this if you have set up the Cash Flow Mapper documents,Selectați acest lucru numai dacă ați configurat documentele Cartografierii fluxurilor de numerar,
-Payment Channel,Canal de plată,
-Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Este necesară comanda de cumpărare pentru crearea facturii de achiziție și a chitanței?,
-Is Purchase Receipt Required for Purchase Invoice Creation?,Este necesară chitanța de cumpărare pentru crearea facturii de cumpărare?,
-Maintain Same Rate Throughout the Purchase Cycle,Mențineți aceeași rată pe tot parcursul ciclului de cumpărare,
-Allow Item To Be Added Multiple Times in a Transaction,Permiteți adăugarea articolului de mai multe ori într-o tranzacție,
-Suppliers,Furnizori,
-Send Emails to Suppliers,Trimiteți e-mailuri furnizorilor,
-Select a Supplier,Selectați un furnizor,
-Cannot mark attendance for future dates.,Nu se poate marca prezența pentru date viitoare.,
-Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Doriți să actualizați prezența?<br> Prezent: {0}<br> Absent: {1},
-Mpesa Settings,Setări Mpesa,
-Initiator Name,Numele inițiatorului,
-Till Number,Până la numărul,
-Sandbox,Sandbox,
- Online PassKey,Online PassKey,
-Security Credential,Acreditare de securitate,
-Get Account Balance,Obțineți soldul contului,
-Please set the initiator name and the security credential,Vă rugăm să setați numele inițiatorului și acreditările de securitate,
-Inpatient Medication Entry,Intrarea în medicamente pentru pacienții internați,
-HLC-IME-.YYYY.-,HLC-IME-.YYYY.-,
-Item Code (Drug),Cod articol (medicament),
-Medication Orders,Comenzi de medicamente,
-Get Pending Medication Orders,Obțineți comenzi de medicamente în așteptare,
-Inpatient Medication Orders,Comenzi pentru medicamente internate,
-Medication Warehouse,Depozit de medicamente,
-Warehouse from where medication stock should be consumed,Depozit de unde ar trebui consumat stocul de medicamente,
-Fetching Pending Medication Orders,Preluarea comenzilor de medicamente în așteptare,
-Inpatient Medication Entry Detail,Detalii privind intrarea medicamentelor pentru pacienții internați,
-Medication Details,Detalii despre medicamente,
-Drug Code,Codul drogurilor,
-Drug Name,Numele medicamentului,
-Against Inpatient Medication Order,Împotriva ordinului privind medicamentul internat,
-Against Inpatient Medication Order Entry,Împotriva introducerii comenzii pentru medicamente internate,
-Inpatient Medication Order,Ordinul privind medicamentul internat,
-HLC-IMO-.YYYY.-,HLC-IMO-.YYYY.-,
-Total Orders,Total comenzi,
-Completed Orders,Comenzi finalizate,
-Add Medication Orders,Adăugați comenzi de medicamente,
-Adding Order Entries,Adăugarea intrărilor de comandă,
-{0} medication orders completed,{0} comenzi de medicamente finalizate,
-{0} medication order completed,{0} comandă de medicamente finalizată,
-Inpatient Medication Order Entry,Intrarea comenzii pentru medicamente internate,
-Is Order Completed,Comanda este finalizată,
-Employee Records to Be Created By,Înregistrările angajaților care trebuie create de,
-Employee records are created using the selected field,Înregistrările angajaților sunt create folosind câmpul selectat,
-Don't send employee birthday reminders,Nu trimiteți memento-uri de ziua angajaților,
-Restrict Backdated Leave Applications,Restricționează aplicațiile de concediu actualizate,
-Sequence ID,ID secvență,
-Sequence Id,Secvența Id,
-Allow multiple material consumptions against a Work Order,Permiteți mai multe consumuri de materiale împotriva unei comenzi de lucru,
-Plan time logs outside Workstation working hours,Planificați jurnalele de timp în afara programului de lucru al stației de lucru,
-Plan operations X days in advance,Planificați operațiunile cu X zile înainte,
-Time Between Operations (Mins),Timpul dintre operații (min.),
-Default: 10 mins,Implicit: 10 minute,
-Overproduction for Sales and Work Order,Supraproducție pentru vânzări și comandă de lucru,
-"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","Actualizați automat costul BOM prin programator, pe baza celei mai recente rate de evaluare / tarif de listă de prețuri / ultimul procent de cumpărare a materiilor prime",
-Purchase Order already created for all Sales Order items,Comanda de cumpărare deja creată pentru toate articolele comenzii de vânzare,
-Select Items,Selectați elemente,
-Against Default Supplier,Împotriva furnizorului implicit,
-Auto close Opportunity after the no. of days mentioned above,Închidere automată Oportunitate după nr. de zile menționate mai sus,
-Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Este necesară comanda de vânzare pentru crearea facturilor de vânzare și a notelor de livrare?,
-Is Delivery Note Required for Sales Invoice Creation?,Este necesară nota de livrare pentru crearea facturii de vânzare?,
-How often should Project and Company be updated based on Sales Transactions?,Cât de des ar trebui actualizate proiectul și compania pe baza tranzacțiilor de vânzare?,
-Allow User to Edit Price List Rate in Transactions,Permiteți utilizatorului să editeze rata listei de prețuri în tranzacții,
-Allow Item to Be Added Multiple Times in a Transaction,Permiteți adăugarea articolului de mai multe ori într-o tranzacție,
-Allow Multiple Sales Orders Against a Customer's Purchase Order,Permiteți mai multe comenzi de vânzare împotriva comenzii de cumpărare a unui client,
-Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Validați prețul de vânzare al articolului împotriva ratei de achiziție sau a ratei de evaluare,
-Hide Customer's Tax ID from Sales Transactions,Ascundeți codul fiscal al clientului din tranzacțiile de vânzare,
-"The percentage you are allowed to receive or deliver more against the quantity ordered. For example, if you have ordered 100 units, and your Allowance is 10%, then you are allowed to receive 110 units.","Procentul pe care vi se permite să îl primiți sau să livrați mai mult în raport cu cantitatea comandată. De exemplu, dacă ați comandat 100 de unități, iar alocația dvs. este de 10%, atunci aveți permisiunea de a primi 110 unități.",
-Action If Quality Inspection Is Not Submitted,Acțiune dacă inspecția de calitate nu este trimisă,
-Auto Insert Price List Rate If Missing,Introduceți automat prețul listei de prețuri dacă lipsește,
-Automatically Set Serial Nos Based on FIFO,Setați automat numărul de serie pe baza FIFO,
-Set Qty in Transactions Based on Serial No Input,Setați cantitatea în tranzacțiile bazate pe intrare de serie,
-Raise Material Request When Stock Reaches Re-order Level,Creșteți cererea de material atunci când stocul atinge nivelul de re-comandă,
-Notify by Email on Creation of Automatic Material Request,Notificați prin e-mail la crearea cererii automate de materiale,
-Allow Material Transfer from Delivery Note to Sales Invoice,Permiteți transferul de materiale din nota de livrare către factura de vânzare,
-Allow Material Transfer from Purchase Receipt to Purchase Invoice,Permiteți transferul de materiale de la chitanța de cumpărare la factura de cumpărare,
-Freeze Stocks Older Than (Days),Înghețați stocurile mai vechi de (zile),
-Role Allowed to Edit Frozen Stock,Rolul permis pentru editarea stocului înghețat,
-The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,Valoarea nealocată a intrării de plată {0} este mai mare decât suma nealocată a tranzacției bancare,
-Payment Received,Plata primita,
-Attendance cannot be marked outside of Academic Year {0},Prezența nu poate fi marcată în afara anului academic {0},
-Student is already enrolled via Course Enrollment {0},Studentul este deja înscris prin Înscrierea la curs {0},
-Attendance cannot be marked for future dates.,Prezența nu poate fi marcată pentru datele viitoare.,
-Please add programs to enable admission application.,Vă rugăm să adăugați programe pentru a activa cererea de admitere.,
-The following employees are currently still reporting to {0}:,"În prezent, următorii angajați raportează încă la {0}:",
-Please make sure the employees above report to another Active employee.,Vă rugăm să vă asigurați că angajații de mai sus raportează unui alt angajat activ.,
-Cannot Relieve Employee,Nu poate scuti angajatul,
-Please enter {0},Vă rugăm să introduceți {0},
-Please select another payment method. Mpesa does not support transactions in currency '{0}',Vă rugăm să selectați o altă metodă de plată. Mpesa nu acceptă tranzacții în moneda „{0}”,
-Transaction Error,Eroare de tranzacție,
-Mpesa Express Transaction Error,Eroare tranzacție Mpesa Express,
-"Issue detected with Mpesa configuration, check the error logs for more details","Problemă detectată la configurația Mpesa, verificați jurnalele de erori pentru mai multe detalii",
-Mpesa Express Error,Eroare Mpesa Express,
-Account Balance Processing Error,Eroare procesare sold sold,
-Please check your configuration and try again,Vă rugăm să verificați configurația și să încercați din nou,
-Mpesa Account Balance Processing Error,Eroare de procesare a soldului contului Mpesa,
-Balance Details,Detalii sold,
-Current Balance,Sold curent,
-Available Balance,Sold disponibil,
-Reserved Balance,Sold rezervat,
-Uncleared Balance,Sold neclar,
-Payment related to {0} is not completed,Plata aferentă {0} nu este finalizată,
-Row #{}: Item Code: {} is not available under warehouse {}.,Rândul # {}: Codul articolului: {} nu este disponibil în depozit {}.,
-Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Rândul # {}: cantitatea de stoc nu este suficientă pentru codul articolului: {} în depozit {}. Cantitate Disponibilă {}.,
-Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Rândul # {}: selectați un număr de serie și împărțiți-l cu elementul: {} sau eliminați-l pentru a finaliza tranzacția.,
-Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,Rândul # {}: nu a fost selectat niciun număr de serie pentru elementul: {}. Vă rugăm să selectați una sau să o eliminați pentru a finaliza tranzacția.,
-Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,Rândul # {}: nu a fost selectat niciun lot pentru elementul: {}. Vă rugăm să selectați un lot sau să îl eliminați pentru a finaliza tranzacția.,
-Payment amount cannot be less than or equal to 0,Suma plății nu poate fi mai mică sau egală cu 0,
-Please enter the phone number first,Vă rugăm să introduceți mai întâi numărul de telefon,
-Row #{}: {} {} does not exist.,Rândul # {}: {} {} nu există.,
-Row #{0}: {1} is required to create the Opening {2} Invoices,Rândul # {0}: {1} este necesar pentru a crea facturile de deschidere {2},
-You had {} errors while creating opening invoices. Check {} for more details,Ați avut {} erori la crearea facturilor de deschidere. Verificați {} pentru mai multe detalii,
-Error Occured,A aparut o eroare,
-Opening Invoice Creation In Progress,Se deschide crearea facturii în curs,
-Creating {} out of {} {},Se creează {} din {} {},
-(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,(Nr. De serie: {0}) nu poate fi consumat deoarece este rezervat pentru a îndeplini comanda de vânzare {1}.,
-Item {0} {1},Element {0} {1},
-Last Stock Transaction for item {0} under warehouse {1} was on {2}.,Ultima tranzacție de stoc pentru articolul {0} aflat în depozit {1} a fost pe {2}.,
-Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Tranzacțiile de stoc pentru articolul {0} aflat în depozit {1} nu pot fi înregistrate înainte de această dată.,
-Posting future stock transactions are not allowed due to Immutable Ledger,Înregistrarea tranzacțiilor viitoare cu acțiuni nu este permisă din cauza contabilității imuabile,
-A BOM with name {0} already exists for item {1}.,O listă cu numele {0} există deja pentru articolul {1}.,
-{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Ați redenumit articolul? Vă rugăm să contactați administratorul / asistența tehnică,
-At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},La rândul # {0}: ID-ul secvenței {1} nu poate fi mai mic decât ID-ul anterior al secvenței de rând {2},
-The {0} ({1}) must be equal to {2} ({3}),{0} ({1}) trebuie să fie egal cu {2} ({3}),
-"{0}, complete the operation {1} before the operation {2}.","{0}, finalizați operația {1} înainte de operație {2}.",
-Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,Nu se poate asigura livrarea prin numărul de serie deoarece articolul {0} este adăugat cu și fără Asigurați livrarea prin numărul de serie,
-Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Articolul {0} nu are nr. De serie. Numai articolele serializate pot fi livrate pe baza numărului de serie,
-No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Nu s-a găsit niciun material activ pentru articolul {0}. Livrarea prin nr. De serie nu poate fi asigurată,
-No pending medication orders found for selected criteria,Nu s-au găsit comenzi de medicamente în așteptare pentru criteriile selectate,
-From Date cannot be after the current date.,From Date nu poate fi după data curentă.,
-To Date cannot be after the current date.,To Date nu poate fi după data curentă.,
-From Time cannot be after the current time.,From Time nu poate fi după ora curentă.,
-To Time cannot be after the current time.,To Time nu poate fi după ora curentă.,
-Stock Entry {0} created and ,Înregistrare stoc {0} creată și,
-Inpatient Medication Orders updated successfully,Comenzile pentru medicamente internate au fost actualizate cu succes,
-Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Rândul {0}: Nu se poate crea o intrare pentru medicamentul internat împotriva comenzii anulate pentru medicamentul internat {1},
-Row {0}: This Medication Order is already marked as completed,Rândul {0}: această comandă de medicamente este deja marcată ca finalizată,
-Quantity not available for {0} in warehouse {1},Cantitatea nu este disponibilă pentru {0} în depozit {1},
-Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Vă rugăm să activați Permiteți stocul negativ în setările stocului sau creați intrarea stocului pentru a continua.,
-No Inpatient Record found against patient {0},Nu s-a găsit nicio înregistrare a pacientului internat împotriva pacientului {0},
-An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Există deja un ordin de medicare internă {0} împotriva întâlnirii pacientului {1}.,
-Allow In Returns,Permiteți returnări,
-Hide Unavailable Items,Ascundeți articolele indisponibile,
-Apply Discount on Discounted Rate,Aplicați reducere la tariful redus,
-Therapy Plan Template,Șablon de plan de terapie,
-Fetching Template Details,Preluarea detaliilor șablonului,
-Linked Item Details,Detalii legate de articol,
-Therapy Types,Tipuri de terapie,
-Therapy Plan Template Detail,Detaliu șablon plan de terapie,
-Non Conformance,Non conformist,
-Process Owner,Deținătorul procesului,
-Corrective Action,Acțiune corectivă,
-Preventive Action,Actiune preventiva,
-Problem,Problemă,
-Responsible,Responsabil,
-Completion By,Finalizare de,
-Process Owner Full Name,Numele complet al proprietarului procesului,
-Right Index,Index corect,
-Left Index,Index stânga,
-Sub Procedure,Sub procedură,
-Passed,A trecut,
-Print Receipt,Tipărire chitanță,
-Edit Receipt,Editați chitanța,
-Focus on search input,Concentrați-vă pe introducerea căutării,
-Focus on Item Group filter,Concentrați-vă pe filtrul Grup de articole,
-Checkout Order / Submit Order / New Order,Comanda de comandă / Trimiteți comanda / Comanda nouă,
-Add Order Discount,Adăugați reducere la comandă,
-Item Code: {0} is not available under warehouse {1}.,Cod articol: {0} nu este disponibil în depozit {1}.,
-Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Numerele de serie nu sunt disponibile pentru articolul {0} aflat în depozit {1}. Vă rugăm să încercați să schimbați depozitul.,
-Fetched only {0} available serial numbers.,S-au preluat numai {0} numere de serie disponibile.,
-Switch Between Payment Modes,Comutați între modurile de plată,
-Enter {0} amount.,Introduceți suma {0}.,
-You don't have enough points to redeem.,Nu aveți suficiente puncte de valorificat.,
-You can redeem upto {0}.,Puteți valorifica până la {0}.,
-Enter amount to be redeemed.,Introduceți suma de răscumpărat.,
-You cannot redeem more than {0}.,Nu puteți valorifica mai mult de {0}.,
-Open Form View,Deschideți vizualizarea formularului,
-POS invoice {0} created succesfully,Factura POS {0} a fost creată cu succes,
-Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Cantitatea de stoc nu este suficientă pentru Codul articolului: {0} în depozit {1}. Cantitatea disponibilă {2}.,
-Serial No: {0} has already been transacted into another POS Invoice.,Nr. De serie: {0} a fost deja tranzacționat într-o altă factură POS.,
-Balance Serial No,Nr,
-Warehouse: {0} does not belong to {1},Depozit: {0} nu aparține {1},
-Please select batches for batched item {0},Vă rugăm să selectați loturile pentru elementul lot {0},
-Please select quantity on row {0},Vă rugăm să selectați cantitatea de pe rândul {0},
-Please enter serial numbers for serialized item {0},Introduceți numerele de serie pentru articolul serializat {0},
-Batch {0} already selected.,Lotul {0} deja selectat.,
-Please select a warehouse to get available quantities,Vă rugăm să selectați un depozit pentru a obține cantitățile disponibile,
-"For transfer from source, selected quantity cannot be greater than available quantity","Pentru transfer din sursă, cantitatea selectată nu poate fi mai mare decât cantitatea disponibilă",
-Cannot find Item with this Barcode,Nu se poate găsi un articol cu acest cod de bare,
-{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} este obligatoriu. Poate că înregistrarea schimbului valutar nu este creată pentru {1} până la {2},
-{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} a trimis materiale legate de acesta. Trebuie să anulați activele pentru a crea returnarea achiziției.,
-Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Nu se poate anula acest document deoarece este asociat cu materialul trimis {0}. Anulați-l pentru a continua.,
-Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rândul # {}: numărul de serie {} a fost deja tranzacționat într-o altă factură POS. Vă rugăm să selectați numărul de serie valid.,
-Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rândul # {}: Nr. De serie {} a fost deja tranzacționat într-o altă factură POS. Vă rugăm să selectați numărul de serie valid.,
-Item Unavailable,Elementul nu este disponibil,
-Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Rândul # {}: seria nr. {} Nu poate fi returnată deoarece nu a fost tranzacționată în factura originală {},
-Please set default Cash or Bank account in Mode of Payment {},Vă rugăm să setați implicit numerar sau cont bancar în modul de plată {},
-Please set default Cash or Bank account in Mode of Payments {},Vă rugăm să setați implicit numerar sau cont bancar în modul de plăți {},
-Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Vă rugăm să vă asigurați că {} contul este un cont de bilanț. Puteți schimba contul părinte într-un cont de bilanț sau puteți selecta un alt cont.,
-Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Vă rugăm să vă asigurați că {} contul este un cont de plătit. Schimbați tipul de cont la Plătibil sau selectați un alt cont.,
-Row {}: Expense Head changed to {} ,Rând {}: capul cheltuielilor a fost schimbat în {},
-because account {} is not linked to warehouse {} ,deoarece contul {} nu este conectat la depozit {},
-or it is not the default inventory account,sau nu este contul de inventar implicit,
-Expense Head Changed,Capul cheltuielilor s-a schimbat,
-because expense is booked against this account in Purchase Receipt {},deoarece cheltuielile sunt rezervate pentru acest cont în chitanța de cumpărare {},
-as no Purchase Receipt is created against Item {}. ,deoarece nu se creează chitanță de cumpărare împotriva articolului {}.,
-This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Acest lucru se face pentru a gestiona contabilitatea cazurilor în care Bonul de cumpărare este creat după factura de achiziție,
-Purchase Order Required for item {},Comandă de achiziție necesară pentru articolul {},
-To submit the invoice without purchase order please set {} ,"Pentru a trimite factura fără comandă de cumpărare, setați {}",
-as {} in {},ca în {},
-Mandatory Purchase Order,Comandă de cumpărare obligatorie,
-Purchase Receipt Required for item {},Chitanță de cumpărare necesară pentru articolul {},
-To submit the invoice without purchase receipt please set {} ,"Pentru a trimite factura fără chitanță de cumpărare, setați {}",
-Mandatory Purchase Receipt,Chitanță de cumpărare obligatorie,
-POS Profile {} does not belongs to company {},Profilul POS {} nu aparține companiei {},
-User {} is disabled. Please select valid user/cashier,Utilizatorul {} este dezactivat. Vă rugăm să selectați un utilizator / casier valid,
-Row #{}: Original Invoice {} of return invoice {} is {}. ,Rândul # {}: factura originală {} a facturii de returnare {} este {}.,
-Original invoice should be consolidated before or along with the return invoice.,Factura originală ar trebui consolidată înainte sau împreună cu factura de returnare.,
-You can add original invoice {} manually to proceed.,Puteți adăuga factura originală {} manual pentru a continua.,
-Please ensure {} account is a Balance Sheet account. ,Vă rugăm să vă asigurați că {} contul este un cont de bilanț.,
-You can change the parent account to a Balance Sheet account or select a different account.,Puteți schimba contul părinte într-un cont de bilanț sau puteți selecta un alt cont.,
-Please ensure {} account is a Receivable account. ,Vă rugăm să vă asigurați că {} contul este un cont de încasat.,
-Change the account type to Receivable or select a different account.,Schimbați tipul de cont pentru de primit sau selectați un alt cont.,
-{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"{} nu poate fi anulat, deoarece punctele de loialitate câștigate au fost valorificate. Anulați mai întâi {} Nu {}",
-already exists,deja exista,
-POS Closing Entry {} against {} between selected period,Închidere POS {} contra {} între perioada selectată,
-POS Invoice is {},Factura POS este {},
-POS Profile doesn't matches {},Profilul POS nu se potrivește cu {},
-POS Invoice is not {},Factura POS nu este {},
-POS Invoice isn't created by user {},Factura POS nu este creată de utilizator {},
-Row #{}: {},Rând #{}: {},
-Invalid POS Invoices,Facturi POS nevalide,
-Please add the account to root level Company - {},Vă rugăm să adăugați contul la compania la nivel de rădăcină - {},
-"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","În timp ce creați un cont pentru Compania copil {0}, contul părinte {1} nu a fost găsit. Vă rugăm să creați contul părinte în COA corespunzător",
-Account Not Found,Contul nu a fost găsit,
-"While creating account for Child Company {0}, parent account {1} found as a ledger account.","În timp ce creați un cont pentru Compania pentru copii {0}, contul părinte {1} a fost găsit ca un cont mare.",
-Please convert the parent account in corresponding child company to a group account.,Vă rugăm să convertiți contul părinte al companiei copil corespunzătoare într-un cont de grup.,
-Invalid Parent Account,Cont părinte nevalid,
-"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Redenumirea acestuia este permisă numai prin intermediul companiei-mamă {0}, pentru a evita nepotrivirea.",
-"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Dacă {0} {1} cantitățile articolului {2}, schema {3} va fi aplicată articolului.",
-"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Dacă {0} {1} valorează articolul {2}, schema {3} va fi aplicată articolului.",
-"As the field {0} is enabled, the field {1} is mandatory.","Deoarece câmpul {0} este activat, câmpul {1} este obligatoriu.",
-"As the field {0} is enabled, the value of the field {1} should be more than 1.","Deoarece câmpul {0} este activat, valoarea câmpului {1} trebuie să fie mai mare de 1.",
-Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Nu se poate livra numărul de serie {0} al articolului {1} deoarece este rezervat pentru a îndeplini comanda de vânzare {2},
-"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Comanda de vânzări {0} are rezervare pentru articolul {1}, puteți livra rezervat {1} numai cu {0}.",
-{0} Serial No {1} cannot be delivered,{0} Numărul de serie {1} nu poate fi livrat,
-Row {0}: Subcontracted Item is mandatory for the raw material {1},Rândul {0}: articolul subcontractat este obligatoriu pentru materia primă {1},
-"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Deoarece există suficiente materii prime, cererea de material nu este necesară pentru depozit {0}.",
-" If you still want to proceed, please enable {0}.","Dacă totuși doriți să continuați, activați {0}.",
-The item referenced by {0} - {1} is already invoiced,Elementul la care face referire {0} - {1} este deja facturat,
-Therapy Session overlaps with {0},Sesiunea de terapie se suprapune cu {0},
-Therapy Sessions Overlapping,Sesiunile de terapie se suprapun,
-Therapy Plans,Planuri de terapie,
-"Item Code, warehouse, quantity are required on row {0}","Codul articolului, depozitul, cantitatea sunt necesare pe rândul {0}",
-Get Items from Material Requests against this Supplier,Obțineți articole din solicitările materiale împotriva acestui furnizor,
-Enable European Access,Activați accesul european,
-Creating Purchase Order ...,Se creează comanda de cumpărare ...,
-"Select a Supplier from the Default Suppliers of the items below. On selection, a Purchase Order will be made against items belonging to the selected Supplier only.","Selectați un furnizor din furnizorii prestabiliți ai articolelor de mai jos. La selectare, o comandă de achiziție va fi făcută numai pentru articolele aparținând furnizorului selectat.",
-Row #{}: You must select {} serial numbers for item {}.,Rândul # {}: trebuie să selectați {} numere de serie pentru articol {}.,
+"""Customer Provided Item"" cannot be Purchase Item also","""Elementul furnizat de client"" nu poate fi și articolul de cumpărare",
+"""Customer Provided Item"" cannot have Valuation Rate","""Elementul furnizat de client"" nu poate avea rata de evaluare",
+"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","""Este activ fix"" nu poate fi debifată deoarece există informații împotriva produsului",
+'Based On' and 'Group By' can not be same,'Bazat pe' și 'Grupat dupa' nu pot fi identice,
+'Days Since Last Order' must be greater than or equal to zero,'Zile de la ultima comandă' trebuie să fie mai mare sau egal cu zero,
+'Entries' cannot be empty,'Intrările' nu pot fi vide,
+'From Date' is required,'Din Data' este necesar,
+'From Date' must be after 'To Date','Din Data' trebuie să fie dupã 'Până în Data',
+'Has Serial No' can not be 'Yes' for non-stock item,'Are numãr de serie' nu poate fi 'Da' pentru articolele care nu au stoc,
+'Opening',&quot;Deschiderea&quot;,
+'To Case No.' cannot be less than 'From Case No.','Până la situația nr.' nu poate fi mai mică decât 'De la situația nr.',
+'To Date' is required,'Până la data' este necesară,
+'Total',&#39;Total&#39;,
+'Update Stock' can not be checked because items are not delivered via {0},"""Actualizare stoc"" nu poate fi activat, deoarece obiectele nu sunt livrate prin {0}",
+'Update Stock' cannot be checked for fixed asset sale,&quot;Actualizare stoc&quot; nu poate fi verificată de vânzare de active fixe,
+) for {0},) pentru {0},
+1 exact match.,1 potrivire exactă.,
+90-Above,90-si mai mult,
+A Customer Group exists with same name please change the Customer name or rename the Customer Group,Există un grup de clienți cu același nume; vă rugăm să schimbați numele clientului sau să redenumiți grupul de clienți,
+A Default Service Level Agreement already exists.,Există deja un Acord de nivel de serviciu implicit.,
+A Lead requires either a person's name or an organization's name,"Un conducător necesită fie numele unei persoane, fie numele unei organizații",
+A customer with the same name already exists,Un client cu același nume există deja,
+A question must have more than one options,O întrebare trebuie să aibă mai multe opțiuni,
+A qustion must have at least one correct options,O chestiune trebuie să aibă cel puțin o opțiune corectă,
+A {0} exists between {1} and {2} (,A {0} există între {1} și {2} (,
+A4,A4,
+API Endpoint,API Endpoint,
+API Key,Cheie API,
+Abbr can not be blank or space,Abr. nu poate fi gol sau spațiu,
+Abbreviation already used for another company,Abreviere deja folosita pentru o altă companie,
+Abbreviation cannot have more than 5 characters,Prescurtarea nu poate conține mai mult de 5 caractere,
+Abbreviation is mandatory,Abreviere este obligatorie,
+About the Company,Despre companie,
+About your company,Despre Compania ta,
+Above,Deasupra,
+Absent,Absent,
+Academic Term,Termen academic,
+Academic Term: ,Termen academic:,
+Academic Year,An academic,
+Academic Year: ,An academic:,
+Accepted + Rejected Qty must be equal to Received quantity for Item {0},Cant. acceptată + respinsă trebuie să fie egală cu cantitatea recepționată pentru articolul {0},
+Access Token,Acces Token,
+Accessable Value,Valoare accesibilă,
+Account,Cont,
+Account Number,Numar de cont,
+Account Number {0} already used in account {1},Numărul contului {0} deja utilizat în contul {1},
+Account Pay Only,Contul Plătiți numai,
+Account Type,Tipul Contului,
+Account Type for {0} must be {1},Tipul de cont pentru {0} trebuie să fie {1},
+"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Soldul contului este deja în credit, nu vă este permis să setați ""Balanța trebuie să fie"" drept ""Debit"".",
+"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Soldul contului este deja în credit, nu vă este permis să setați ""Balanța trebuie să fie"" drept ""Credit"".",
+Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Numărul contului pentru contul {0} nu este disponibil. <br> Vă rugăm să configurați corect planul de conturi.,
+Account with child nodes cannot be converted to ledger,Un cont cu noduri copil nu poate fi transformat în registru contabil,
+Account with child nodes cannot be set as ledger,Cont cu noduri copil nu poate fi setat ca Registru Contabil,
+Account with existing transaction can not be converted to group.,Un cont cu tranzacții existente nu poate fi transformat în grup.,
+Account with existing transaction can not be deleted,Un cont cu tranzacții existente nu poate fi șters,
+Account with existing transaction cannot be converted to ledger,Un cont cu tranzacții existente nu poate fi transformat în registru contabil,
+Account {0} does not belong to company: {1},Contul {0} nu aparține companiei: {1},
+Account {0} does not belongs to company {1},Contul {0} nu aparține companiei {1},
+Account {0} does not exist,Contul {0} nu există,
+Account {0} does not exists,Contul {0} nu există,
+Account {0} does not match with Company {1} in Mode of Account: {2},Contul {0} nu se potrivește cu Compania {1} în modul de cont: {2},
+Account {0} has been entered multiple times,Contul {0} a fost introdus de mai multe ori,
+Account {0} is added in the child company {1},Contul {0} este adăugat în compania copil {1},
+Account {0} is frozen,Contul {0} este Blocat,
+Account {0} is invalid. Account Currency must be {1},Contul {0} nu este valid. Valuta contului trebuie să fie {1},
+Account {0}: Parent account {1} can not be a ledger,Contul {0}: cont Părinte {1} nu poate fi un registru,
+Account {0}: Parent account {1} does not belong to company: {2},Contul {0}: cont Părinte {1} nu apartine companiei: {2},
+Account {0}: Parent account {1} does not exist,Contul {0}: cont părinte {1} nu există,
+Account {0}: You can not assign itself as parent account,Contul {0}: nu puteți atribui contului în sine calitatea de cont părinte,
+Account: {0} can only be updated via Stock Transactions,Contul: {0} poate fi actualizat doar prin Tranzacții stoc,
+Account: {0} with currency: {1} can not be selected,Contul: {0} cu moneda: {1} nu poate fi selectat,
+Accountant,Contabil,
+Accounting,Contabilitate,
+Accounting Entry for Asset,Înregistrare contabilă a activelor,
+Accounting Entry for Stock,Intrare Contabilă pentru Stoc,
+Accounting Entry for {0}: {1} can only be made in currency: {2},Intrarea contabila pentru {0}: {1} se poate face numai în valuta: {2},
+Accounting Ledger,Registru Jurnal,
+Accounting journal entries.,Inregistrari contabile de jurnal.,
+Accounts,Conturi,
+Accounts Manager,Manager de Conturi,
+Accounts Payable,Conturi de plată,
+Accounts Payable Summary,Rezumat conturi pentru plăți,
+Accounts Receivable,Conturi de Incasare,
+Accounts Receivable Summary,Rezumat conturi de încasare,
+Accounts User,Conturi de utilizator,
+Accounts table cannot be blank.,Planul de conturi nu poate fi gol.,
+Accrual Journal Entry for salaries from {0} to {1},Înregistrarea jurnalelor de angajare pentru salariile de la {0} la {1},
+Accumulated Depreciation,Amortizarea cumulată,
+Accumulated Depreciation Amount,Sumă Amortizarea cumulată,
+Accumulated Depreciation as on,Amortizarea ca pe acumulat,
+Accumulated Monthly,lunar acumulat,
+Accumulated Values,Valorile acumulate,
+Accumulated Values in Group Company,Valori acumulate în compania grupului,
+Achieved ({}),Realizat ({}),
+Action,Acțiune:,
+Action Initialised,Acțiune inițiată,
+Actions,Acțiuni,
+Active,Activ,
+Activity Cost exists for Employee {0} against Activity Type - {1},Există cost activitate pentru angajatul {0} comparativ tipului de activitate - {1},
+Activity Cost per Employee,Cost activitate per angajat,
+Activity Type,Tip Activitate,
+Actual Cost,Costul actual,
+Actual Delivery Date,Data de livrare efectivă,
+Actual Qty,Cant. Efectivă,
+Actual Qty is mandatory,Cantitatea efectivă este obligatorie,
+Actual Qty {0} / Waiting Qty {1},Cant. reală {0} / Cant. în așteptare {1},
+Actual Qty: Quantity available in the warehouse.,Cantitate Actuală: Cantitate disponibilă în depozit.,
+Actual qty in stock,Cant. efectivă în stoc,
+Actual type tax cannot be included in Item rate in row {0},Taxa efectivă de tip nu poate fi inclusă în tariful articolului din rândul {0},
+Add,Adaugă,
+Add / Edit Prices,Adăugați / editați preturi,
+Add Comment,Adăugă Comentariu,
+Add Customers,Adăugați clienți,
+Add Employees,Adăugă Angajați,
+Add Item,Adăugă Element,
+Add Items,Adăugă Elemente,
+Add Leads,Adaugă Oportunități,
+Add Multiple Tasks,Adăugă Sarcini Multiple,
+Add Row,Adăugă Rând,
+Add Sales Partners,Adăugă Parteneri de Vânzări,
+Add Serial No,Adăugaţi Nr. de Serie,
+Add Students,Adăugă Elevi,
+Add Suppliers,Adăugă Furnizori,
+Add Time Slots,Adăugă Intervale de Timp,
+Add Timesheets,Adăugă Pontaje,
+Add Timeslots,Adăugă Intervale de Timp,
+Add Users to Marketplace,Adăugă Utilizatori la Marketplace,
+Add a new address,Adăugați o adresă nouă,
+Add cards or custom sections on homepage,Adăugați carduri sau secțiuni personalizate pe pagina principală,
+Add more items or open full form,Adăugă mai multe elemente sau deschide formular complet,
+Add notes,Adăugați note,
+Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,"Adăugați restul organizației dvs. ca utilizatori. Puteți, de asemenea, invita Clienții în portal prin adăugarea acestora din Contacte",
+Add to Details,Adăugă la Detalii,
+Add/Remove Recipients,Adăugaţi/Stergeţi Destinatari,
+Added,Adăugat,
+Added to details,Adăugat la detalii,
+Added {0} users,{0} utilizatori adăugați,
+Additional Salary Component Exists.,Există o componentă suplimentară a salariului.,
+Address,Adresă,
+Address Line 2,Adresă Linie 2,
+Address Name,Numele adresei,
+Address Title,Titlu adresă,
+Address Type,Tip adresă,
+Administrative Expenses,Cheltuieli administrative,
+Administrative Officer,Ofițer administrativ,
+Administrator,Administrator,
+Admission,Admitere,
+Admission and Enrollment,Admitere și înscriere,
+Admissions for {0},Admitere pentru {0},
+Admit,admite,
+Admitted,Admis,
+Advance Amount,Sumă în avans,
+Advance Payments,Plățile în avans,
+Advance account currency should be same as company currency {0},Advance valuta contului ar trebui să fie aceeași ca moneda companiei {0},
+Advance amount cannot be greater than {0} {1},Suma avans nu poate fi mai mare decât {0} {1},
+Advertising,Publicitate,
+Aerospace,Spaţiul aerian,
+Against,Comparativ,
+Against Account,Comparativ contului,
+Against Journal Entry {0} does not have any unmatched {1} entry,Comparativ intrării {0} în jurnal nu are nici o intrare nepotrivită {1},
+Against Journal Entry {0} is already adjusted against some other voucher,Comparativ intrării {0} în jurnal este deja ajustată comparativ altui voucher,
+Against Supplier Invoice {0} dated {1},Contra facturii furnizorului {0} din data {1},
+Against Voucher,Contra voucherului,
+Against Voucher Type,Contra tipului de voucher,
+Age,Vârstă,
+Age (Days),Vârsta (zile),
+Ageing Based On,Uzură bazată pe,
+Ageing Range 1,Clasă de uzură 1,
+Ageing Range 2,Clasă de uzură 2,
+Ageing Range 3,Clasă de uzură 3,
+Agriculture,Agricultură,
+Agriculture (beta),Agricultura (beta),
+Airline,linie aeriană,
+All Accounts,Toate conturile,
+All Addresses.,Toate adresele.,
+All Assessment Groups,Toate grupurile de evaluare,
+All BOMs,toate BOM,
+All Contacts.,Toate contactele.,
+All Customer Groups,Toate grupurile de clienți,
+All Day,Toată ziua,
+All Departments,Toate departamentele,
+All Healthcare Service Units,Toate unitățile de servicii medicale,
+All Item Groups,Toate grupurile articolului,
+All Jobs,Toate locurile de muncă,
+All Products,Toate produsele,
+All Products or Services.,Toate produsele sau serviciile.,
+All Student Admissions,Toate Admitere Student,
+All Supplier Groups,Toate grupurile de furnizori,
+All Supplier scorecards.,Toate cardurile de evaluare ale furnizorilor.,
+All Territories,Toate Teritoriile,
+All Warehouses,toate Depozite,
+All communications including and above this shall be moved into the new Issue,"Toate comunicările, inclusiv și deasupra acestora, vor fi mutate în noua ediție",
+All items have already been transferred for this Work Order.,Toate articolele au fost deja transferate pentru această comandă de lucru.,
+All other ITC,Toate celelalte ITC,
+All the mandatory Task for employee creation hasn't been done yet.,Toate sarcinile obligatorii pentru crearea de angajați nu au fost încă încheiate.,
+Allocate Payment Amount,Alocați suma de plată,
+Allocated Amount,Sumă alocată,
+Allocated Leaves,Frunzele alocate,
+Allocating leaves...,Alocarea frunzelor ...,
+Already record exists for the item {0},Încă există înregistrare pentru articolul {0},
+"Already set default in pos profile {0} for user {1}, kindly disabled default","Deja a fost setat implicit în profilul pos {0} pentru utilizatorul {1}, dezactivat în mod prestabilit",
+Alternate Item,Articol alternativ,
+Alternative item must not be same as item code,Elementul alternativ nu trebuie să fie identic cu cel al articolului,
+Amended From,Modificat din,
+Amount,Sumă,
+Amount After Depreciation,Suma după amortizare,
+Amount of Integrated Tax,Suma impozitului integrat,
+Amount of TDS Deducted,Cantitatea de TDS dedusă,
+Amount should not be less than zero.,Suma nu trebuie să fie mai mică de zero.,
+Amount to Bill,Sumă pentru facturare,
+Amount {0} {1} against {2} {3},Suma {0} {1} împotriva {2} {3},
+Amount {0} {1} deducted against {2},Suma {0} {1} dedusă împotriva {2},
+Amount {0} {1} transferred from {2} to {3},Suma {0} {1} transferată de la {2} la {3},
+Amount {0} {1} {2} {3},Suma {0} {1} {2} {3},
+Amt,Suma,
+"An Item Group exists with same name, please change the item name or rename the item group","Există un grup de articole cu aceeaşi denumire, vă rugăm să schimbați denumirea articolului sau să redenumiţi grupul articolului",
+An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Un termen academic cu acest &quot;An universitar&quot; {0} și &quot;Numele Termenul&quot; {1} există deja. Vă rugăm să modificați aceste intrări și încercați din nou.,
+An error occurred during the update process,A apărut o eroare în timpul procesului de actualizare,
+"An item exists with same name ({0}), please change the item group name or rename the item","Există un articol cu aceeaşi denumire ({0}), vă rugăm să schimbați denumirea grupului articolului sau să redenumiţi articolul",
+Analyst,Analist,
+Analytics,Google Analytics,
+Annual Billing: {0},Facturare anuală: {0},
+Annual Salary,Salariu anual,
+Anonymous,Anonim,
+Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},O altă înregistrare bugetară {0} există deja pentru {1} &#39;{2}&#39; și contul &#39;{3}&#39; pentru anul fiscal {4},
+Another Period Closing Entry {0} has been made after {1},O altă intrare închidere de perioada {0} a fost efectuată după {1},
+Another Sales Person {0} exists with the same Employee id,Un alt Sales Person {0} există cu același ID Angajat,
+Antibiotic,Antibiotic,
+Apparel & Accessories,Îmbrăcăminte și accesorii,
+Applicable For,Aplicabil pentru,
+"Applicable if the company is SpA, SApA or SRL","Se aplică dacă compania este SpA, SApA sau SRL",
+Applicable if the company is a limited liability company,Se aplică dacă compania este o societate cu răspundere limitată,
+Applicable if the company is an Individual or a Proprietorship,Se aplică dacă compania este o persoană fizică sau o proprietate,
+Applicant,Solicitant,
+Applicant Type,Tipul solicitantului,
+Application of Funds (Assets),Aplicarea fondurilor (active),
+Application period cannot be across two allocation records,Perioada de aplicare nu poate fi cuprinsă între două înregistrări de alocare,
+Application period cannot be outside leave allocation period,Perioada de aplicare nu poate fi perioadă de alocare concediu în afara,
+Applied,Aplicat,
+Apply Now,Aplica acum,
+Appointment Confirmation,Confirmare programare,
+Appointment Duration (mins),Durata intalnire (minute),
+Appointment Type,Tip de întâlnire,
+Appointment {0} and Sales Invoice {1} cancelled,Mențiunea {0} și factura de vânzări {1} au fost anulate,
+Appointments and Encounters,Numiri și întâlniri,
+Appointments and Patient Encounters,Numiri și întâlniri cu pacienții,
+Appraisal {0} created for Employee {1} in the given date range,Expertiza {0} creată pentru angajatul {1} în intervalul de timp dat,
+Apprentice,Începător,
+Approval Status,Status aprobare,
+Approval Status must be 'Approved' or 'Rejected',"Statusul aprobării trebuie să fie ""Aprobat"" sau ""Respins""",
+Approve,Aproba,
+Approving Role cannot be same as role the rule is Applicable To,Aprobarea unui rol nu poate fi aceeaşi cu rolul. Regula este aplicabilă pentru,
+Approving User cannot be same as user the rule is Applicable To,Aprobarea unui utilizator nu poate fi aceeași cu utilizatorul. Regula este aplicabilă pentru,
+"Apps using current key won't be able to access, are you sure?","Aplicațiile care utilizează cheia curentă nu vor putea accesa, sunteți sigur?",
+Are you sure you want to cancel this appointment?,Sigur doriți să anulați această întâlnire?,
+Arrear,restanță,
+As Examiner,Ca Examiner,
+As On Date,Ca pe data,
+As Supervisor,Ca supraveghetor,
+As per rules 42 & 43 of CGST Rules,Conform regulilor 42 și 43 din Regulile CGST,
+As per section 17(5),În conformitate cu secțiunea 17 (5),
+As per your assigned Salary Structure you cannot apply for benefits,"În conformitate cu structura salarială atribuită, nu puteți aplica pentru beneficii",
+Assessment,Evaluare,
+Assessment Criteria,Criterii de evaluare,
+Assessment Group,Grup de evaluare,
+Assessment Group: ,Grup de evaluare:,
+Assessment Plan,Plan de evaluare,
+Assessment Plan Name,Numele planului de evaluare,
+Assessment Report,Raport de evaluare,
+Assessment Reports,Rapoarte de evaluare,
+Assessment Result,Rezultatul evaluării,
+Assessment Result record {0} already exists.,Inregistrarea Rezultatului evaluării {0} există deja.,
+Asset,activ,
+Asset Category,Categorie activ,
+Asset Category is mandatory for Fixed Asset item,Categorie Activ este obligatorie pentru articolul Activ Fix,
+Asset Maintenance,Întreținerea activelor,
+Asset Movement,Miscarea activelor,
+Asset Movement record {0} created,Mișcarea de înregistrare a activelor {0} creat,
+Asset Name,Denumire activ,
+Asset Received But Not Billed,"Activul primit, dar nu facturat",
+Asset Value Adjustment,Ajustarea valorii activelor,
+"Asset cannot be cancelled, as it is already {0}","Activul nu poate fi anulat, deoarece este deja {0}",
+Asset scrapped via Journal Entry {0},Activ casate prin Jurnal de intrare {0},
+"Asset {0} cannot be scrapped, as it is already {1}","Activul {0} nu poate fi scos din uz, deoarece este deja {1}",
+Asset {0} does not belong to company {1},Activul {0} nu aparține companiei {1},
+Asset {0} must be submitted,Activul {0} trebuie transmis,
+Assets,Active,
+Assign,Atribuiţi,
+Assign Salary Structure,Alocați structurii salariale,
+Assign To,Atribuţi pentru,
+Assign to Employees,Atribuie la Angajați,
+Assigning Structures...,Alocarea structurilor ...,
+Associate,Asociaţi,
+At least one mode of payment is required for POS invoice.,Cel puțin un mod de plată este necesar factura POS.,
+Atleast one item should be entered with negative quantity in return document,Cel puțin un articol ar trebui să fie introdus cu cantitate negativa în documentul de returnare,
+Atleast one of the Selling or Buying must be selected,Cel puţin una din opţiunile de vânzare sau cumpărare trebuie să fie selectată,
+Atleast one warehouse is mandatory,Cel puţin un depozit este obligatoriu,
+Attach Logo,Atașați logo,
+Attachment,Atașament,
+Attachments,Ataşamente,
+Attendance,prezență,
+Attendance From Date and Attendance To Date is mandatory,Prezenţa de la data și Prezența până la data sunt obligatorii,
+Attendance can not be marked for future dates,Prezenţa nu poate fi consemnată pentru date viitoare,
+Attendance date can not be less than employee's joining date,Data de prezență nu poate fi anteriara datii angajarii salariatului,
+Attendance for employee {0} is already marked,Prezenţa pentru angajatul {0} este deja consemnată,
+Attendance for employee {0} is already marked for this day,Prezența pentru angajatul {0} este deja marcată pentru această zi,
+Attendance has been marked successfully.,Prezența a fost marcată cu succes.,
+Attendance not submitted for {0} as it is a Holiday.,Participarea nu a fost trimisă pentru {0} deoarece este o sărbătoare.,
+Attendance not submitted for {0} as {1} on leave.,Participarea nu a fost trimisă pentru {0} ca {1} în concediu.,
+Attribute table is mandatory,Tabelul atribut este obligatoriu,
+Attribute {0} selected multiple times in Attributes Table,Atributul {0} este selectat de mai multe ori în tabelul Atribute,
+Author,Autor,
+Authorized Signatory,Semnatar autorizat,
+Auto Material Requests Generated,Cereri materiale Auto Generat,
+Auto Repeat,Auto Repetare,
+Auto repeat document updated,Documentul repetat automat a fost actualizat,
+Automotive,Autopropulsat,
+Available,Disponibil,
+Available Leaves,Frunzele disponibile,
+Available Qty,Cantitate disponibilă,
+Available Selling,Vânzări disponibile,
+Available for use date is required,Data de utilizare disponibilă pentru utilizare este necesară,
+Available slots,Sloturi disponibile,
+Available {0},Disponibile {0},
+Available-for-use Date should be after purchase date,Data disponibilă pentru utilizare ar trebui să fie după data achiziției,
+Average Age,Varsta medie,
+Average Rate,Rata medie,
+Avg Daily Outgoing,Ieșire zilnică medie,
+Avg. Buying Price List Rate,Med. Achiziționarea ratei listei de prețuri,
+Avg. Selling Price List Rate,Med. Rata de listare a prețurilor de vânzare,
+Avg. Selling Rate,Rată Medie de Vânzare,
+BOM,BOM,
+BOM Browser,BOM Browser,
+BOM No,Nr. BOM,
+BOM Rate,Rata BOM,
+BOM Stock Report,BOM Raport stoc,
+BOM and Manufacturing Quantity are required,BOM și cantitatea de producție sunt necesare,
+BOM does not contain any stock item,BOM nu conține nici un element de stoc,
+BOM {0} does not belong to Item {1},BOM {0} nu aparţine articolului {1},
+BOM {0} must be active,BOM {0} trebuie să fie activ,
+BOM {0} must be submitted,BOM {0} trebuie să fie introdus,
+Balance,Bilanţ,
+Balance (Dr - Cr),Sold (Dr-Cr),
+Balance ({0}),Sold ({0}),
+Balance Qty,Cantitate de bilanţ,
+Balance Sheet,Bilanț,
+Balance Value,Valoarea bilanţului,
+Balance for Account {0} must always be {1},Bilanţă pentru contul {0} trebuie să fie întotdeauna {1},
+Bank,bancă,
+Bank Account,Cont bancar,
+Bank Accounts,Conturi bancare,
+Bank Draft,Ciorna bancară,
+Bank Entries,Intrările bancare,
+Bank Name,Denumire bancă,
+Bank Overdraft Account,Descoperire cont bancar,
+Bank Reconciliation,Reconciliere bancară,
+Bank Reconciliation Statement,Extras de cont reconciliere bancară,
+Bank Statement,Extras de cont,
+Bank Statement Settings,Setările declarației bancare,
+Bank Statement balance as per General Ledger,Banca echilibru Declarație pe General Ledger,
+Bank account cannot be named as {0},Contul bancar nu poate fi numit ca {0},
+Bank/Cash transactions against party or for internal transfer,tranzacții bancare / numerar contra partidului sau pentru transfer intern,
+Banking,Bancar,
+Banking and Payments,Bancare și plăți,
+Barcode {0} already used in Item {1},Cod de bare {0} deja folosit pentru articolul {1},
+Barcode {0} is not a valid {1} code,Codul de bare {0} nu este un cod valid {1},
+Base,Baza,
+Base URL,URL-ul de bază,
+Based On,Bazat pe,
+Based On Payment Terms,Pe baza condițiilor de plată,
+Basic,Elementar,
+Batch,Lot,
+Batch Entries,Înregistrări pe lot,
+Batch ID is mandatory,ID-ul lotului este obligatoriu,
+Batch Inventory,Lot Inventarul,
+Batch Name,Nume lot,
+Batch No,Lot nr.,
+Batch number is mandatory for Item {0},Numărul aferent lotului este obligatoriu pentru articolul {0},
+Batch {0} of Item {1} has expired.,Lot {0} din {1} Postul a expirat.,
+Batch {0} of Item {1} is disabled.,Lotul {0} al elementului {1} este dezactivat.,
+Batch: ,Lot:,
+Batches,Sarjele,
+Become a Seller,Deveniți un vânzător,
+Beginner,Începător,
+Bill,Factură,
+Bill Date,Dată factură,
+Bill No,Factură nr.,
+Bill of Materials,Reţete de Producţie,
+Bill of Materials (BOM),Lista de materiale (BOM),
+Billable Hours,Ore Billable,
+Billed,Facturat,
+Billed Amount,Sumă facturată,
+Billing,Facturare,
+Billing Address,Adresa De Facturare,
+Billing Address is same as Shipping Address,Adresa de facturare este aceeași cu adresa de expediere,
+Billing Amount,Suma de facturare,
+Billing Status,Stare facturare,
+Billing currency must be equal to either default company's currency or party account currency,"Valuta de facturare trebuie să fie identica fie cu valuta implicită a companiei, fie cu moneda contului de partid",
+Bills raised by Suppliers.,Facturi cu valoarea ridicată de către furnizori.,
+Bills raised to Customers.,Facturi cu valoarea ridicată pentru clienți.,
+Biotechnology,Biotehnologie,
+Birthday Reminder,Amintirea zilei de naștere,
+Black,Negru,
+Blanket Orders from Costumers.,Comenzi cuverturi de la clienți.,
+Block Invoice,Blocați factura,
+Boms,BOM,
+Bonus Payment Date cannot be a past date,Data de plată Bonus nu poate fi o dată trecută,
+Both Trial Period Start Date and Trial Period End Date must be set,"Trebuie să fie setată atât data de începere a perioadei de încercare, cât și data de încheiere a perioadei de încercare",
+Both Warehouse must belong to same Company,Ambele Depozite trebuie să aparțină aceleiași companii,
+Branch,ramură,
+Broadcasting,Transminiune,
+Brokerage,brokeraj,
+Browse BOM,Navigare BOM,
+Budget Against,Buget împotriva,
+Budget List,Lista de bugete,
+Budget Variance Report,Raport de variaţie buget,
+Budget cannot be assigned against Group Account {0},Buget nu pot fi atribuite în Grupa Contul {0},
+"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Bugetul nu pot fi atribuite în {0}, deoarece nu este un cont venituri sau cheltuieli",
+Buildings,Corpuri,
+Bundle items at time of sale.,Set de articole în momemntul vânzării.,
+Business Development Manager,Manager pentru Dezvoltarea Afacerilor,
+Buy,A cumpara,
+Buying,Cumpărare,
+Buying Amount,Sumă de cumpărare,
+Buying Price List,Achiziționarea listei de prețuri,
+Buying Rate,Rata de cumparare,
+"Buying must be checked, if Applicable For is selected as {0}","Destinat Cumpărării trebuie să fie bifat, dacă Se Aplica Pentru este selectat ca şi {0}",
+By {0},Până la {0},
+Bypass credit check at Sales Order ,Anulați verificarea creditului la Ordin de vânzări,
+C-Form records,Înregistrări formular-C,
+C-form is not applicable for Invoice: {0},Formularul C nu se aplică pentru factură: {0},
+CEO,CEO,
+CESS Amount,Suma CESS,
+CGST Amount,Suma CGST,
+CRM,CRM,
+CWIP Account,Contul CWIP,
+Calculated Bank Statement balance,Calculat Bank echilibru Declaratie,
+Calls,apeluri,
+Campaign,Campanie,
+Can be approved by {0},Poate fi aprobat/a de către {0},
+"Can not filter based on Account, if grouped by Account","Nu se poate filtra pe baza de cont, în cazul gruparii in functie de Cont",
+"Can not filter based on Voucher No, if grouped by Voucher","Nu se poate filtra pe baza voucher Nr., în cazul gruparii in functie de Voucher",
+"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Nu se poate marca evacuarea inpatientului, există facturi neachitate {0}",
+Can only make payment against unbilled {0},Plata se poate efectua numai în cazul factrilor neachitate {0},
+Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Se poate face referire la inregistrare numai dacă tipul de taxa este 'Suma inregistrare precedenta' sau 'Total inregistrare precedenta',
+"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Metoda de evaluare nu poate fi schimbată, deoarece există tranzacții împotriva anumitor elemente care nu au metoda de evaluare proprie",
+Can't create standard criteria. Please rename the criteria,Nu se pot crea criterii standard. Renunțați la criterii,
+Cancel,Anulează,
+Cancel Material Visit {0} before cancelling this Warranty Claim,Anulează Stivuitoare Vizitați {0} înainte de a anula acest revendicarea Garanție,
+Cancel Material Visits {0} before cancelling this Maintenance Visit,Anuleaza Vizite Material {0} înainte de a anula această Vizita de întreținere,
+Cancel Subscription,Anulează Abonament,
+Cancel the journal entry {0} first,Anulați mai întâi înregistrarea jurnalului {0},
+Canceled,Anulat,
+"Cannot Submit, Employees left to mark attendance","Nu se poate trimite, Angajații lăsați să marcheze prezența",
+Cannot be a fixed asset item as Stock Ledger is created.,"Nu poate fi un element de activ fix, deoarece este creat un registru de stoc.",
+Cannot cancel because submitted Stock Entry {0} exists,"Nu pot anula, deoarece a prezentat Bursa de intrare {0} există",
+Cannot cancel transaction for Completed Work Order.,Nu se poate anula tranzacția pentru comanda finalizată de lucru.,
+Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},Nu se poate anula {0} {1} deoarece numărul de serie {2} nu aparține depozitului {3},
+Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Nu se poate modifica atributele după tranzacția de stoc. Creați un element nou și transferați stocul la noul element,
+Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Nu se poate schimba anul fiscal Data de începere și se termină anul fiscal Data odată ce anul fiscal este salvată.,
+Cannot change Service Stop Date for item in row {0},Nu se poate schimba data de începere a serviciului pentru elementul din rândul {0},
+Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,Nu se pot modifica proprietățile Variant după tranzacția stoc. Va trebui să faceți un nou element pentru a face acest lucru.,
+"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Nu se poate schimba moneda implicita a companiei, deoarece există tranzacții in desfasurare. Tranzacțiile trebuie să fie anulate pentru a schimba moneda implicita.",
+Cannot change status as student {0} is linked with student application {1},Nu se poate schimba statutul de student ca {0} este legat cu aplicația de student {1},
+Cannot convert Cost Center to ledger as it has child nodes,"Nu se poate converti de cost Centrul de registru, deoarece are noduri copil",
+Cannot covert to Group because Account Type is selected.,Nu se poate sub acoperire la Grupul pentru că este selectată Tip cont.,
+Cannot create Retention Bonus for left Employees,Nu se poate crea Bonus de retenție pentru angajații stânga,
+Cannot create a Delivery Trip from Draft documents.,Nu se poate crea o călătorie de livrare din documentele Draft.,
+Cannot deactivate or cancel BOM as it is linked with other BOMs,"Nu se poate deactiva sau anula FDM, deoarece este conectat cu alte FDM-uri",
+"Cannot declare as lost, because Quotation has been made.","Nu se poate declara pierdut, pentru că Oferta a fost realizata.",
+Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Nu se poate deduce când categoria este de 'Evaluare' sau 'Evaluare și total',
+Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Nu se poate deduce atunci când este categoria de &quot;evaluare&quot; sau &quot;Vaulation și Total&quot;,
+"Cannot delete Serial No {0}, as it is used in stock transactions","Nu se poate șterge de serie nr {0}, așa cum este utilizat în tranzacțiile bursiere",
+Cannot enroll more than {0} students for this student group.,Nu se poate inscrie mai mult de {0} studenți pentru acest grup de studenți.,
+Cannot find active Leave Period,Nu se poate găsi perioada activă de plecare,
+Cannot produce more Item {0} than Sales Order quantity {1},Nu se pot produce mai multe Articole {0} decât cantitatea din Ordinul de Vânzări {1},
+Cannot promote Employee with status Left,Nu puteți promova angajatul cu starea Stânga,
+Cannot refer row number greater than or equal to current row number for this Charge type,Nu se poate face referire la un număr de inregistare mai mare sau egal cu numărul curent de inregistrare pentru acest tip de Incasare,
+Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Nu se poate selecta tipul de incasare ca 'Suma inregistrare precedenta' sau 'Total inregistrare precedenta' pentru prima inregistrare,
+Cannot set as Lost as Sales Order is made.,Nu se poate seta pierdut deoarece se intocmeste comandă de vânzări.,
+Cannot set authorization on basis of Discount for {0},Nu se poate seta autorizare pe baza de Discount pentru {0},
+Cannot set multiple Item Defaults for a company.,Nu se pot seta mai multe setări implicite pentru o companie.,
+Cannot set quantity less than delivered quantity,Cantitatea nu poate fi mai mică decât cea livrată,
+Cannot set quantity less than received quantity,Cantitatea nu poate fi mai mică decât cea primită,
+Cannot set the field <b>{0}</b> for copying in variants,Nu se poate seta câmpul <b>{0}</b> pentru copiere în variante,
+Cannot transfer Employee with status Left,Nu se poate transfera angajatul cu starea Stânga,
+Cannot {0} {1} {2} without any negative outstanding invoice,Nu se poate {0} {1} {2} in lipsa unei facturi negative restante,
+Capital Equipments,Echipamente de capital,
+Capital Stock,Capital Stock,
+Capital Work in Progress,Capitalul în curs de desfășurare,
+Cart,Coș,
+Cart is Empty,Cosul este gol,
+Case No(s) already in use. Try from Case No {0},Cazul nr. (s) este deja utilizat. Încercați din cazul nr. {s},
+Cash,Numerar,
+Cash Flow Statement,Situația fluxurilor de trezorerie,
+Cash Flow from Financing,Cash Flow de la finanțarea,
+Cash Flow from Investing,Cash Flow de la Investiții,
+Cash Flow from Operations,Cash Flow din Operațiuni,
+Cash In Hand,Bani în mână,
+Cash or Bank Account is mandatory for making payment entry,Pentru a face o inregistrare de plată este obligatoriu numerar sau cont bancar,
+Cashier Closing,Încheierea caselor,
+Casual Leave,Concediu Aleator,
+Category,Categorie,
+Category Name,Nume Categorie,
+Caution,Prudență,
+Central Tax,Impozitul central,
+Certification,Certificare,
+Cess,CESS,
+Change Amount,Sumă schimbare,
+Change Item Code,Modificați codul elementului,
+Change Release Date,Modificați data de lansare,
+Change Template Code,Schimbați codul de șablon,
+Changing Customer Group for the selected Customer is not allowed.,Schimbarea Grupului de Clienți pentru Clientul selectat nu este permisă.,
+Chapter,Capitol,
+Chapter information.,Informații despre capitol.,
+Charge of type 'Actual' in row {0} cannot be included in Item Rate,"Taxa de tip 'Efectiv' în inregistrarea {0} nu poate fi inclus în Rata Articol""",
+Chargeble,Chargeble,
+Charges are updated in Purchase Receipt against each item,Tarifele sunt actualizate în Primirea cumparare pentru fiecare articol,
+"Charges will be distributed proportionately based on item qty or amount, as per your selection","Taxele vor fi distribuite proporțional în funcție de produs Cantitate sau valoarea, ca pe dvs. de selecție",
+Chart of Cost Centers,Diagramă Centre de Cost,
+Check all,Selectați toate,
+Checkout,Verifică,
+Chemical,Chimic,
+Cheque,Cec,
+Cheque/Reference No,Cecul / de referință nr,
+Cheques Required,Verificări necesare,
+Cheques and Deposits incorrectly cleared,Cecuri și Depozite respingă incorect,
+Child Task exists for this Task. You can not delete this Task.,Sarcina pentru copii există pentru această sarcină. Nu puteți șterge această activitate.,
+Child nodes can be only created under 'Group' type nodes,noduri pentru copii pot fi create numai în noduri de tip &quot;grup&quot;,
+Child warehouse exists for this warehouse. You can not delete this warehouse.,Există depozit copil pentru acest depozit. Nu puteți șterge acest depozit.,
+Circular Reference Error,Eroare de referință Circular,
+City,Oraș,
+City/Town,Oras/Localitate,
+Claimed Amount,Suma solicitată,
+Clay,Lut,
+Clear filters,Șterge filtrele,
+Clear values,Valori clare,
+Clearance Date,Data Aprobare,
+Clearance Date not mentioned,Data Aprobare nespecificata,
+Clearance Date updated,Clearance-ul Data actualizat,
+Client,Client,
+Client ID,ID-ul clientului,
+Client Secret,Secret Client,
+Clinical Procedure,Procedura clinică,
+Clinical Procedure Template,Formularul procedurii clinice,
+Close Balance Sheet and book Profit or Loss.,Inchideti Bilanțul și registrul Profit sau Pierdere.,
+Close Loan,Împrumut închis,
+Close the POS,Închideți POS,
+Closed,Închis,
+Closed order cannot be cancelled. Unclose to cancel.,Pentru închis nu poate fi anulată. Pentru a anula redeschide.,
+Closing (Cr),De închidere (Cr),
+Closing (Dr),De închidere (Dr),
+Closing (Opening + Total),Închidere (Deschidere + Total),
+Closing Account {0} must be of type Liability / Equity,Contul {0} de închidere trebuie să fie de tip răspunderii / capitaluri proprii,
+Closing Balance,Soldul de încheiere,
+Code,Cod,
+Collapse All,Reduceți totul În această,
+Color,Culoare,
+Colour,Culoare,
+Combined invoice portion must equal 100%,Partea facturată combinată trebuie să fie egală cu 100%,
+Commercial,Comercial,
+Commission,Comision,
+Commission Rate %,Rata comisionului %,
+Commission on Sales,Comision pentru Vânzări,
+Commission rate cannot be greater than 100,Rata de comision nu poate fi mai mare decat 100,
+Community Forum,Community Forum,
+Company (not Customer or Supplier) master.,Directorul Companiei(nu al Clientului sau al Furnizorui).,
+Company Abbreviation,Abreviere Companie,
+Company Abbreviation cannot have more than 5 characters,Abrevierea companiei nu poate avea mai mult de 5 caractere,
+Company Name,Denumire Furnizor,
+Company Name cannot be Company,Numele Companiei nu poate fi Companie,
+Company currencies of both the companies should match for Inter Company Transactions.,Monedele companiilor ambelor companii ar trebui să se potrivească cu tranzacțiile Inter-Company.,
+Company is manadatory for company account,Compania este managerială pentru contul companiei,
+Company name not same,Numele companiei nu este același,
+Company {0} does not exist,Firma {0} nu există,
+Compensatory Off,Fara Masuri Compensatorii,
+Compensatory leave request days not in valid holidays,Plățile compensatorii pleacă în zilele de sărbători valabile,
+Complaint,Reclamație,
+Completion Date,Data Finalizare,
+Computer,Computer,
+Condition,Condiție,
+Configure,Configurarea,
+Configure {0},Configurare {0},
+Confirmed orders from Customers.,Comenzi confirmate de la clienți.,
+Connect Amazon with ERPNext,Conectați-vă la Amazon cu ERPNext,
+Connect Shopify with ERPNext,Conectați-vă la Shopify cu ERPNext,
+Connect to Quickbooks,Conectați-vă la agendele rapide,
+Connected to QuickBooks,Conectat la QuickBooks,
+Connecting to QuickBooks,Conectarea la QuickBooks,
+Consultation,Consultare,
+Consultations,consultări,
+Consulting,Consilia,
+Consumable,Consumabile,
+Consumed,Consumat,
+Consumed Amount,Consumat Suma,
+Consumed Qty,Cantitate consumată,
+Consumer Products,Produse consumator,
+Contact,Persoana de Contact,
+Contact Details,Detalii Persoana de Contact,
+Contact Number,Numar de contact,
+Contact Us,Contacteaza-ne,
+Content,Continut,
+Content Masters,Maeștri de conținut,
+Content Type,Tip Conținut,
+Continue Configuration,Continuați configurarea,
+Contract,Contract,
+Contract End Date must be greater than Date of Joining,Data de Incheiere Contract trebuie să fie ulterioara Datei Aderării,
+Contribution %,Contribuția%,
+Contribution Amount,Contribuția Suma,
+Conversion factor for default Unit of Measure must be 1 in row {0},Factor de Conversie pentru Unitatea de Măsură implicita trebuie să fie 1 pentru inregistrarea {0},
+Conversion rate cannot be 0 or 1,Rata de conversie nu poate fi 0 sau 1,
+Convert to Group,Transformă în grup,
+Convert to Non-Group,Converti la non-Group,
+Cosmetics,Cosmetică,
+Cost Center,Centrul de cost,
+Cost Center Number,Numărul centrului de costuri,
+Cost Center and Budgeting,Centrul de costuri și buget,
+Cost Center is required in row {0} in Taxes table for type {1},Centrul de Cost este necesar pentru inregistrarea {0} din tabelul Taxe pentru tipul {1},
+Cost Center with existing transactions can not be converted to group,Centrul de Cost cu tranzacții existente nu poate fi transformat în grup,
+Cost Center with existing transactions can not be converted to ledger,Centrul de Cost cu tranzacții existente nu poate fi transformat în registru contabil,
+Cost Centers,Centre de cost,
+Cost Updated,Cost actualizat,
+Cost as on,Cost cu o schimbare ca pe,
+Cost of Delivered Items,Costul de articole livrate,
+Cost of Goods Sold,Cost Bunuri Vândute,
+Cost of Issued Items,Costul de articole emise,
+Cost of New Purchase,Costul de achiziție nouă,
+Cost of Purchased Items,Costul de produsele cumparate,
+Cost of Scrapped Asset,Costul de active scoase din uz,
+Cost of Sold Asset,Costul de active vândute,
+Cost of various activities,Costul diverse activități,
+"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again","Nu s-a putut crea Nota de credit în mod automat, debifați &quot;Notați nota de credit&quot; și trimiteți-o din nou",
+Could not generate Secret,Nu am putut genera secret,
+Could not retrieve information for {0}.,Nu s-au putut obține informații pentru {0}.,
+Could not solve criteria score function for {0}. Make sure the formula is valid.,Nu s-a putut rezolva funcția de evaluare a criteriilor pentru {0}. Asigurați-vă că formula este validă.,
+Could not solve weighted score function. Make sure the formula is valid.,Nu s-a putut rezolva funcția de scor ponderat. Asigurați-vă că formula este validă.,
+Could not submit some Salary Slips,Nu am putut trimite unele Salariile,
+"Could not update stock, invoice contains drop shipping item.","Nu s-a putut actualiza stocul, factura conține elementul de expediere.",
+Country wise default Address Templates,Șabloanele țară înțelept adresa implicită,
+Course,Curs,
+Course Code: ,Codul cursului:,
+Course Enrollment {0} does not exists,Înscrierea la curs {0} nu există,
+Course Schedule,Program de curs de,
+Course: ,Curs:,
+Cr,Cr,
+Create,Creează,
+Create BOM,Creați BOM,
+Create Delivery Trip,Creați călătorie de livrare,
+Create Disbursement Entry,Creați intrare pentru dezbursare,
+Create Employee,Creați angajat,
+Create Employee Records,Crearea angajaților Records,
+"Create Employee records to manage leaves, expense claims and payroll","Crearea de înregistrări angajaților pentru a gestiona frunze, cheltuieli și salarizare creanțe",
+Create Fee Schedule,Creați programul de taxe,
+Create Fees,Creați taxe,
+Create Inter Company Journal Entry,Creați jurnalul companiei Inter,
+Create Invoice,Creați factură,
+Create Invoices,Creați facturi,
+Create Job Card,Creați carte de muncă,
+Create Journal Entry,Creați intrarea în jurnal,
+Create Lead,Creați Lead,
+Create Leads,Creează Piste,
+Create Maintenance Visit,Creați vizită de întreținere,
+Create Material Request,Creați solicitare de materiale,
+Create Multiple,Creați mai multe,
+Create Opening Sales and Purchase Invoices,Creați deschiderea vânzărilor și facturilor de achiziție,
+Create Payment Entries,Creați intrări de plată,
+Create Payment Entry,Creați intrare de plată,
+Create Print Format,Creați Format imprimare,
+Create Purchase Order,Creați comanda de aprovizionare,
+Create Purchase Orders,Creare comenzi de aprovizionare,
+Create Quotation,Creare Ofertă,
+Create Salary Slip,Crea Fluturasul de Salariul,
+Create Salary Slips,Creați buletine de salariu,
+Create Sales Invoice,Creați factură de vânzări,
+Create Sales Order,Creați o comandă de vânzări,
+Create Sales Orders to help you plan your work and deliver on-time,Creați comenzi de vânzare pentru a vă ajuta să vă planificați munca și să vă livrați la timp,
+Create Sample Retention Stock Entry,Creați intrare de stoc de reținere a eșantionului,
+Create Student,Creați student,
+Create Student Batch,Creați lot de elevi,
+Create Student Groups,Creați Grupurile de studenți,
+Create Supplier Quotation,Creați ofertă pentru furnizori,
+Create Tax Template,Creați șablonul fiscal,
+Create Timesheet,Creați o foaie de lucru,
+Create User,Creaza utilizator,
+Create Users,Creați utilizatori,
+Create Variant,Creați varianta,
+Create Variants,Creați variante,
+"Create and manage daily, weekly and monthly email digests.","Creare și gestionare rezumate e-mail zilnice, săptămânale și lunare.",
+Create customer quotes,Creați citate client,
+Create rules to restrict transactions based on values.,Creare reguli pentru restricționare tranzacții bazate pe valori.,
+Created {0} scorecards for {1} between: ,A creat {0} cărți de scor pentru {1} între:,
+Creating Company and Importing Chart of Accounts,Crearea companiei și importul graficului de conturi,
+Creating Fees,Crearea de taxe,
+Creating Payment Entries......,Crearea intrărilor de plată ......,
+Creating Salary Slips...,Crearea salvărilor salariale ...,
+Creating student groups,Crearea grupurilor de studenți,
+Creating {0} Invoice,Crearea facturii {0},
+Credit,Credit,
+Credit ({0}),Credit ({0}),
+Credit Account,Cont de credit,
+Credit Balance,Balanța de credit,
+Credit Card,Card de credit,
+Credit Days cannot be a negative number,Zilele de credit nu pot fi un număr negativ,
+Credit Limit,Limita de credit,
+Credit Note,Nota de credit,
+Credit Note Amount,Nota de credit Notă,
+Credit Note Issued,Nota de credit Eliberat,
+Credit Note {0} has been created automatically,Nota de credit {0} a fost creată automat,
+Credit limit has been crossed for customer {0} ({1}/{2}),Limita de credit a fost depășită pentru clientul {0} ({1} / {2}),
+Creditors,creditorii,
+Criteria weights must add up to 100%,Criteriile de greutate trebuie să adauge până la 100%,
+Crop Cycle,Ciclu de recoltare,
+Crops & Lands,Culturi și terenuri,
+Currency Exchange must be applicable for Buying or for Selling.,Cursul valutar trebuie să fie aplicabil pentru cumpărare sau pentru vânzare.,
+Currency can not be changed after making entries using some other currency,Moneda nu poate fi schimbat după efectuarea înregistrări folosind un altă valută,
+Currency exchange rate master.,Maestru cursului de schimb valutar.,
+Currency for {0} must be {1},Moneda pentru {0} trebuie să fie {1},
+Currency is required for Price List {0},Moneda este necesară pentru lista de prețuri {0},
+Currency of the Closing Account must be {0},Valuta contului de închidere trebuie să fie {0},
+Currency of the price list {0} must be {1} or {2},Moneda din lista de prețuri {0} trebuie să fie {1} sau {2},
+Currency should be same as Price List Currency: {0},Valuta trebuie sa fie aceeasi cu Moneda Preturilor: {0},
+Current,Actual,
+Current Assets,Active curente,
+Current BOM and New BOM can not be same,FDM-ul curent și FDM-ul nou nu pot fi identici,
+Current Job Openings,Locuri de munca disponibile,
+Current Liabilities,Raspunderi Curente,
+Current Qty,Cantitate curentă,
+Current invoice {0} is missing,Factura curentă {0} lipsește,
+Custom HTML,Personalizat HTML,
+Custom?,Personalizat?,
+Customer,Client,
+Customer Addresses And Contacts,Adrese de clienți și Contacte,
+Customer Contact,Clientul A lua legatura,
+Customer Database.,Baza de Date Client.,
+Customer Group,Grup Clienți,
+Customer LPO,Clientul LPO,
+Customer LPO No.,Client nr. LPO,
+Customer Name,Nume client,
+Customer POS Id,ID POS utilizator,
+Customer Service,Service Client,
+Customer and Supplier,Client și Furnizor,
+Customer is required,Clientul este necesar,
+Customer isn't enrolled in any Loyalty Program,Clientul nu este înscris în niciun program de loialitate,
+Customer required for 'Customerwise Discount',Client necesar pentru 'Reducere Client',
+Customer {0} does not belong to project {1},Clientul {0} nu aparține proiectului {1},
+Customer {0} is created.,Clientul {0} este creat.,
+Customers in Queue,Clienții din coadă,
+Customize Homepage Sections,Personalizați secțiunile homepage,
+Customizing Forms,Personalizare Formulare,
+Daily Project Summary for {0},Rezumatul zilnic al proiectului pentru {0},
+Daily Reminders,Memento de zi cu zi,
+Daily Work Summary,Sumar Zilnic de Lucru,
+Daily Work Summary Group,Grup de lucru zilnic de lucru,
+Data Import and Export,Datele de import și export,
+Data Import and Settings,Import de date și setări,
+Database of potential customers.,Bază de date cu clienți potențiali.,
+Date Format,Format Dată,
+Date Of Retirement must be greater than Date of Joining,Data Pensionare trebuie să fie ulterioara Datei Aderării,
+Date is repeated,Data se repetă,
+Date of Birth,Data Nașterii,
+Date of Birth cannot be greater than today.,Data Nașterii nu poate fi mai mare decât în prezent.,
+Date of Commencement should be greater than Date of Incorporation,Data de Începere ar trebui să fie mai mare decât data înființării,
+Date of Joining,Data aderării,
+Date of Joining must be greater than Date of Birth,Data Aderării trebuie să fie ulterioara Datei Nașterii,
+Date of Transaction,Data tranzacției,
+Datetime,DatăTimp,
+Day,Zi,
+Debit,Debit,
+Debit ({0}),Debit ({0}),
+Debit A/C Number,Număr de debit A / C,
+Debit Account,Cont Debit,
+Debit Note,Notă Debit,
+Debit Note Amount,Sumă Notă Debit,
+Debit Note Issued,Notă Debit Eliberată,
+Debit To is required,Pentru debit este necesar,
+Debit and Credit not equal for {0} #{1}. Difference is {2}.,Debit și credit nu este egal pentru {0} # {1}. Diferența este {2}.,
+Debtors,Debitori,
+Debtors ({0}),Debitorilor ({0}),
+Declare Lost,Declar pierdut,
+Deduction,Deducere,
+Default Activity Cost exists for Activity Type - {0},Există implicit Activitate Cost de activitate de tip - {0},
+Default BOM ({0}) must be active for this item or its template,Implicit BOM ({0}) trebuie să fie activ pentru acest element sau șablon de,
+Default BOM for {0} not found,BOM implicit pentru {0} nu a fost găsit,
+Default BOM not found for Item {0} and Project {1},Implicit BOM nu a fost găsit pentru articolele {0} și proiectul {1},
+Default Letter Head,Implicit Scrisoare Șef,
+Default Tax Template,Implicit Template fiscal,
+Default Unit of Measure for Item {0} cannot be changed directly because you have already made some transaction(s) with another UOM. You will need to create a new Item to use a different Default UOM.,"Unitatea de măsură implicită pentru postul {0} nu poate fi schimbat direct, deoarece aveti si voi deja unele tranzacții (i) cu un alt UOM. Veți avea nevoie pentru a crea un nou element pentru a utiliza un alt implicit UOM.",
+Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',Unitatea implicit de măsură pentru Variant &#39;{0} &quot;trebuie să fie la fel ca în Template&quot; {1} &quot;,
+Default settings for buying transactions.,Setări implicite pentru tranzacțiilor de achizitie.,
+Default settings for selling transactions.,Setări implicite pentru tranzacțiile de vânzare.,
+Default tax templates for sales and purchase are created.,Se creează șabloane fiscale predefinite pentru vânzări și achiziții.,
+Defaults,Implicite,
+Defense,Apărare,
+Define Project type.,Definiți tipul de proiect.,
+Define budget for a financial year.,Definiți bugetul pentru un exercițiu financiar.,
+Define various loan types,Definirea diferitelor tipuri de împrumut,
+Del,del,
+Delay in payment (Days),Întârziere de plată (zile),
+Delete all the Transactions for this Company,Ștergeți toate tranzacțiile de acest companie,
+Deletion is not permitted for country {0},Ștergerea nu este permisă pentru țara {0},
+Delivered,Livrat,
+Delivered Amount,Suma Pronunțată,
+Delivered Qty,Cantitate Livrata,
+Delivered: {0},Livrate: {0},
+Delivery,Livrare,
+Delivery Date,Data de Livrare,
+Delivery Note,Nota de Livrare,
+Delivery Note {0} is not submitted,Nota de Livrare {0} nu este introdusa,
+Delivery Note {0} must not be submitted,Nota de Livrare {0} nu trebuie sa fie introdusa,
+Delivery Notes {0} must be cancelled before cancelling this Sales Order,Nota de Livrare {0} trebuie sa fie anulată înainte de a anula aceasta Comandă de Vânzări,
+Delivery Notes {0} updated,Notele de livrare {0} sunt actualizate,
+Delivery Status,Starea de Livrare,
+Delivery Trip,Excursie la expediere,
+Delivery warehouse required for stock item {0},Depozit de livrare necesar pentru articol stoc {0},
+Department,Departament,
+Department Stores,Magazine Departament,
+Depreciation,Depreciere,
+Depreciation Amount,Sumă de amortizare,
+Depreciation Amount during the period,Suma de amortizare în timpul perioadei,
+Depreciation Date,Data de amortizare,
+Depreciation Eliminated due to disposal of assets,Amortizare Eliminată din cauza eliminării activelor,
+Depreciation Entry,amortizare intrare,
+Depreciation Method,Metoda de amortizare,
+Depreciation Row {0}: Depreciation Start Date is entered as past date,Rândul de amortizare {0}: Data de începere a amortizării este introdusă ca dată trecută,
+Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Rata de amortizare {0}: Valoarea estimată după viața utilă trebuie să fie mai mare sau egală cu {1},
+Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Rândul de amortizare {0}: Data următoarei amortizări nu poate fi înaintea datei disponibile pentru utilizare,
+Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Rata de amortizare {0}: Data următoare a amortizării nu poate fi înainte de data achiziției,
+Designer,proiectant,
+Detailed Reason,Motiv detaliat,
+Details,Detalii,
+Details of Outward Supplies and inward supplies liable to reverse charge,"Detalii despre consumabile externe și consumabile interioare, care pot fi percepute invers",
+Details of the operations carried out.,Detalii privind operațiunile efectuate.,
+Diagnosis,Diagnostic,
+Did not find any item called {0},Nu am gasit nici un element numit {0},
+Diff Qty,Cantitate diferențială,
+Difference Account,Diferența de Cont,
+"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Diferența cont trebuie să fie un cont de tip activ / pasiv, deoarece acest stoc Reconcilierea este un intrare de deschidere",
+Difference Amount,Diferență Sumă,
+Difference Amount must be zero,Diferența Suma trebuie să fie zero,
+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.,Un UOM diferit pentru articole va conduce la o valoare incorecta pentru Greutate Neta (Total). Asigurați-vă că Greutatea Netă a fiecărui articol este în același UOM.,
+Direct Expenses,Cheltuieli directe,
+Direct Income,Venituri Directe,
+Disable,Dezactivați,
+Disabled template must not be default template,șablon cu handicap nu trebuie să fie șablon implicit,
+Disburse Loan,Împrumut de debit,
+Disbursed,debursate,
+Disc,Disc,
+Discharge,descărcare,
+Discount,Reducere,
+Discount Percentage can be applied either against a Price List or for all Price List.,Procentul de reducere se poate aplica fie pe o listă de prețuri sau pentru toate lista de prețuri.,
+Discount must be less than 100,Reducerea trebuie să fie mai mică de 100,
+Diseases & Fertilizers,Boli și îngrășăminte,
+Dispatch,Expediere,
+Dispatch Notification,Notificare de expediere,
+Dispatch State,Statul de expediere,
+Distance,Distanţă,
+Distribution,distribuire,
+Distributor,Distribuitor,
+Dividends Paid,Dividendele plătite,
+Do you really want to restore this scrapped asset?,Sigur doriți să restabiliți acest activ casate?,
+Do you really want to scrap this asset?,Chiar vrei să resturi acest activ?,
+Do you want to notify all the customers by email?,Doriți să notificăți toți clienții prin e-mail?,
+Doc Date,Data Documentelor,
+Doc Name,Denumire Doc,
+Doc Type,Tip Doc,
+Docs Search,Căutare în Docs,
+Document Name,Document Nume,
+Document Status,Stare Document,
+Document Type,Tip Document,
+Domain,Domeniu,
+Domains,Domenii,
+Done,Făcut,
+Donor,Donator,
+Donor Type information.,Informații tip donator.,
+Donor information.,Informații despre donator.,
+Download JSON,Descărcați JSON,
+Draft,Proiect,
+Drop Ship,Drop navelor,
+Drug,Medicament,
+Due / Reference Date cannot be after {0},Datorită / Reference Data nu poate fi după {0},
+Due Date cannot be before Posting / Supplier Invoice Date,Data scadentă nu poate fi înainte de data de înregistrare / factură a furnizorului,
+Due Date is mandatory,Due Date este obligatorie,
+Duplicate Entry. Please check Authorization Rule {0},Inregistrare Duplicat. Vă rugăm să verificați Regula de Autorizare {0},
+Duplicate Serial No entered for Item {0},Nr. Serial introdus pentru articolul {0} este duplicat,
+Duplicate customer group found in the cutomer group table,grup de clienți dublu exemplar găsit în tabelul grupului cutomer,
+Duplicate entry,Inregistrare duplicat,
+Duplicate item group found in the item group table,Grup de element dublu exemplar găsit în tabelul de grup de elemente,
+Duplicate roll number for student {0},Numărul de rolă duplicat pentru student {0},
+Duplicate row {0} with same {1},Inregistrare {0} este duplicata cu aceeași {1},
+Duplicate {0} found in the table,Duplicat {0} găsit în tabel,
+Duration in Days,Durata în Zile,
+Duties and Taxes,Impozite și taxe,
+E-Invoicing Information Missing,Informații privind facturarea electronică lipsă,
+ERPNext Demo,ERPNext Demo,
+ERPNext Settings,Setări ERPNext,
+Earliest,cel mai devreme,
+Earnest Money,Banii cei mai castigati,
+Earning,Câștig Salarial,
+Edit,Editați | ×,
+Edit Publishing Details,Editați detaliile publicării,
+"Edit in full page for more options like assets, serial nos, batches etc.","Modificați pe pagina completă pentru mai multe opțiuni, cum ar fi active, numere de serie, loturi etc.",
+Education,Educaţie,
+Either location or employee must be required,Trebuie să fie necesară locația sau angajatul,
+Either target qty or target amount is mandatory,Cantitatea țintă sau valoarea țintă este obligatorie,
+Either target qty or target amount is mandatory.,Cantitatea țintă sau valoarea țintă este obligatorie.,
+Electrical,Electric,
+Electronic Equipments,Echipamente electronice,
+Electronics,Electronică,
+Eligible ITC,ITC eligibil,
+Email Account,Contul de e-mail,
+Email Address,Adresa de email,
+"Email Address must be unique, already exists for {0}","Adresa de e-mail trebuie să fie unic, există deja pentru {0}",
+Email Digest: ,Email Digest:,
+Email Reminders will be sent to all parties with email contacts,Mementourile de e-mail vor fi trimise tuturor părților cu contacte de e-mail,
+Email Sent,E-mail trimis,
+Email Template,Șablon de e-mail,
+Email not found in default contact,E-mailul nu a fost găsit în contactul implicit,
+Email sent to {0},E-mail trimis la {0},
+Employee,Angajat,
+Employee A/C Number,Numărul A / C al angajaților,
+Employee Advances,Avansuri ale angajaților,
+Employee Benefits,Beneficiile angajatului,
+Employee Grade,Clasa angajatilor,
+Employee ID,card de identitate al angajatului,
+Employee Lifecycle,Durata de viață a angajatului,
+Employee Name,Nume angajat,
+Employee Promotion cannot be submitted before Promotion Date ,Promovarea angajaților nu poate fi depusă înainte de data promoției,
+Employee Referral,Referirea angajaților,
+Employee Transfer cannot be submitted before Transfer Date ,Transferul angajaților nu poate fi depus înainte de data transferului,
+Employee cannot report to himself.,Angajat nu pot raporta la sine.,
+Employee relieved on {0} must be set as 'Left',Angajat eliberat din finctie pe {0} trebuie să fie setat ca 'Plecat',
+Employee {0} already submited an apllication {1} for the payroll period {2},Angajatul {0} a trimis deja o aplicație {1} pentru perioada de plată {2},
+Employee {0} has already applied for {1} between {2} and {3} : ,Angajatul {0} a solicitat deja {1} între {2} și {3}:,
+Employee {0} has no maximum benefit amount,Angajatul {0} nu are o valoare maximă a beneficiului,
+Employee {0} is not active or does not exist,Angajatul {0} nu este activ sau nu există,
+Employee {0} is on Leave on {1},Angajatul {0} este activat Lăsați pe {1},
+Employee {0} of grade {1} have no default leave policy,Angajații {0} ai clasei {1} nu au o politică de concediu implicită,
+Employee {0} on Half day on {1},Angajat {0} pe jumătate de zi pe {1},
+Enable,Activare,
+Enable / disable currencies.,Activare / dezactivare valute.,
+Enabled,Activat,
+"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Dacă activați opțiunea &quot;Utilizare pentru Cos de cumparaturi &#39;, ca Cosul de cumparaturi este activat și trebuie să existe cel puțin o regulă fiscală pentru Cos de cumparaturi",
+End Date,Dată finalizare,
+End Date can not be less than Start Date,Data de încheiere nu poate fi mai mică decât data de începere,
+End Date cannot be before Start Date.,Data de încheiere nu poate fi înainte de data de începere.,
+End Year,Anul de încheiere,
+End Year cannot be before Start Year,Sfârșitul anului nu poate fi înainte de Anul de început,
+End on,Terminați,
+End time cannot be before start time,Ora de încheiere nu poate fi înainte de ora de începere,
+Ends On date cannot be before Next Contact Date.,Sfârșitul de data nu poate fi înaintea datei următoarei persoane de contact.,
+Energy,Energie,
+Engineer,Inginer,
+Enough Parts to Build,Piese de schimb suficient pentru a construi,
+Enroll,A se inscrie,
+Enrolling student,student inregistrat,
+Enrolling students,Înscrierea studenților,
+Enter depreciation details,Introduceți detaliile de depreciere,
+Enter the Bank Guarantee Number before submittting.,Introduceți numărul de garanție bancară înainte de depunere.,
+Enter the name of the Beneficiary before submittting.,Introduceți numele Beneficiarului înainte de depunerea.,
+Enter the name of the bank or lending institution before submittting.,Introduceți numele băncii sau al instituției de credit înainte de depunere.,
+Enter value betweeen {0} and {1},Introduceți valoarea dintre {0} și {1},
+Entertainment & Leisure,Divertisment & Relaxare,
+Entertainment Expenses,Cheltuieli de Divertisment,
+Equity,echitate,
+Error Log,eroare Log,
+Error evaluating the criteria formula,Eroare la evaluarea formulei de criterii,
+Error in formula or condition: {0},Eroare în formulă sau o condiție: {0},
+Error: Not a valid id?,Eroare: Nu a id valid?,
+Estimated Cost,Cost estimat,
+Evaluation,Evaluare,
+"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Chiar dacă există mai multe reguli de stabilire a prețurilor, cu cea mai mare prioritate, se aplică apoi următoarele priorități interne:",
+Event,Eveniment,
+Event Location,Locația evenimentului,
+Event Name,Numele evenimentului,
+Exchange Gain/Loss,Cheltuiala / Venit din diferente de curs valutar,
+Exchange Rate Revaluation master.,Master reevaluarea cursului de schimb.,
+Exchange Rate must be same as {0} {1} ({2}),Cursul de schimb trebuie să fie același ca și {0} {1} ({2}),
+Excise Invoice,Factura acciza,
+Execution,Execuţie,
+Executive Search,Cautare executiva,
+Expand All,Extinde toate,
+Expected Delivery Date,Data de Livrare Preconizata,
+Expected Delivery Date should be after Sales Order Date,Data de livrare preconizată trebuie să fie după data de comandă de vânzare,
+Expected End Date,Data de Incheiere Preconizata,
+Expected Hrs,Se așteptau ore,
+Expected Start Date,Data de Incepere Preconizata,
+Expense,cheltuială,
+Expense / Difference account ({0}) must be a 'Profit or Loss' account,"Cheltuială cont / Diferența ({0}) trebuie să fie un cont de ""profit sau pierdere""",
+Expense Account,Cont de cheltuieli,
+Expense Claim,Solicitare Cheltuială,
+Expense Claim for Vehicle Log {0},Solicitare Cheltuială pentru Log Vehicul {0},
+Expense Claim {0} already exists for the Vehicle Log,Solicitare Cheltuială {0} există deja pentru Log Vehicul,
+Expense Claims,Creanțe cheltuieli,
+Expense account is mandatory for item {0},Cont de cheltuieli este obligatoriu pentru articolul {0},
+Expenses,cheltuieli,
+Expenses Included In Asset Valuation,Cheltuieli incluse în evaluarea activelor,
+Expenses Included In Valuation,Cheltuieli incluse în evaluare,
+Expired Batches,Loturile expirate,
+Expires On,Expira la,
+Expiring On,Expirând On,
+Expiry (In Days),Expirării (în zile),
+Explore,Explorați,
+Export E-Invoices,Export facturi electronice,
+Extra Large,Extra mare,
+Extra Small,Extra Small,
+Fail,eșua,
+Failed,A eșuat,
+Failed to create website,Eroare la crearea site-ului,
+Failed to install presets,Eroare la instalarea presetărilor,
+Failed to login,Eroare la autentificare,
+Failed to setup company,Setarea companiei nu a reușit,
+Failed to setup defaults,Setările prestabilite nu au reușit,
+Failed to setup post company fixtures,Nu sa reușit configurarea posturilor companiei,
+Fax,Fax,
+Fee,taxă,
+Fee Created,Taxa a fost creată,
+Fee Creation Failed,Crearea de comisioane a eșuat,
+Fee Creation Pending,Crearea taxelor în așteptare,
+Fee Records Created - {0},Taxa de inregistrare Creat - {0},
+Feedback,Reactie,
+Fees,Taxele de,
+Female,Feminin,
+Fetch Data,Fetch Data,
+Fetch Subscription Updates,Actualizați abonamentul la preluare,
+Fetch exploded BOM (including sub-assemblies),Obtine FDM expandat (inclusiv subansamblurile),
+Fetching records......,Recuperarea înregistrărilor ......,
+Field Name,Nume câmp,
+Fieldname,Nume câmp,
+Fields,Câmpuri,
+Fill the form and save it,Completați formularul și salvați-l,
+Filter Employees By (Optional),Filtrați angajații după (opțional),
+"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Rândul câmpurilor de filtrare # {0}: Numele de câmp <b>{1}</b> trebuie să fie de tipul &quot;Link&quot; sau &quot;MultiSelect de tabel&quot;,
+Filter Total Zero Qty,Filtrați numărul total zero,
+Finance Book,Cartea de finanțe,
+Financial / accounting year.,An financiar / contabil.,
+Financial Services,Servicii financiare,
+Financial Statements,Situațiile financiare,
+Financial Year,An financiar,
+Finish,finalizarea,
+Finished Good,Terminat bine,
+Finished Good Item Code,Cod articol bun finalizat,
+Finished Goods,Produse finite,
+Finished Item {0} must be entered for Manufacture type entry,Postul terminat {0} trebuie să fie introdusă de intrare de tip fabricarea,
+Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,Produsul finit <b>{0}</b> și Cantitatea <b>{1}</b> nu pot fi diferite,
+First Name,Prenume,
+"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","Regimul fiscal este obligatoriu, vă rugăm să setați regimul fiscal în companie {0}",
+Fiscal Year,An fiscal,
+Fiscal Year End Date should be one year after Fiscal Year Start Date,Data de încheiere a anului fiscal trebuie să fie un an de la data începerii anului fiscal,
+Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Data începerii anului fiscal și se termină anul fiscal la data sunt deja stabilite în anul fiscal {0},
+Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,Data de începere a anului fiscal ar trebui să fie cu un an mai devreme decât data de încheiere a anului fiscal,
+Fiscal Year {0} does not exist,Anul fiscal {0} nu există,
+Fiscal Year {0} is required,Anul fiscal {0} este necesară,
+Fiscal Year {0} not found,Anul fiscal {0} nu a fost găsit,
+Fixed Asset,Activ Fix,
+Fixed Asset Item must be a non-stock item.,Fix elementul de activ trebuie să fie un element de bază non-stoc.,
+Fixed Assets,Active Fixe,
+Following Material Requests have been raised automatically based on Item's re-order level,Ca urmare a solicitărilor de materiale au fost ridicate în mod automat în funcție de nivelul de re-comanda item,
+Following accounts might be selected in GST Settings:,Următoarele conturi ar putea fi selectate în Setări GST:,
+Following course schedules were created,Următoarele programe au fost create,
+Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,Următorul articol {0} nu este marcat ca {1} element. Puteți să le activați ca element {1} din capitolul Articol,
+Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,Următoarele elemente {0} nu sunt marcate ca {1} element. Puteți să le activați ca element {1} din capitolul Articol,
+Food,Produse Alimentare,
+"Food, Beverage & Tobacco","Produse Alimentare, Bauturi si Tutun",
+For,Pentru,
+"For 'Product Bundle' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Product Bundle' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table.","Pentru elementele &quot;produse Bundle&quot;, Warehouse, Serial No și lot nr vor fi luate în considerare de la &quot;ambalare List&quot; masa. Dacă Warehouse și Lot nr sunt aceleași pentru toate elementele de ambalaj pentru produs orice &quot;Bundle produs&quot;, aceste valori pot fi introduse în tabelul de punctul principal, valorile vor fi copiate &quot;de ambalare Lista&quot; masă.",
+For Employee,Pentru angajat,
+For Quantity (Manufactured Qty) is mandatory,Pentru Cantitate (fabricat Cant) este obligatorie,
+For Supplier,Pentru Furnizor,
+For Warehouse,Pentru depozit,
+For Warehouse is required before Submit,Pentru Depozit este necesar înainte de Inregistrare,
+"For an item {0}, quantity must be negative number","Pentru un element {0}, cantitatea trebuie să fie număr negativ",
+"For an item {0}, quantity must be positive number","Pentru un element {0}, cantitatea trebuie să fie un număr pozitiv",
+"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry","Pentru cartea de muncă {0}, puteți înscrie doar stocul de tip „Transfer de material pentru fabricare”",
+"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Pentru rândul {0} în {1}. Pentru a include {2} ratei punctul, randuri {3} De asemenea, trebuie să fie incluse",
+For row {0}: Enter Planned Qty,Pentru rândul {0}: Introduceți cantitatea planificată,
+"For {0}, only credit accounts can be linked against another debit entry","Pentru {0}, numai conturi de credit poate fi legat de o altă intrare în debit",
+"For {0}, only debit accounts can be linked against another credit entry","Pentru {0}, numai conturi de debit poate fi legat de o altă intrare în credit",
+Forum Activity,Activitatea Forumului,
+Free item code is not selected,Codul gratuit al articolului nu este selectat,
+Freight and Forwarding Charges,Incarcatura și Taxe de Expediere,
+Frequency,Frecvență,
+Friday,Vineri,
+From,De la,
+From Address 1,De la adresa 1,
+From Address 2,Din adresa 2,
+From Currency and To Currency cannot be same,Din Valuta și In Valuta nu pot fi identice,
+From Date and To Date lie in different Fiscal Year,De la data și până la data se află în anul fiscal diferit,
+From Date cannot be greater than To Date,De la data nu poate fi mai mare decât la data,
+From Date must be before To Date,Din Data trebuie să fie anterioara Pana la Data,
+From Date should be within the Fiscal Year. Assuming From Date = {0},De la data trebuie să fie în anul fiscal. Presupunând că la data = {0},
+From Date {0} cannot be after employee's relieving Date {1},De la data {0} nu poate fi după data eliberării angajatului {1},
+From Date {0} cannot be before employee's joining Date {1},De la data {0} nu poate fi înainte de data de îmbarcare a angajatului {1},
+From Datetime,De la Datetime,
+From Delivery Note,Din Nota de livrare,
+From Fiscal Year,Din anul fiscal,
+From GSTIN,De la GSTIN,
+From Party Name,De la numele partidului,
+From Pin Code,Din codul PIN,
+From Place,De la loc,
+From Range has to be less than To Range,Din Gama trebuie să fie mai mică de la gama,
+From State,Din stat,
+From Time,Din Time,
+From Time Should Be Less Than To Time,Din timp ar trebui să fie mai puțin decât timpul,
+From Time cannot be greater than To Time.,Din Timpul nu poate fi mai mare decât în timp.,
+"From a supplier under composition scheme, Exempt and Nil rated","De la un furnizor în regim de compoziție, Exempt și Nil au evaluat",
+From and To dates required,Datele De La și Pana La necesare,
+From date can not be less than employee's joining date,De la data nu poate fi mai mică decât data angajării angajatului,
+From value must be less than to value in row {0},Din valoare trebuie să fie mai mică decat in valoare pentru inregistrarea {0},
+From {0} | {1} {2},De la {0} | {1} {2},
+Fuel Price,Preț de combustibil,
+Fuel Qty,combustibil Cantitate,
+Fulfillment,Împlinire,
+Full,Deplin,
+Full Name,Nume complet,
+Full-time,Permanent,
+Fully Depreciated,Depreciata pe deplin,
+Furnitures and Fixtures,Furnitures și Programe,
+"Further accounts can be made under Groups, but entries can be made against non-Groups","Conturile suplimentare pot fi făcute sub Groups, dar intrările pot fi făcute împotriva non-Grupuri",
+Further cost centers can be made under Groups but entries can be made against non-Groups,"Centre de costuri pot fi realizate în grupuri, dar intrările pot fi făcute împotriva non-Grupuri",
+Further nodes can be only created under 'Group' type nodes,Noduri suplimentare pot fi create numai în noduri de tip 'Grup',
+Future dates not allowed,Datele viitoare nu sunt permise,
+GSTIN,GSTIN,
+GSTR3B-Form,GSTR3B-Form,
+Gain/Loss on Asset Disposal,Câștigul / Pierdere de eliminare a activelor,
+Gantt Chart,Diagrama Gantt,
+Gantt chart of all tasks.,Diagrama Gantt a tuturor sarcinilor.,
+Gender,Sex,
+General,General,
+General Ledger,Registru Contabil General,
+Generate Material Requests (MRP) and Work Orders.,Generează cereri de material (MRP) și comenzi de lucru.,
+Generate Secret,Generați secret,
+Get Details From Declaration,Obțineți detalii din declarație,
+Get Employees,Obțineți angajați,
+Get Invocies,Obțineți invocări,
+Get Invoices,Obțineți facturi,
+Get Invoices based on Filters,Obțineți facturi bazate pe filtre,
+Get Items from BOM,Obține articole din FDM,
+Get Items from Healthcare Services,Obțineți articole din serviciile de asistență medicală,
+Get Items from Prescriptions,Obțineți articole din prescripții,
+Get Items from Product Bundle,Obține elemente din Bundle produse,
+Get Suppliers,Obțineți furnizori,
+Get Suppliers By,Obțineți furnizori prin,
+Get Updates,Obțineți actualizări,
+Get customers from,Obțineți clienți de la,
+Get from Patient Encounter,Ia de la întâlnirea cu pacienții,
+Getting Started,Noțiuni de bază,
+GitHub Sync ID,ID-ul de sincronizare GitHub,
+Global settings for all manufacturing processes.,Setările globale pentru toate procesele de producție.,
+Go to the Desktop and start using ERPNext,Du-te la desktop și începe să utilizați ERPNext,
+GoCardless SEPA Mandate,GoCardless Mandatul SEPA,
+GoCardless payment gateway settings,Setările gateway-ului de plată GoCardless,
+Goal and Procedure,Obiectivul și procedura,
+Goals cannot be empty,Obiectivele nu poate fi gol,
+Goods In Transit,Bunuri în tranzit,
+Goods Transferred,Mărfuri transferate,
+Goods and Services Tax (GST India),Mărfuri și servicii fiscale (GST India),
+Goods are already received against the outward entry {0},Mărfurile sunt deja primite cu intrarea exterioară {0},
+Government,Guvern,
+Grand Total,Total general,
+Grant,Acorda,
+Grant Application,Cerere de finanțare nerambursabilă,
+Grant Leaves,Grant Frunze,
+Grant information.,Acordați informații.,
+Grocery,Băcănie,
+Gross Pay,Plata Bruta,
+Gross Profit,Profit brut,
+Gross Profit %,Profit Brut%,
+Gross Profit / Loss,Profit brut / Pierdere,
+Gross Purchase Amount,Sumă brută Cumpărare,
+Gross Purchase Amount is mandatory,Valoarea brută Achiziția este obligatorie,
+Group by Account,Grup in functie de Cont,
+Group by Party,Grup după partid,
+Group by Voucher,Grup in functie de Voucher,
+Group by Voucher (Consolidated),Grup după Voucher (Consolidat),
+Group node warehouse is not allowed to select for transactions,depozit nod grup nu este permis să selecteze pentru tranzacții,
+Group to Non-Group,Grup non-grup,
+Group your students in batches,Grupa elevii în loturi,
+Groups,Grupuri,
+Guardian1 Email ID,Codul de e-mail al Guardian1,
+Guardian1 Mobile No,Guardian1 mobil nr,
+Guardian1 Name,Nume Guardian1,
+Guardian2 Email ID,Codul de e-mail Guardian2,
+Guardian2 Mobile No,Guardian2 mobil nr,
+Guardian2 Name,Nume Guardian2,
+Guest,Oaspete,
+HR Manager,Manager Resurse Umane,
+HSN,HSN,
+HSN/SAC,HSN / SAC,
+Half Day,Jumătate de zi,
+Half Day Date is mandatory,Data semestrului este obligatorie,
+Half Day Date should be between From Date and To Date,Jumătate Data zi ar trebui să fie între De la data si pana in prezent,
+Half Day Date should be in between Work From Date and Work End Date,Data de la jumătate de zi ar trebui să se afle între Data de lucru și Data de terminare a lucrului,
+Half Yearly,Semestrial,
+Half day date should be in between from date and to date,Data de la jumătate de zi ar trebui să fie între data și data,
+Half-Yearly,Semestrial,
+Hardware,Hardware,
+Head of Marketing and Sales,Director de Marketing și Vânzări,
+Health Care,Servicii de Sanatate,
+Healthcare,Sănătate,
+Healthcare (beta),Servicii medicale (beta),
+Healthcare Practitioner,Medicul de îngrijire medicală,
+Healthcare Practitioner not available on {0},Medicul de îngrijire medicală nu este disponibil la {0},
+Healthcare Practitioner {0} not available on {1},Medicul de îngrijire medicală {0} nu este disponibil la {1},
+Healthcare Service Unit,Serviciul de asistență medicală,
+Healthcare Service Unit Tree,Unitatea de servicii de asistență medicală,
+Healthcare Service Unit Type,Tipul unității de servicii medicale,
+Healthcare Services,Servicii pentru sanatate,
+Healthcare Settings,Setări de asistență medicală,
+Hello,buna,
+Help Results for,Rezultate de ajutor pentru,
+High,Ridicat,
+High Sensitivity,Sensibilitate crescută,
+Hold,Păstrarea / Ţinerea / Deţinerea,
+Hold Invoice,Rețineți factura,
+Holiday,Vacanţă,
+Holiday List,Lista de vacanță,
+Hotel Rooms of type {0} are unavailable on {1},Camerele Hotel de tip {0} nu sunt disponibile în {1},
+Hotels,Hoteluri,
+Hourly,ore,
+Hours,ore,
+House rent paid days overlapping with {0},Chirie de casă zile plătite care se suprapun cu {0},
+House rented dates required for exemption calculation,Datele de închiriat pentru casa cerute pentru calcularea scutirii,
+House rented dates should be atleast 15 days apart,Căminul de închiriat al casei trebuie să fie la cel puțin 15 zile,
+How Pricing Rule is applied?,Cum se aplică regula pret?,
+Hub Category,Categorie Hub,
+Hub Sync ID,Hub ID de sincronizare,
+Human Resource,Resurse umane,
+Human Resources,Resurse umane,
+IFSC Code,Codul IFSC,
+IGST Amount,Suma IGST,
+IP Address,Adresa IP,
+ITC Available (whether in full op part),ITC Disponibil (fie în opțiune integrală),
+ITC Reversed,ITC inversat,
+Identifying Decision Makers,Identificarea factorilor de decizie,
+"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Dacă este bifată opțiunea Auto Opt In, clienții vor fi conectați automat la programul de loialitate respectiv (la salvare)",
+"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","În cazul în care mai multe reguli de stabilire a prețurilor continuă să prevaleze, utilizatorii sunt rugați să setați manual prioritate pentru a rezolva conflictul.",
+"If selected Pricing Rule is made for 'Rate', it will overwrite Price List. Pricing Rule rate is the final rate, so no further discount should be applied. Hence, in transactions like Sales Order, Purchase Order etc, it will be fetched in 'Rate' field, rather than 'Price List Rate' field.","Dacă regula de preț este selectată pentru &quot;Rate&quot;, va suprascrie lista de prețuri. Tarifarea tarifului Rata de rată este rata finală, deci nu trebuie să aplicați nici o reducere suplimentară. Prin urmare, în tranzacții cum ar fi Comandă de Vânzare, Comandă de Achiziție etc, va fi extrasă în câmpul &quot;Rată&quot;, mai degrabă decât în câmpul &quot;Rata Prețurilor&quot;.",
+"If two or more Pricing Rules are found based on the above conditions, Priority is applied. Priority is a number between 0 to 20 while default value is zero (blank). Higher number means it will take precedence if there are multiple Pricing Rules with same conditions.","În cazul în care două sau mai multe reguli de stabilire a prețurilor sunt găsite bazează pe condițiile de mai sus, se aplică prioritate. Prioritatea este un număr între 0 și 20 în timp ce valoarea implicită este zero (gol). Numărul mai mare înseamnă că va avea prioritate în cazul în care există mai multe norme de stabilire a prețurilor, cu aceleași condiții.",
+"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.","Dacă expiră nelimitat pentru Punctele de loialitate, păstrați Durata de expirare goală sau 0.",
+"If you have any questions, please get back to us.","Dacă aveți întrebări, vă rugăm să ne întoarcem la noi.",
+Ignore Existing Ordered Qty,Ignorați cantitatea comandată existentă,
+Image,Imagine,
+Image View,Imagine Vizualizare,
+Import Data,Importați date,
+Import Day Book Data,Importați datele cărții de zi,
+Import Log,Import Conectare,
+Import Master Data,Importați datele de bază,
+Import in Bulk,Importare în masă,
+Import of goods,Importul de bunuri,
+Import of services,Importul serviciilor,
+Importing Items and UOMs,Importarea de articole și UOM-uri,
+Importing Parties and Addresses,Importarea părților și adreselor,
+In Maintenance,În Mentenanță,
+In Production,In productie,
+In Qty,În Cantitate,
+In Stock Qty,În stoc Cantitate,
+In Stock: ,In stoc:,
+In Value,În valoare,
+"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","În cazul unui program cu mai multe niveluri, Clienții vor fi automat alocați nivelului respectiv în funcție de cheltuielile efectuate",
+Inactive,Inactiv,
+Incentives,stimulente,
+Include Default Book Entries,Includeți intrări implicite în cărți,
+Include Exploded Items,Includeți articole explodate,
+Include POS Transactions,Includeți tranzacțiile POS,
+Include UOM,Includeți UOM,
+Included in Gross Profit,Inclus în Profitul brut,
+Income,Venit,
+Income Account,Contul de venit,
+Income Tax,Impozit pe venit,
+Incoming,Primite,
+Incoming Rate,Rate de intrare,
+Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Număr incorect de contabilitate intrările găsit. Este posibil să fi selectat un cont greșit în tranzacție.,
+Increment cannot be 0,Creștere nu poate fi 0,
+Increment for Attribute {0} cannot be 0,Creștere pentru Atribut {0} nu poate fi 0,
+Indirect Expenses,Cheltuieli indirecte,
+Indirect Income,Venituri indirecte,
+Individual,Individual,
+Ineligible ITC,ITC neeligibil,
+Initiated,Iniţiat,
+Inpatient Record,Înregistrări de pacienți,
+Insert,Introduceți,
+Installation Note,Instalare Notă,
+Installation Note {0} has already been submitted,Instalarea Nota {0} a fost deja prezentat,
+Installation date cannot be before delivery date for Item {0},Data de instalare nu poate fi înainte de data de livrare pentru postul {0},
+Installing presets,Instalarea presetărilor,
+Institute Abbreviation,Institutul Abreviere,
+Institute Name,Numele Institutului,
+Instructor,Instructor,
+Insufficient Stock,Stoc insuficient,
+Insurance Start date should be less than Insurance End date,Asigurare Data de pornire ar trebui să fie mai mică de asigurare Data terminării,
+Integrated Tax,Impozit integrat,
+Inter-State Supplies,Consumabile inter-statale,
+Interest Amount,Suma Dobânda,
+Interests,interese,
+Intern,interna,
+Internet Publishing,Editura Internet,
+Intra-State Supplies,Furnizori intra-statale,
+Introduction,Introducere,
+Invalid Attribute,Atribut nevalid,
+Invalid Blanket Order for the selected Customer and Item,Comanda nevalabilă pentru client și element selectat,
+Invalid Company for Inter Company Transaction.,Companie nevalidă pentru tranzacția inter companie.,
+Invalid GSTIN! A GSTIN must have 15 characters.,GSTIN nevalid! Un GSTIN trebuie să aibă 15 caractere.,
+Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,GSTIN nevalid! Primele 2 cifre ale GSTIN ar trebui să se potrivească cu numărul de stat {0}.,
+Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,GSTIN nevalid! Intrarea introdusă nu corespunde formatului GSTIN.,
+Invalid Posting Time,Ora nevalidă a postării,
+Invalid attribute {0} {1},atribut nevalid {0} {1},
+Invalid quantity specified for item {0}. Quantity should be greater than 0.,Cantitate nevalidă specificată pentru element {0}. Cantitatea ar trebui să fie mai mare decât 0.,
+Invalid reference {0} {1},Referință invalid {0} {1},
+Invalid {0},Invalid {0},
+Invalid {0} for Inter Company Transaction.,Nevalabil {0} pentru tranzacția între companii.,
+Invalid {0}: {1},Invalid {0}: {1},
+Inventory,Inventarierea,
+Investment Banking,Investment Banking,
+Investments,investiţii,
+Invoice,Factură,
+Invoice Created,Factura creată,
+Invoice Discounting,Reducerea facturilor,
+Invoice Patient Registration,Inregistrarea pacientului,
+Invoice Posting Date,Data Postare factură,
+Invoice Type,Tip Factura,
+Invoice already created for all billing hours,Factura deja creată pentru toate orele de facturare,
+Invoice can't be made for zero billing hour,Factura nu poate fi făcută pentru cantitate 0 ore facturabile,
+Invoice {0} no longer exists,Factura {0} nu mai există,
+Invoiced,facturată,
+Invoiced Amount,Sumă facturată,
+Invoices,Facturi,
+Invoices for Costumers.,Facturi pentru clienți.,
+Inward supplies from ISD,Consumabile interioare de la ISD,
+Inward supplies liable to reverse charge (other than 1 & 2 above),Livrări interne susceptibile de încărcare inversă (altele decât 1 și 2 de mai sus),
+Is Active,Este activ,
+Is Default,Este Implicit,
+Is Existing Asset,Este activ existent,
+Is Frozen,Este inghetat,
+Is Group,Is Group,
+Issue,Problema,
+Issue Material,Eliberarea Material,
+Issued,Emis,
+Issues,Probleme,
+It is needed to fetch Item Details.,Este nevoie să-i aducă Detalii despre articol.,
+Item,Obiect,
+Item 1,Postul 1,
+Item 2,Punctul 2,
+Item 3,Punctul 3,
+Item 4,Punctul 4,
+Item 5,Punctul 5,
+Item Cart,Cos,
+Item Code,Cod articol,
+Item Code cannot be changed for Serial No.,Cod articol nu pot fi schimbate pentru Serial No.,
+Item Code required at Row No {0},Cod Articol necesar la inregistrarea Nr. {0},
+Item Description,Descriere Articol,
+Item Group,Grup Articol,
+Item Group Tree,Ramificatie Grup Articole,
+Item Group not mentioned in item master for item {0},Grupa de articole care nu sunt menționate la punctul de master pentru element {0},
+Item Name,Numele articolului,
+Item Price added for {0} in Price List {1},Articol Preț adăugată pentru {0} în lista de prețuri {1},
+"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Elementul Preț apare de mai multe ori pe baza listei de prețuri, furnizor / client, valută, element, UOM, cantitate și date.",
+Item Price updated for {0} in Price List {1},Articol Preț actualizat pentru {0} în lista de prețuri {1},
+Item Row {0}: {1} {2} does not exist in above '{1}' table,Rândul {0}: {1} {2} nu există în tabelul de mai sus {1},
+Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Taxa Articol pentru inregistrarea {0} trebuie sa detina un cont de tip Fiscal sau De Venituri sau De Cheltuieli sau Taxabil,
+Item Template,Șablon de șablon,
+Item Variant Settings,Setări pentru variantele de articol,
+Item Variant {0} already exists with same attributes,Postul Varianta {0} există deja cu aceleași atribute,
+Item Variants,Variante Postul,
+Item Variants updated,Variante de articol actualizate,
+Item has variants.,Element are variante.,
+Item must be added using 'Get Items from Purchase Receipts' button,"Postul trebuie să fie adăugate folosind ""obține elemente din Cumpără Încasări"" buton",
+Item valuation rate is recalculated considering landed cost voucher amount,Rata de evaluare Articolul este recalculat în vedere aterizat sumă voucher de cost,
+Item variant {0} exists with same attributes,Postul varianta {0} există cu aceleași atribute,
+Item {0} does not exist,Articolul {0} nu există,
+Item {0} does not exist in the system or has expired,Articolul {0} nu există în sistem sau a expirat,
+Item {0} has already been returned,Articolul {0} a fost deja returnat,
+Item {0} has been disabled,Postul {0} a fost dezactivat,
+Item {0} has reached its end of life on {1},Articolul {0} a ajuns la sfârșitul cliclului sau de viață in {1},
+Item {0} ignored since it is not a stock item,"Element {0} ignorat, deoarece nu este un element de stoc",
+"Item {0} is a template, please select one of its variants","Postul {0} este un șablon, vă rugăm să selectați unul dintre variantele sale",
+Item {0} is cancelled,Articolul {0} este anulat,
+Item {0} is disabled,Postul {0} este dezactivat,
+Item {0} is not a serialized Item,Articolul {0} nu este un articol serializat,
+Item {0} is not a stock Item,Articolul{0} nu este un element de stoc,
+Item {0} is not active or end of life has been reached,Articolul {0} nu este activ sau sfarsitul ciclului sau de viata a fost atins,
+Item {0} is not setup for Serial Nos. Check Item master,Articolul {0} nu este configurat pentru Numerotare Seriala. Verificati Articolul Principal.,
+Item {0} is not setup for Serial Nos. Column must be blank,Articolul {0} nu este configurat pentru Numerotare Seriala. Coloana trebuie să fie vida,
+Item {0} must be a Fixed Asset Item,Postul {0} trebuie să fie un element activ fix,
+Item {0} must be a Sub-contracted Item,Articolul {0} trebuie să fie un Articol Sub-contractat,
+Item {0} must be a non-stock item,Postul {0} trebuie să fie un element de bază non-stoc,
+Item {0} must be a stock Item,Articolul {0} trebuie să fie un Articol de Stoc,
+Item {0} not found,Articolul {0} nu a fost găsit,
+Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Postul {0} nu a fost găsit în &quot;Materii prime furnizate&quot; masă în Comandă {1},
+Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Postul {0}: Cantitate comandat {1} nu poate fi mai mică de cantitate minimă de comandă {2} (definită la punctul).,
+Item: {0} does not exist in the system,Postul: {0} nu există în sistemul,
+Items,Articole,
+Items Filter,Filtrarea elementelor,
+Items and Pricing,Articole și Prețuri,
+Items for Raw Material Request,Articole pentru cererea de materii prime,
+Job Card,Carte de muncă,
+Job Description,Descrierea postului,
+Job Offer,Ofertă de muncă,
+Job card {0} created,Cartea de activitate {0} a fost creată,
+Jobs,Posturi,
+Join,A adera,
+Journal Entries {0} are un-linked,Intrările Jurnal {0} sunt ne-legate,
+Journal Entry,Intrare în jurnal,
+Journal Entry {0} does not have account {1} or already matched against other voucher,Jurnal de intrare {0} nu are cont {1} sau deja comparate cu alte voucher,
+Kanban Board,Consiliul de Kanban,
+Key Reports,Rapoarte cheie,
+LMS Activity,Activitate LMS,
+Lab Test,Test de laborator,
+Lab Test Report,Raport de testare în laborator,
+Lab Test Sample,Test de laborator,
+Lab Test Template,Lab Test Template,
+Lab Test UOM,Laboratorul de testare UOM,
+Lab Tests and Vital Signs,Teste de laborator și semne vitale,
+Lab result datetime cannot be before testing datetime,Rezultatul datetimei de laborator nu poate fi înainte de data testării,
+Lab testing datetime cannot be before collection datetime,Timpul de testare al laboratorului nu poate fi înainte de data de colectare,
+Label,Eticheta,
+Laboratory,Laborator,
+Language Name,Nume limbă,
+Large,Mare,
+Last Communication,Ultima comunicare,
+Last Communication Date,Ultima comunicare,
+Last Name,Nume,
+Last Order Amount,Ultima cantitate,
+Last Order Date,Ultima comandă Data,
+Last Purchase Price,Ultima valoare de cumpărare,
+Last Purchase Rate,Ultima Rate de Cumparare,
+Latest,Ultimul,
+Latest price updated in all BOMs,Ultimul preț actualizat în toate BOM-urile,
+Lead,Pistă,
+Lead Count,Număr Pistă,
+Lead Owner,Proprietar Pistă,
+Lead Owner cannot be same as the Lead,Plumb Proprietarul nu poate fi aceeași ca de plumb,
+Lead Time Days,Timpul in Zile Conducere,
+Lead to Quotation,Pistă către Ofertă,
+"Leads help you get business, add all your contacts and more as your leads","Oportunitati de afaceri ajuta să obțineți, adăugați toate contactele și mai mult ca dvs. conduce",
+Learn,Învăța,
+Leave Approval Notification,Lăsați notificarea de aprobare,
+Leave Blocked,Concediu Blocat,
+Leave Encashment,Lasă încasări,
+Leave Management,Lasă managementul,
+Leave Status Notification,Lăsați notificarea de stare,
+Leave Type,Tip Concediu,
+Leave Type is madatory,Tipul de plecare este madatoriu,
+Leave Type {0} cannot be allocated since it is leave without pay,"Lasă un {0} Tipul nu poate fi alocată, deoarece este în concediu fără plată",
+Leave Type {0} cannot be carry-forwarded,Lasă Tipul {0} nu poate fi transporta-transmise,
+Leave Type {0} is not encashable,Tipul de plecare {0} nu este încasat,
+Leave Without Pay,Concediu Fără Plată,
+Leave and Attendance,Plece și prezență,
+Leave application {0} already exists against the student {1},Lăsați aplicația {0} să existe deja împotriva elevului {1},
+"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Concediu nu poate fi repartizat înainte {0}, ca echilibru concediu a fost deja carry transmise în viitor înregistrarea alocare concediu {1}",
+"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Lasă nu poate fi aplicat / anulata pana la {0}, ca echilibru concediu a fost deja carry transmise în viitor înregistrarea alocare concediu {1}",
+Leave of type {0} cannot be longer than {1},Concediul de tip {0} nu poate dura mai mare de {1},
+Leaves,Frunze,
+Leaves Allocated Successfully for {0},Concedii alocate cu succes pentru {0},
+Leaves has been granted sucessfully,Frunzele au fost acordate cu succes,
+Leaves must be allocated in multiples of 0.5,"Concediile trebuie să fie alocate în multipli de 0.5""",
+Leaves per Year,Frunze pe an,
+Ledger,Registru Contabil,
+Legal,Juridic,
+Legal Expenses,Cheltuieli Juridice,
+Letter Head,Antet Scrisoare,
+Letter Heads for print templates.,Antete de Scrisoare de Sabloane de Imprimare.,
+Level,Nivel,
+Liability,Răspundere,
+License,Licență,
+Lifecycle,Ciclu de viață,
+Limit,Limită,
+Limit Crossed,limita Traversat,
+Link to Material Request,Link la solicitarea materialului,
+List of all share transactions,Lista tuturor tranzacțiilor cu acțiuni,
+List of available Shareholders with folio numbers,Lista Acționarilor disponibili cu numere folio,
+Loading Payment System,Încărcarea sistemului de plată,
+Loan,Împrumut,
+Loan Amount cannot exceed Maximum Loan Amount of {0},Suma creditului nu poate depăși valoarea maximă a împrumutului de {0},
+Loan Application,Cerere de împrumut,
+Loan Management,Managementul împrumuturilor,
+Loan Repayment,Rambursare a creditului,
+Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,Data de început a împrumutului și perioada de împrumut sunt obligatorii pentru a salva reducerea facturilor,
+Loans (Liabilities),Imprumuturi (Raspunderi),
+Loans and Advances (Assets),Împrumuturi și avansuri (active),
+Local,Local,
+Log,Buturuga,
+Logs for maintaining sms delivery status,Busteni pentru menținerea statutului de livrare sms,
+Lost,Pierdut,
+Lost Reasons,Motivele pierdute,
+Low,Scăzut,
+Low Sensitivity,Sensibilitate scăzută,
+Lower Income,Micsoreaza Venit,
+Loyalty Amount,Suma de loialitate,
+Loyalty Point Entry,Punct de loialitate,
+Loyalty Points,Puncte de loialitate,
+"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Punctele de loialitate vor fi calculate din suma cheltuită (prin factura de vânzare), pe baza factorului de colectare menționat.",
+Loyalty Points: {0},Puncte de fidelitate: {0},
+Loyalty Program,Program de fidelizare,
+Main,Principal,
+Maintenance,Mentenanţă,
+Maintenance Log,Jurnal Mentenanță,
+Maintenance Manager,Manager Mentenanță,
+Maintenance Schedule,Program Mentenanță,
+Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Programul de Mentenanta nu este generat pentru toate articolele. Vă rugăm să faceți clic pe 'Generare Program',
+Maintenance Schedule {0} exists against {1},Planul de Mentenanță {0} există împotriva {1},
+Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Programul de Mentenanță{0} trebuie anulat înainte de a anula această Comandă de Vânzări,
+Maintenance Status has to be Cancelled or Completed to Submit,Starea de întreținere trebuie anulată sau finalizată pentru a fi trimisă,
+Maintenance User,Întreținere utilizator,
+Maintenance Visit,Vizită Mentenanță,
+Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Vizita de Mentenanță {0} trebuie să fie anulată înainte de a anula această Comandă de Vânzări,
+Maintenance start date can not be before delivery date for Serial No {0},Data de Incepere a Mentenantei nu poate fi anterioara datei de livrare aferent de Nr. de Serie {0},
+Make,Realizare,
+Make Payment,Plateste,
+Make project from a template.,Realizați proiectul dintr-un șablon.,
+Making Stock Entries,Efectuarea de stoc Entries,
+Male,Masculin,
+Manage Customer Group Tree.,Gestioneaza Ramificatiile de Group a Clientului.,
+Manage Sales Partners.,Gestionează Parteneri Vânzări,
+Manage Sales Person Tree.,Gestioneaza Ramificatiile Persoanei responsabila cu Vanzarile,
+Manage Territory Tree.,Gestioneaza Ramificatiile Teritoriule.,
+Manage your orders,Gestionează Comenzi,
+Management,Management,
+Manager,Manager,
+Managing Projects,Managementul Proiectelor,
+Managing Subcontracting,Gestionarea Subcontracte,
+Mandatory,Obligatoriu,
+Mandatory field - Academic Year,Domeniu obligatoriu - An universitar,
+Mandatory field - Get Students From,Domeniu obligatoriu - Obțineți elevii de la,
+Mandatory field - Program,Câmp obligatoriu - Program,
+Manufacture,Fabricare,
+Manufacturer,Producător,
+Manufacturer Part Number,Numarul de piesa,
+Manufacturing,Producţie,
+Manufacturing Quantity is mandatory,Cantitatea de fabricație este obligatorie,
+Mapping,Cartografierea,
+Mapping Type,Tipul de tipărire,
+Mark Absent,Mark Absent,
+Mark Attendance,Marchează prezența,
+Mark Half Day,Mark jumatate de zi,
+Mark Present,Mark Prezent,
+Marketing,Marketing,
+Marketing Expenses,Cheltuieli de marketing,
+Marketplace,Piata de desfacere,
+Marketplace Error,Eroare de pe piață,
+Masters,Masterat,
+Match Payments with Invoices,Plățile se potrivesc cu facturi,
+Match non-linked Invoices and Payments.,Potrivesc Facturi non-legate și plăți.,
+Material,Material,
+Material Consumption,Consumul de materiale,
+Material Consumption is not set in Manufacturing Settings.,Consumul de materiale nu este setat în Setări de fabricare.,
+Material Receipt,Primirea de material,
+Material Request,Cerere de material,
+Material Request Date,Cerere de material Data,
+Material Request No,Cerere de material Nu,
+"Material Request not created, as quantity for Raw Materials already available.","Cerere de material nefiind creată, ca cantitate pentru materiile prime deja disponibile.",
+Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Cerere de material de maximum {0} se poate face pentru postul {1} împotriva comandă de vânzări {2},
+Material Request to Purchase Order,Cerere de material de cumpărare Ordine,
+Material Request {0} is cancelled or stopped,Cerere de material {0} este anulată sau oprită,
+Material Request {0} submitted.,Cerere de materiale {0} trimisă.,
+Material Transfer,Transfer de material,
+Material Transferred,Material transferat,
+Material to Supplier,Material de Furnizor,
+Max Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},Suma maximă de scutire nu poate fi mai mare decât valoarea scutirii maxime {0} din categoria scutirii de impozite {1},
+Max benefits should be greater than zero to dispense benefits,Beneficiile maxime ar trebui să fie mai mari decât zero pentru a renunța la beneficii,
+Max discount allowed for item: {0} is {1}%,Discount maxim permis pentru articol: {0} este {1}%,
+Max: {0},Max: {0},
+Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,Probele maxime - {0} pot fi păstrate pentru lotul {1} și articolul {2}.,
+Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,Probele maxime - {0} au fost deja reținute pentru lotul {1} și articolul {2} din lotul {3}.,
+Maximum amount eligible for the component {0} exceeds {1},Suma maximă eligibilă pentru componenta {0} depășește {1},
+Maximum benefit amount of component {0} exceeds {1},Suma maximă de beneficii a componentei {0} depășește {1},
+Maximum benefit amount of employee {0} exceeds {1},Suma maximă a beneficiilor angajatului {0} depășește {1},
+Maximum discount for Item {0} is {1}%,Reducerea maximă pentru articolul {0} este {1}%,
+Maximum leave allowed in the leave type {0} is {1},Permisul maxim permis în tipul de concediu {0} este {1},
+Medical,Medical,
+Medical Code,Codul medical,
+Medical Code Standard,Codul medical standard,
+Medical Department,Departamentul medical,
+Medical Record,Fișă medicală,
+Medium,Medie,
+Meeting,Întâlnire,
+Member Activity,Activitatea membrilor,
+Member ID,Membru ID,
+Member Name,Numele membrului,
+Member information.,Informații despre membri.,
+Membership,apartenență,
+Membership Details,Detalii de membru,
+Membership ID,ID-ul de membru,
+Membership Type,Tipul de membru,
+Memebership Details,Detalii de membru,
+Memebership Type Details,Detalii despre tipul de membru,
+Merge,contopi,
+Merge Account,Îmbinare cont,
+Merge with Existing Account,Mergeți cu contul existent,
+"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Fuziune este posibilă numai în cazul în care următoarele proprietăți sunt aceleași în ambele registre. Este Group, Root Type, Company",
+Message Examples,Exemple de mesaje,
+Message Sent,Mesajul a fost trimis,
+Method,Metoda,
+Middle Income,Venituri medii,
+Middle Name,Al doilea nume,
+Middle Name (Optional),Al Doilea Nume (Opțional),
+Min Amt can not be greater than Max Amt,Min Amt nu poate fi mai mare decât Max Amt,
+Min Qty can not be greater than Max Qty,Min Cantitate nu poate fi mai mare decât Max Cantitate,
+Minimum Lead Age (Days),Vârsta minimă de plumb (zile),
+Miscellaneous Expenses,Cheltuieli diverse,
+Missing Currency Exchange Rates for {0},Lipsesc cursuri de schimb valutar pentru {0},
+Missing email template for dispatch. Please set one in Delivery Settings.,Șablonul de e-mail lipsă pentru expediere. Alegeți unul din Setările de livrare.,
+"Missing value for Password, API Key or Shopify URL","Valoare lipsă pentru parola, cheia API sau adresa URL pentru cumpărături",
+Mode of Payment,Modul de plată,
+Mode of Payments,Modul de plată,
+Mode of Transport,Mijloc de transport,
+Mode of Transportation,Mijloc de transport,
+Mode of payment is required to make a payment,Modul de plată este necesară pentru a efectua o plată,
+Model,Model,
+Moderate Sensitivity,Sensibilitate moderată,
+Monday,Luni,
+Monthly,Lunar,
+Monthly Distribution,Distributie lunar,
+Monthly Repayment Amount cannot be greater than Loan Amount,Rambursarea lunară Suma nu poate fi mai mare decât Suma creditului,
+More,Mai mult,
+More Information,Mai multe informatii,
+More than one selection for {0} not allowed,Nu sunt permise mai multe selecții pentru {0},
+More...,Mai Mult...,
+Motion Picture & Video,Motion Picture & Video,
+Move,Mutare,
+Move Item,Postul mutare,
+Multi Currency,Multi valutar,
+Multiple Item prices.,Mai multe prețuri element.,
+Multiple Loyalty Program found for the Customer. Please select manually.,Programul de loialitate multiplă găsit pentru client. Selectați manual.,
+"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}","Reguli de preturi multiple există cu aceleași criterii, vă rugăm să rezolve conflictul prin atribuirea de prioritate. Reguli de preț: {0}",
+Multiple Variants,Variante multiple,
+Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,ani fiscali multiple exista in data de {0}. Vă rugăm să setați companie în anul fiscal,
+Music,Muzica,
+My Account,Contul Meu,
+Name error: {0},Numele de eroare: {0},
+Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Numele de cont nou. Notă: Vă rugăm să nu creați conturi pentru clienți și furnizori,
+Name or Email is mandatory,Nume sau E-mail este obligatorie,
+Nature Of Supplies,Natura aprovizionării,
+Navigating,Navigarea,
+Needs Analysis,Analiza nevoilor,
+Negative Quantity is not allowed,Nu este permisă cantitate negativă,
+Negative Valuation Rate is not allowed,Negativ Rata de evaluare nu este permis,
+Negotiation/Review,Negocierea / revizuire,
+Net Asset value as on,Valoarea activelor nete pe,
+Net Cash from Financing,Numerar net din Finantare,
+Net Cash from Investing,Numerar net din investiții,
+Net Cash from Operations,Numerar net din operațiuni,
+Net Change in Accounts Payable,Schimbarea net în conturi de plătit,
+Net Change in Accounts Receivable,Schimbarea net în conturile de creanțe,
+Net Change in Cash,Schimbarea net în numerar,
+Net Change in Equity,Schimbarea net în capitaluri proprii,
+Net Change in Fixed Asset,Schimbarea net în active fixe,
+Net Change in Inventory,Schimbarea net în inventar,
+Net ITC Available(A) - (B),ITC net disponibil (A) - (B),
+Net Pay,Plată netă,
+Net Pay cannot be less than 0,Plata netă nu poate fi mai mică decât 0,
+Net Profit,Profit net,
+Net Salary Amount,Valoarea netă a salariului,
+Net Total,Total net,
+Net pay cannot be negative,Salariul net nu poate fi negativ,
+New Account Name,Nume nou cont,
+New Address,Adresa noua,
+New BOM,Nou BOM,
+New Batch ID (Optional),ID-ul lotului nou (opțional),
+New Batch Qty,Numărul nou de loturi,
+New Company,Companie nouă,
+New Cost Center Name,Numele noului centru de cost,
+New Customer Revenue,Noi surse de venit pentru clienți,
+New Customers,clienti noi,
+New Department,Departamentul nou,
+New Employee,Angajat nou,
+New Location,Locație nouă,
+New Quality Procedure,Noua procedură de calitate,
+New Sales Invoice,Adauga factură de vânzări,
+New Sales Person Name,Nume nou Agent de vânzări,
+New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Noua ordine nu pot avea Warehouse. Depozit trebuie să fie stabilite de către Bursa de intrare sau de primire de cumparare,
+New Warehouse Name,Nume nou depozit,
+New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},Noua limită de credit este mai mică decât valoarea curentă restante pentru client. Limita de credit trebuie să fie atleast {0},
+New task,Sarcina noua,
+New {0} pricing rules are created,Sunt create noi {0} reguli de preț,
+Newsletters,Buletine,
+Newspaper Publishers,Editorii de ziare,
+Next,Următor,
+Next Contact By cannot be same as the Lead Email Address,Următoarea Contact Prin faptul că nu poate fi aceeași cu adresa de e-mail Plumb,
+Next Contact Date cannot be in the past,În continuare Contact Data nu poate fi în trecut,
+Next Steps,Pasii urmatori,
+No Action,Fara actiune,
+No Customers yet!,Nu există clienți încă!,
+No Data,No Data,
+No Delivery Note selected for Customer {},Nu este selectată nicio notificare de livrare pentru client {},
+No Employee Found,Nu a fost găsit angajat,
+No Item with Barcode {0},Nici un articol cu coduri de bare {0},
+No Item with Serial No {0},Nici un articol cu ordine {0},
+No Items available for transfer,Nu există elemente disponibile pentru transfer,
+No Items selected for transfer,Nu există elemente selectate pentru transfer,
+No Items to pack,Nu sunt produse în ambalaj,
+No Items with Bill of Materials to Manufacture,Nu există niciun articol cu Lista de materiale pentru fabricarea,
+No Items with Bill of Materials.,Nu există articole cu Bill of Materials.,
+No Permission,Nici o permisiune,
+No Remarks,Nu Observații,
+No Result to submit,Niciun rezultat nu trebuie trimis,
+No Salary Structure assigned for Employee {0} on given date {1},Nu există structură salarială atribuită pentru angajat {0} la data dată {1},
+No Staffing Plans found for this Designation,Nu au fost găsite planuri de personal pentru această desemnare,
+No Student Groups created.,Nu există grupuri create de studenți.,
+No Students in,Nu există studenți în,
+No Tax Withholding data found for the current Fiscal Year.,Nu au fost găsite date privind reținerea fiscală pentru anul fiscal curent.,
+No Work Orders created,Nu au fost create comenzi de lucru,
+No accounting entries for the following warehouses,Nici o intrare contabile pentru următoarele depozite,
+No active or default Salary Structure found for employee {0} for the given dates,Nr Structură activă sau Salariul implicit găsite pentru angajat al {0} pentru datele indicate,
+No contacts with email IDs found.,Nu au fost găsite contacte cu ID-urile de e-mail.,
+No data for this period,Nu există date pentru această perioadă,
+No description given,Nici o descriere dat,
+No employees for the mentioned criteria,Nu există angajați pentru criteriile menționate,
+No gain or loss in the exchange rate,Nu există cheltuieli sau venituri din diferente ale cursului de schimb,
+No items listed,Nu sunt enumerate elemente,
+No items to be received are overdue,Nu sunt întârziate niciun element de primit,
+No material request created,Nu a fost creată nicio solicitare materială,
+No more updates,Nu există mai multe actualizări,
+No of Interactions,Nr de interacțiuni,
+No of Shares,Numărul de acțiuni,
+No pending Material Requests found to link for the given items.,Nu au fost găsite solicitări de material în așteptare pentru link-ul pentru elementele date.,
+No products found,Nu au fost găsite produse,
+No products found.,Nu găsiți produse.,
+No record found,Nu s-au găsit înregistrări,
+No records found in the Invoice table,Nu sunt găsite inregistrari în tabelul de facturi înregistrate,
+No records found in the Payment table,Nu sunt găsite în tabelul de plăți înregistrări,
+No replies from,Nu există răspunsuri de la,
+No salary slip found to submit for the above selected criteria OR salary slip already submitted,Nu s-a găsit nicio corespondență salarială pentru criteriile de mai sus sau salariul deja trimis,
+No tasks,Nu există nicio sarcină,
+No time sheets,Nu există nicio foaie de timp,
+No values,Fără valori,
+No {0} found for Inter Company Transactions.,Nu a fost găsit {0} pentru tranzacțiile Intercompanie.,
+Non GST Inward Supplies,Consumabile interioare non-GST,
+Non Profit,Non-Profit,
+Non Profit (beta),Nonprofit (beta),
+Non-GST outward supplies,Oferte externe non-GST,
+Non-Group to Group,Non-Grup la Grup,
+None,Nici unul,
+None of the items have any change in quantity or value.,Nici unul din elementele au nici o schimbare în cantitate sau de valoare.,
+Nos,nos,
+Not Available,Indisponibil,
+Not Marked,nemarcate,
+Not Paid and Not Delivered,Nu sunt plătite și nu sunt livrate,
+Not Permitted,Nu este permisă,
+Not Started,Neînceput,
+Not active,Nu este activ,
+Not allow to set alternative item for the item {0},Nu permiteți setarea unui element alternativ pentru articolul {0},
+Not allowed to update stock transactions older than {0},Nu este permis să actualizeze tranzacțiile bursiere mai vechi de {0},
+Not authorized to edit frozen Account {0},Nu este autorizat pentru a edita Contul {0} blocat,
+Not authroized since {0} exceeds limits,Nu authroized din {0} depășește limitele,
+Not permitted for {0},Nu este permisă {0},
+"Not permitted, configure Lab Test Template as required","Nu este permisă, configurați Șablon de testare Lab așa cum este necesar",
+Not permitted. Please disable the Service Unit Type,Nu sunt acceptate. Dezactivați tipul unității de serviciu,
+Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Notă: Datorită / Reference Data depășește de companie zile de credit client de {0} zi (le),
+Note: Item {0} entered multiple times,Notă: Articolul {0} a intrat de mai multe ori,
+Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,"Notă: Plata de intrare nu va fi creat deoarece ""Cash sau cont bancar"" nu a fost specificat",
+Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,"Notă: Sistemul nu va verifica peste, livrare și supra-rezervări pentru postul {0} ca și cantitatea sau valoarea este 0",
+Note: There is not enough leave balance for Leave Type {0},Notă: Nu este echilibrul concediu suficient pentru concediul de tip {0},
+Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Notă: Acest centru de cost este un grup. Nu pot face înregistrări contabile impotriva grupuri.,
+Note: {0},Notă: {0},
+Notes,Observații,
+Nothing is included in gross,Nimic nu este inclus în brut,
+Nothing more to show.,Nimic mai mult pentru a arăta.,
+Nothing to change,Nimic de schimbat,
+Notice Period,Perioada de preaviz,
+Notify Customers via Email,Notificați clienții prin e-mail,
+Number,Număr,
+Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Numărul de Deprecieri Booked nu poate fi mai mare decât Număr total de Deprecieri,
+Number of Interaction,Numărul interacțiunii,
+Number of Order,Numărul de comandă,
+"Number of new Account, it will be included in the account name as a prefix","Numărul de cont nou, acesta va fi inclus în numele contului ca prefix",
+"Number of new Cost Center, it will be included in the cost center name as a prefix","Numărul noului Centru de cost, acesta va fi inclus în prefixul centrului de costuri",
+Number of root accounts cannot be less than 4,Numărul de conturi root nu poate fi mai mic de 4,
+Odometer,Contorul de kilometraj,
+Office Equipments,Echipamente de birou,
+Office Maintenance Expenses,Cheltuieli Mentenanță Birou,
+Office Rent,Birou inchiriat,
+On Hold,In asteptare,
+On Net Total,Pe Net Total,
+One customer can be part of only single Loyalty Program.,Un client poate face parte dintr-un singur program de loialitate.,
+Online Auctions,Licitatii online,
+Only Leave Applications with status 'Approved' and 'Rejected' can be submitted,Lăsați numai aplicațiile cu statut „Aprobat“ și „Respins“ pot fi depuse,
+"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",În tabelul de mai jos va fi selectat numai Solicitantul studenților cu statutul &quot;Aprobat&quot;.,
+Only users with {0} role can register on Marketplace,Numai utilizatorii cu rolul {0} se pot înregistra pe Marketplace,
+Open BOM {0},Deschideți BOM {0},
+Open Item {0},Deschis Postul {0},
+Open Notifications,Notificări deschise,
+Open Orders,Comenzi deschise,
+Open a new ticket,Deschideți un nou bilet,
+Opening,Deschidere,
+Opening (Cr),Deschidere (Cr),
+Opening (Dr),Deschidere (Dr),
+Opening Accounting Balance,Sold Contabilitate,
+Opening Accumulated Depreciation,Deschidere Amortizarea Acumulate,
+Opening Accumulated Depreciation must be less than equal to {0},Amortizarea de deschidere trebuie să fie mai mică Acumulate decât egală cu {0},
+Opening Balance,Soldul de deschidere,
+Opening Balance Equity,Sold Equity,
+Opening Date and Closing Date should be within same Fiscal Year,Deschiderea și data inchiderii ar trebui să fie în același an fiscal,
+Opening Date should be before Closing Date,"Deschiderea Data ar trebui să fie, înainte de Data inchiderii",
+Opening Entry Journal,Deschiderea Jurnalului de intrare,
+Opening Invoice Creation Tool,Deschiderea Instrumentului de creare a facturilor,
+Opening Invoice Item,Deschidere element factură,
+Opening Invoices,Deschiderea facturilor,
+Opening Invoices Summary,Sumar de deschidere a facturilor,
+Opening Qty,Deschiderea Cantitate,
+Opening Stock,deschidere stoc,
+Opening Stock Balance,Sold Stock,
+Opening Value,Valoarea de deschidere,
+Opening {0} Invoice created,Deschidere {0} Factură creată,
+Operation,Operație,
+Operation Time must be greater than 0 for Operation {0},Funcționarea timp trebuie să fie mai mare decât 0 pentru funcționare {0},
+"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operațiunea {0} mai mult decât orice ore de lucru disponibile în stație de lucru {1}, descompun operațiunea în mai multe operațiuni",
+Operations,Operatii,
+Operations cannot be left blank,Operații nu poate fi lăsat necompletat,
+Opp Count,Opp Count,
+Opp/Lead %,Opp / Plumb%,
+Opportunities,Oportunități,
+Opportunities by lead source,Oportunități după sursă pistă,
+Opportunity,Oportunitate,
+Opportunity Amount,Oportunitate Sumă,
+Optional Holiday List not set for leave period {0},Lista de vacanță opțională nu este setată pentru perioada de concediu {0},
+"Optional. Sets company's default currency, if not specified.","Opțional. Setează implicit moneda companiei, în cazul în care nu este specificat.",
+Optional. This setting will be used to filter in various transactions.,Opțional. Această setare va fi utilizat pentru a filtra în diverse tranzacții.,
+Options,Optiuni,
+Order Count,Numărătoarea comenzilor,
+Order Entry,Intrare comandă,
+Order Value,Valoarea comenzii,
+Order rescheduled for sync,Ordonată reprogramată pentru sincronizare,
+Order/Quot %,Ordine / Cotare%,
+Ordered,Ordonat,
+Ordered Qty,Ordonat Cantitate,
+"Ordered Qty: Quantity ordered for purchase, but not received.","Comandat Cantitate: Cantitatea comandat pentru cumpărare, dar nu a primit.",
+Orders,Comenzi,
+Orders released for production.,Comenzi lansat pentru producție.,
+Organization,Organizare,
+Organization Name,Numele Organizatiei,
+Other,Altul,
+Other Reports,Alte rapoarte,
+"Other outward supplies(Nil rated,Exempted)","Alte consumabile exterioare (Nil evaluat, scutit)",
+Others,Altel,
+Out Qty,Out Cantitate,
+Out Value,Valoarea afară,
+Out of Order,Scos din uz,
+Outgoing,Trimise,
+Outstanding,remarcabil,
+Outstanding Amount,Remarcabil Suma,
+Outstanding Amt,Impresionant Amt,
+Outstanding Cheques and Deposits to clear,Cecuri restante și pentru a șterge Depozite,
+Outstanding for {0} cannot be less than zero ({1}),Restante pentru {0} nu poate fi mai mică decât zero ({1}),
+Outward taxable supplies(zero rated),Livrări impozabile externe (zero),
+Overdue,întârziat,
+Overlap in scoring between {0} and {1},Suprapunerea punctajului între {0} și {1},
+Overlapping conditions found between:,Condiții se suprapun găsite între:,
+Owner,Proprietar,
+PAN,TIGAIE,
+POS,POS,
+POS Profile,POS Profil,
+POS Profile is required to use Point-of-Sale,Profilul POS este necesar pentru a utiliza Punctul de vânzare,
+POS Profile required to make POS Entry,POS Profil necesare pentru a face POS intrare,
+POS Settings,Setări POS,
+Packed quantity must equal quantity for Item {0} in row {1},Cantitate ambalate trebuie să fie egală cantitate pentru postul {0} în rândul {1},
+Packing Slip,Slip de ambalare,
+Packing Slip(s) cancelled,Slip de ambalare (e) anulate,
+Paid,Plătit,
+Paid Amount,Suma plătită,
+Paid Amount cannot be greater than total negative outstanding amount {0},Suma plătită nu poate fi mai mare decât suma totală negativă restante {0},
+Paid amount + Write Off Amount can not be greater than Grand Total,Suma plătită + Scrie Off Suma nu poate fi mai mare decât Grand total,
+Paid and Not Delivered,Plătite și nu sunt livrate,
+Parameter,Parametru,
+Parent Item {0} must not be a Stock Item,Postul părinte {0} nu trebuie să fie un articol stoc,
+Parents Teacher Meeting Attendance,Conferința părinților la conferința părintească,
+Part-time,Part-time,
+Partially Depreciated,parțial Depreciata,
+Partially Received,Parțial primite,
+Party,Partener,
+Party Name,Nume partid,
+Party Type,Tip de partid,
+Party Type and Party is mandatory for {0} account,Tipul partidului și partidul este obligatoriu pentru contul {0},
+Party Type is mandatory,Tipul de partid este obligatorie,
+Party is mandatory,Party este obligatorie,
+Password,Parolă,
+Password policy for Salary Slips is not set,Politica de parolă pentru Salarii Slips nu este setată,
+Past Due Date,Data trecută,
+Patient,Rabdator,
+Patient Appointment,Numirea pacientului,
+Patient Encounter,Întâlnirea cu pacienții,
+Patient not found,Pacientul nu a fost găsit,
+Pay Remaining,Plătiți rămase,
+Pay {0} {1},Plătește {0} {1},
+Payable,plătibil,
+Payable Account,Contul furnizori,
+Payable Amount,Sumă plătibilă,
+Payment,Plată,
+Payment Cancelled. Please check your GoCardless Account for more details,Plata anulată. Verificați contul GoCardless pentru mai multe detalii,
+Payment Confirmation,Confirmarea platii,
+Payment Date,Data de plată,
+Payment Days,Zile de plată,
+Payment Document,Documentul de plată,
+Payment Due Date,Data scadentă de plată,
+Payment Entries {0} are un-linked,Intrările de plată {0} sunt nesemnalate legate,
+Payment Entry,Intrare plăţi,
+Payment Entry already exists,Există deja intrare plată,
+Payment Entry has been modified after you pulled it. Please pull it again.,Plata intrare a fost modificat după ce-l tras. Vă rugăm să trage din nou.,
+Payment Entry is already created,Plata Intrarea este deja creat,
+Payment Failed. Please check your GoCardless Account for more details,Plata esuata. Verificați contul GoCardless pentru mai multe detalii,
+Payment Gateway,Gateway de plată,
+"Payment Gateway Account not created, please create one manually.","Plata Gateway Cont nu a fost creată, vă rugăm să creați manual unul.",
+Payment Gateway Name,Numele gateway-ului de plată,
+Payment Mode,Modul de plată,
+Payment Receipt Note,Plată Primirea Note,
+Payment Request,Cerere de plata,
+Payment Request for {0},Solicitare de plată pentru {0},
+Payment Tems,Tems de plată,
+Payment Term,Termen de plata,
+Payment Terms,Termeni de plată,
+Payment Terms Template,Formularul termenilor de plată,
+Payment Terms based on conditions,Termeni de plată în funcție de condiții,
+Payment Type,Tip de plată,
+"Payment Type must be one of Receive, Pay and Internal Transfer","Tipul de plată trebuie să fie unul dintre Primire, Pay și de transfer intern",
+Payment against {0} {1} cannot be greater than Outstanding Amount {2},Plata împotriva {0} {1} nu poate fi mai mare decât Impresionant Suma {2},
+Payment of {0} from {1} to {2},Plata pentru {0} de la {1} la {2},
+Payment request {0} created,Solicitarea de plată {0} a fost creată,
+Payments,Plăți,
+Payroll,stat de plată,
+Payroll Number,Număr de salarizare,
+Payroll Payable,Salarizare plateste,
+Payslip,fluturaș,
+Pending Activities,Activități în curs,
+Pending Amount,În așteptarea Suma,
+Pending Leaves,Frunze în așteptare,
+Pending Qty,Așteptare Cantitate,
+Pending Quantity,Cantitate în așteptare,
+Pending Review,Revizuirea în curs,
+Pending activities for today,Activități în așteptare pentru ziua de azi,
+Pension Funds,Fondurile de pensii,
+Percentage Allocation should be equal to 100%,Alocarea procent ar trebui să fie egală cu 100%,
+Perception Analysis,Analiza percepției,
+Period,Perioada,
+Period Closing Entry,Intrarea Perioada de închidere,
+Period Closing Voucher,Voucher perioadă de închidere,
+Periodicity,Periodicitate,
+Personal Details,Detalii personale,
+Pharmaceutical,Farmaceutic,
+Pharmaceuticals,Produse farmaceutice,
+Physician,Medic,
+Piecework,muncă în acord,
+Pincode,Parola așa,
+Place Of Supply (State/UT),Locul livrării (stat / UT),
+Place Order,Locul de comandă,
+Plan Name,Numele planului,
+Plan for maintenance visits.,Plan pentru vizite de mentenanță.,
+Planned Qty,Planificate Cantitate,
+"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Cantitate planificată: cantitatea pentru care a fost ridicată comanda de lucru, dar este în curs de fabricare.",
+Planning,Planificare,
+Plants and Machineries,Plante și mașini,
+Please Set Supplier Group in Buying Settings.,Setați Grupul de furnizori în Setări de cumpărare.,
+Please add a Temporary Opening account in Chart of Accounts,Adăugați un cont de deschidere temporară în Planul de conturi,
+Please add the account to root level Company - ,Vă rugăm să adăugați contul la nivelul companiei la nivel root -,
+Please add the remaining benefits {0} to any of the existing component,Vă rugăm să adăugați beneficiile rămase {0} la oricare dintre componentele existente,
+Please check Multi Currency option to allow accounts with other currency,Vă rugăm să verificați Multi opțiune de valuta pentru a permite conturi cu altă valută,
+Please click on 'Generate Schedule',"Vă rugăm să faceți clic pe ""Generate Program""",
+Please click on 'Generate Schedule' to fetch Serial No added for Item {0},"Vă rugăm să faceți clic pe ""Generate Program"", pentru a aduce ordine adăugat pentru postul {0}",
+Please click on 'Generate Schedule' to get schedule,"Vă rugăm să faceți clic pe ""Generate Program"", pentru a obține programul",
+Please confirm once you have completed your training,Vă rugăm să confirmați după ce ați terminat pregătirea,
+Please create purchase receipt or purchase invoice for the item {0},Creați factura de cumpărare sau factura de achiziție pentru elementul {0},
+Please define grade for Threshold 0%,Vă rugăm să definiți gradul pentru pragul 0%,
+Please enable Applicable on Booking Actual Expenses,Activați aplicabil pentru cheltuielile curente de rezervare,
+Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Activați aplicabil la comanda de aprovizionare și aplicabil cheltuielilor curente de rezervare,
+Please enable default incoming account before creating Daily Work Summary Group,Activați contul de intrare implicit înainte de a crea un grup zilnic de lucru,
+Please enable pop-ups,Vă rugăm să activați pop-up-uri,
+Please enter 'Is Subcontracted' as Yes or No,"Va rugam sa introduceti ""este subcontractată"" ca Da sau Nu",
+Please enter API Consumer Key,Introduceți cheia de consum API,
+Please enter API Consumer Secret,Introduceți secretul pentru clienți API,
+Please enter Account for Change Amount,Vă rugăm să introduceți cont pentru Schimbare Sumă,
+Please enter Approving Role or Approving User,Vă rugăm să introduceți Aprobarea Rolul sau aprobarea de utilizare,
+Please enter Cost Center,Va rugam sa introduceti Cost Center,
+Please enter Delivery Date,Introduceți data livrării,
+Please enter Employee Id of this sales person,Vă rugăm să introduceți ID-ul de angajat al acestei persoane de vânzări,
+Please enter Expense Account,Va rugam sa introduceti cont de cheltuieli,
+Please enter Item Code to get Batch Number,Vă rugăm să introduceți codul de articol pentru a obține numărul de lot,
+Please enter Item Code to get batch no,Va rugam sa introduceti codul articol pentru a obține lot nu,
+Please enter Item first,Va rugam sa introduceti Articol primul,
+Please enter Maintaince Details first,Va rugam sa introduceti maintaince detaliile prima,
+Please enter Planned Qty for Item {0} at row {1},Va rugam sa introduceti planificate Cantitate pentru postul {0} la rândul {1},
+Please enter Preferred Contact Email,Vă rugăm să introduceți preferate Contact E-mail,
+Please enter Production Item first,Va rugam sa introduceti de producție Articol întâi,
+Please enter Purchase Receipt first,Va rugam sa introduceti Primirea achiziția,
+Please enter Receipt Document,Vă rugăm să introduceți Document Primirea,
+Please enter Reference date,Vă rugăm să introduceți data de referință,
+Please enter Repayment Periods,Vă rugăm să introduceți perioada de rambursare,
+Please enter Reqd by Date,Introduceți Reqd după dată,
+Please enter Woocommerce Server URL,Introduceți adresa URL a serverului Woocommerce,
+Please enter Write Off Account,Va rugam sa introduceti Scrie Off cont,
+Please enter atleast 1 invoice in the table,Va rugam sa introduceti cel putin 1 factura în tabelul,
+Please enter company first,Va rugam sa introduceti prima companie,
+Please enter company name first,Va rugam sa introduceti numele companiei în primul rând,
+Please enter default currency in Company Master,Va rugam sa introduceti moneda implicit în Compania de Master,
+Please enter message before sending,Vă rugăm să introduceți mesajul înainte de trimitere,
+Please enter parent cost center,Vă rugăm să introduceți centru de cost părinte,
+Please enter quantity for Item {0},Va rugam sa introduceti cantitatea pentru postul {0},
+Please enter relieving date.,Vă rugăm să introduceți data alinarea.,
+Please enter repayment Amount,Vă rugăm să introduceți Suma de rambursare,
+Please enter valid Financial Year Start and End Dates,Va rugam sa introduceti valabil financiare Anul începe și a termina Perioada,
+Please enter valid email address,Introduceți adresa de e-mail validă,
+Please enter {0} first,Va rugam sa introduceti {0} primul,
+Please fill in all the details to generate Assessment Result.,Vă rugăm să completați toate detaliile pentru a genera rezultatul evaluării.,
+Please identify/create Account (Group) for type - {0},Vă rugăm să identificați / să creați un cont (grup) pentru tipul - {0},
+Please identify/create Account (Ledger) for type - {0},Vă rugăm să identificați / să creați un cont (contabil) pentru tipul - {0},
+Please login as another user to register on Marketplace,Conectați-vă ca alt utilizator pentru a vă înregistra pe Marketplace,
+Please make sure you really want to delete all the transactions for this company. Your master data will remain as it is. This action cannot be undone.,Vă rugăm să asigurați-vă că într-adevăr să ștergeți toate tranzacțiile pentru această companie. Datele dvs. de bază vor rămâne așa cum este. Această acțiune nu poate fi anulată.,
+Please mention Basic and HRA component in Company,Vă rugăm să menționați componentele de bază și HRA în cadrul companiei,
+Please mention Round Off Account in Company,Vă rugăm să menționați rotunji contul în companie,
+Please mention Round Off Cost Center in Company,Vă rugăm să menționați rotunji Center cost în companie,
+Please mention no of visits required,Vă rugăm să menționați nici de vizite necesare,
+Please mention the Lead Name in Lead {0},Menționați numele de plumb din plumb {0},
+Please pull items from Delivery Note,Vă rugăm să trage elemente de livrare Nota,
+Please register the SIREN number in the company information file,Înregistrați numărul SIREN în fișierul cu informații despre companie,
+Please remove this Invoice {0} from C-Form {1},Vă rugăm să eliminați acest factură {0} de la C-Form {1},
+Please save the patient first,Salvați mai întâi pacientul,
+Please save the report again to rebuild or update,Vă rugăm să salvați raportul din nou pentru a reconstrui sau actualiza,
+"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Vă rugăm să selectați suma alocată, de tip Factură și factură Numărul din atleast rând una",
+Please select Apply Discount On,Vă rugăm să selectați Aplicați Discount On,
+Please select BOM against item {0},Selectați BOM pentru elementul {0},
+Please select BOM for Item in Row {0},Vă rugăm să selectați BOM pentru postul în rândul {0},
+Please select BOM in BOM field for Item {0},Vă rugăm să selectați BOM BOM în domeniu pentru postul {0},
+Please select Category first,Vă rugăm să selectați categoria întâi,
+Please select Charge Type first,Vă rugăm să selectați tipul de taxă în primul rând,
+Please select Company,Vă rugăm să selectați Company,
+Please select Company and Designation,Selectați Companie și desemnare,
+Please select Company and Posting Date to getting entries,Selectați Company and Dateing date pentru a obține înregistrări,
+Please select Company first,Vă rugăm să selectați Company primul,
+Please select Completion Date for Completed Asset Maintenance Log,Selectați Data de încheiere pentru jurnalul de întreținere a activelor finalizat,
+Please select Completion Date for Completed Repair,Selectați Data de finalizare pentru Repararea finalizată,
+Please select Course,Selectați cursul,
+Please select Drug,Selectați Droguri,
+Please select Employee,Selectați Angajat,
+Please select Existing Company for creating Chart of Accounts,Vă rugăm să selectați Companie pentru crearea Existent Plan de conturi,
+Please select Healthcare Service,Selectați Serviciul de asistență medicală,
+"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle",Vă rugăm să selectați postul unde &quot;Este Piesa&quot; este &quot;nu&quot; și &quot;Este punctul de vânzare&quot; este &quot;da&quot; și nu este nici un alt produs Bundle,
+Please select Maintenance Status as Completed or remove Completion Date,Selectați Stare de întreținere ca Completat sau eliminați Data de finalizare,
+Please select Party Type first,Vă rugăm să selectați Party Type primul,
+Please select Patient,Selectați pacientul,
+Please select Patient to get Lab Tests,Selectați pacientul pentru a obține testele de laborator,
+Please select Posting Date before selecting Party,Vă rugăm să selectați Dată postare înainte de a selecta Parte,
+Please select Posting Date first,Vă rugăm să selectați postarea Data primei,
+Please select Price List,Vă rugăm să selectați lista de prețuri,
+Please select Program,Selectați Program,
+Please select Qty against item {0},Selectați Cantitate pentru elementul {0},
+Please select Sample Retention Warehouse in Stock Settings first,Vă rugăm să selectați mai întâi Warehouse de stocare a probelor din Setări stoc,
+Please select Start Date and End Date for Item {0},Vă rugăm să selectați data de început și Data de final pentru postul {0},
+Please select Student Admission which is mandatory for the paid student applicant,Selectați admiterea studenților care este obligatorie pentru solicitantul studenților plătiți,
+Please select a BOM,Selectați un BOM,
+Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,Selectați un lot pentru articolul {0}. Nu se poate găsi un singur lot care să îndeplinească această cerință,
+Please select a Company,Vă rugăm să selectați o companie,
+Please select a batch,Selectați un lot,
+Please select a csv file,Vă rugăm să selectați un fișier csv,
+Please select a field to edit from numpad,Selectați un câmp de editat din numpad,
+Please select a table,Selectați un tabel,
+Please select a valid Date,Selectați o dată validă,
+Please select a value for {0} quotation_to {1},Vă rugăm să selectați o valoare de {0} {1} quotation_to,
+Please select a warehouse,Te rugăm să selectazi un depozit,
+Please select at least one domain.,Selectați cel puțin un domeniu.,
+Please select correct account,Vă rugăm să selectați contul corect,
+Please select date,Vă rugăm să selectați data,
+Please select item code,Vă rugăm să selectați codul de articol,
+Please select month and year,Vă rugăm selectați luna și anul,
+Please select prefix first,Vă rugăm să selectați prefix întâi,
+Please select the Company,Selectați compania,
+Please select the Multiple Tier Program type for more than one collection rules.,Selectați tipul de program cu mai multe niveluri pentru mai multe reguli de colectare.,
+Please select the assessment group other than 'All Assessment Groups',Selectați alt grup de evaluare decât &quot;Toate grupurile de evaluare&quot;,
+Please select the document type first,Vă rugăm să selectați tipul de document primul,
+Please select weekly off day,Vă rugăm să selectați zi liberă pe săptămână,
+Please select {0},Vă rugăm să selectați {0},
+Please select {0} first,Vă rugăm selectați 0} {întâi,
+Please set 'Apply Additional Discount On',Vă rugăm să setați &quot;Aplicați discount suplimentar pe&quot;,
+Please set 'Asset Depreciation Cost Center' in Company {0},Vă rugăm să setați &quot;Activ Center Amortizarea Cost&quot; în companie {0},
+Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Vă rugăm să setați &#39;Gain / Pierdere de cont privind Eliminarea activelor &quot;în companie {0},
+Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Vă rugăm să configurați contul în depozit {0} sau contul implicit de inventar din companie {1},
+Please set B2C Limit in GST Settings.,Setați limita B2C în setările GST.,
+Please set Company,Stabiliți compania,
+Please set Company filter blank if Group By is 'Company',Filtru filtru de companie gol dacă grupul de grup este &quot;companie&quot;,
+Please set Default Payroll Payable Account in Company {0},Vă rugăm să setați Cont Cheltuieli suplimentare salarizare implicit în companie {0},
+Please set Depreciation related Accounts in Asset Category {0} or Company {1},Vă rugăm să setați Conturi aferente amortizării în categoria activelor {0} sau companie {1},
+Please set Email Address,Vă rugăm să setați adresa de e-mail,
+Please set GST Accounts in GST Settings,Vă rugăm să setați Conturi GST în Setări GST,
+Please set Hotel Room Rate on {},Vă rugăm să stabiliți tariful camerei la {},
+Please set Number of Depreciations Booked,Vă rugăm să setați Numărul de Deprecieri rezervat,
+Please set Unrealized Exchange Gain/Loss Account in Company {0},Vă rugăm să setați Contul de Cheltuiala / Venit din diferente de curs valutar in companie {0},
+Please set User ID field in an Employee record to set Employee Role,Vă rugăm să setați câmp ID de utilizator într-o înregistrare angajat să stabilească Angajat rol,
+Please set a default Holiday List for Employee {0} or Company {1},Vă rugăm să setați o valoare implicită Lista de vacanță pentru angajat {0} sau companie {1},
+Please set account in Warehouse {0},Vă rugăm să configurați un cont în Warehouse {0},
+Please set an active menu for Restaurant {0},Vă rugăm să setați un meniu activ pentru Restaurant {0},
+Please set associated account in Tax Withholding Category {0} against Company {1},Vă rugăm să setați contul asociat în categoria de reținere fiscală {0} împotriva companiei {1},
+Please set at least one row in the Taxes and Charges Table,Vă rugăm să setați cel puțin un rând în tabelul Impozite și taxe,
+Please set default Cash or Bank account in Mode of Payment {0},Vă rugăm să setați Cash implicit sau cont bancar în modul de plată {0},
+Please set default account in Salary Component {0},Vă rugăm să setați contul implicit în Salariu Component {0},
+Please set default customer in Restaurant Settings,Alegeți clientul implicit în Setări restaurant,
+Please set default template for Leave Approval Notification in HR Settings.,Stabiliți șablonul prestabilit pentru notificarea de aprobare de ieșire din setările HR.,
+Please set default template for Leave Status Notification in HR Settings.,Stabiliți șablonul implicit pentru notificarea de stare la ieșire în setările HR.,
+Please set default {0} in Company {1},Vă rugăm să setați implicit {0} în {1} companie,
+Please set filter based on Item or Warehouse,Vă rugăm să setați filtru bazat pe postul sau depozit,
+Please set leave policy for employee {0} in Employee / Grade record,Vă rugăm să stabiliți politica de concediu pentru angajatul {0} în evidența Angajat / Grad,
+Please set recurring after saving,Vă rugăm să setați recurente după salvare,
+Please set the Company,Stabiliți compania,
+Please set the Customer Address,Vă rugăm să setați Adresa Clientului,
+Please set the Date Of Joining for employee {0},Vă rugăm să setați data de îmbarcare pentru angajat {0},
+Please set the Default Cost Center in {0} company.,Alegeți Centrul de cost implicit în compania {0}.,
+Please set the Email ID for the Student to send the Payment Request,Vă rugăm să setați ID-ul de e-mail pentru ca studentul să trimită Solicitarea de plată,
+Please set the Item Code first,Vă rugăm să setați mai întâi Codul elementului,
+Please set the Payment Schedule,Vă rugăm să setați Programul de plată,
+Please set the series to be used.,Setați seria care urmează să fie utilizată.,
+Please set {0} for address {1},Vă rugăm să setați {0} pentru adresa {1},
+Please setup Students under Student Groups,Configurați elevii din grupurile de studenți,
+Please share your feedback to the training by clicking on 'Training Feedback' and then 'New',Vă rugăm să împărtășiți feedback-ul dvs. la antrenament făcând clic pe &quot;Feedback Training&quot; și apoi pe &quot;New&quot;,
+Please specify Company,Vă rugăm să specificați companiei,
+Please specify Company to proceed,Vă rugăm să specificați companiei pentru a continua,
+Please specify a valid 'From Case No.',"Vă rugăm să specificați un valabil ""Din cauza nr""",
+Please specify a valid Row ID for row {0} in table {1},Vă rugăm să specificați un ID rând valabil pentru rând {0} în tabelul {1},
+Please specify at least one attribute in the Attributes table,Vă rugăm să specificați cel puțin un atribut în tabelul Atribute,
+Please specify currency in Company,Vă rugăm să specificați în valută companie,
+Please specify either Quantity or Valuation Rate or both,Vă rugăm să specificați fie Cantitate sau Evaluează evaluare sau ambele,
+Please specify from/to range,Vă rugăm să precizați de la / la gama,
+Please supply the specified items at the best possible rates,Vă rugăm să furnizeze elementele specificate la cele mai bune tarife posibile,
+Please update your status for this training event,Actualizați starea dvs. pentru acest eveniment de instruire,
+Please wait 3 days before resending the reminder.,Așteptați 3 zile înainte de a retrimite mementourile.,
+Point of Sale,Point of Sale,
+Point-of-Sale,Punct-de-Vânzare,
+Point-of-Sale Profile,Profil Punct-de-Vânzare,
+Portal,Portal,
+Portal Settings,Setări portal,
+Possible Supplier,posibil furnizor,
+Postal Expenses,Cheltuieli poștale,
+Posting Date,Dată postare,
+Posting Date cannot be future date,Dată postare nu poate fi data viitoare,
+Posting Time,Postarea de timp,
+Posting date and posting time is mandatory,Data postării și postarea de timp este obligatorie,
+Posting timestamp must be after {0},Timestamp postarea trebuie să fie după {0},
+Potential opportunities for selling.,Potențiale oportunități de vânzare.,
+Practitioner Schedule,Programul practicianului,
+Pre Sales,Vânzări pre,
+Preference,Preferinţă,
+Prescribed Procedures,Proceduri prescrise,
+Prescription,Reteta medicala,
+Prescription Dosage,Dozaj de prescripție,
+Prescription Duration,Durata prescrierii,
+Prescriptions,Prescriptiile,
+Present,Prezenta,
+Prev,Anterior,
+Preview,Previzualizați,
+Preview Salary Slip,Previzualizare Salariu alunecare,
+Previous Financial Year is not closed,Exercițiul financiar precedent nu este închis,
+Price,Preț,
+Price List,Lista Prețuri,
+Price List Currency not selected,Lista de pret Valuta nu selectat,
+Price List Rate,Lista de prețuri Rate,
+Price List master.,Maestru Lista de prețuri.,
+Price List must be applicable for Buying or Selling,Lista de prețuri trebuie să fie aplicabilă pentru cumpărarea sau vânzarea de,
+Price List {0} is disabled or does not exist,Listă de prețuri {0} este dezactivat sau nu există,
+Price or product discount slabs are required,Este necesară plăci de reducere a prețului sau a produsului,
+Pricing,Stabilirea pretului,
+Pricing Rule,Regulă de stabilire a prețurilor,
+"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Regula de stabilire a prețurilor este selectat în primul rând bazat pe ""Aplicați pe"" teren, care poate fi produs, Grupa de articole sau de brand.",
+"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Regula de stabilire a prețurilor se face pentru a suprascrie Pret / defini procent de reducere, pe baza unor criterii.",
+Pricing Rule {0} is updated,Regula prețurilor {0} este actualizată,
+Pricing Rules are further filtered based on quantity.,Regulile de stabilire a prețurilor sunt filtrate în continuare în funcție de cantitate.,
+Primary Address Details,Detalii despre adresa primară,
+Primary Contact Details,Detalii de contact primare,
+Principal Amount,Sumă principală,
+Print Format,Print Format,
+Print IRS 1099 Forms,Tipărire formulare IRS 1099,
+Print Report Card,Print Print Card,
+Print Settings,Setări de imprimare,
+Print and Stationery,Imprimare și articole de papetărie,
+Print settings updated in respective print format,Setările de imprimare actualizate în format de imprimare respectiv,
+Print taxes with zero amount,Imprimă taxele cu suma zero,
+Printing and Branding,Imprimarea și Branding,
+Private Equity,Private Equity,
+Privilege Leave,Privilege concediu,
+Probation,probă,
+Probationary Period,Perioadă de probă,
+Procedure,Procedură,
+Process Day Book Data,Procesați datele despre cartea de zi,
+Process Master Data,Procesați datele de master,
+Processing Chart of Accounts and Parties,Procesarea Graficului de conturi și părți,
+Processing Items and UOMs,Prelucrare elemente și UOM-uri,
+Processing Party Addresses,Prelucrarea adreselor partidului,
+Processing Vouchers,Procesarea voucherelor,
+Procurement,achiziții publice,
+Produced Qty,Cantitate produsă,
+Product,Produs,
+Product Bundle,Bundle produs,
+Product Search,Cauta produse,
+Production,Producţie,
+Production Item,Producția Postul,
+Products,Instrumente,
+Profit and Loss,Profit și pierdere,
+Profit for the year,Profitul anului,
+Program,Program,
+Program in the Fee Structure and Student Group {0} are different.,Programul din structura taxelor și grupul de studenți {0} este diferit.,
+Program {0} does not exist.,Programul {0} nu există.,
+Program: ,Program:,
+Progress % for a task cannot be more than 100.,Progres% pentru o sarcină care nu poate fi mai mare de 100.,
+Project Collaboration Invitation,Colaborare proiect Invitație,
+Project Id,ID-ul proiectului,
+Project Manager,Manager de proiect,
+Project Name,Denumirea proiectului,
+Project Start Date,Data de începere a proiectului,
+Project Status,Status Proiect,
+Project Summary for {0},Rezumatul proiectului pentru {0},
+Project Update.,Actualizarea proiectului.,
+Project Value,Valoare proiect,
+Project activity / task.,Activitatea de proiect / sarcină.,
+Project master.,Maestru proiect.,
+Project-wise data is not available for Quotation,Date proiect-înțelept nu este disponibilă pentru ofertă,
+Projected,Proiectat,
+Projected Qty,Numărul estimat,
+Projected Quantity Formula,Formula de cantitate proiectată,
+Projects,proiecte,
+Property,Proprietate,
+Property already added,Proprietățile deja adăugate,
+Proposal Writing,Propunere de scriere,
+Proposal/Price Quote,Propunere / Citat pret,
+Prospecting,Prospectarea,
+Provisional Profit / Loss (Credit),Profit provizorie / Pierdere (Credit),
+Publications,Publicații,
+Publish Items on Website,Publica Articole pe site-ul,
+Published,Data publicării,
+Publishing,editare,
+Purchase,Cumpărarea,
+Purchase Amount,Suma cumpărată,
+Purchase Date,Data cumpărării,
+Purchase Invoice,Factura de cumpărare,
+Purchase Invoice {0} is already submitted,Factura de cumpărare {0} este deja depusă,
+Purchase Manager,Cumpărare Director,
+Purchase Master Manager,Cumpărare Maestru de Management,
+Purchase Order,Comandă de aprovizionare,
+Purchase Order Amount,Suma comenzii de cumpărare,
+Purchase Order Amount(Company Currency),Suma comenzii de cumpărare (moneda companiei),
+Purchase Order Date,Data comenzii de cumpărare,
+Purchase Order Items not received on time,Elemente de comandă de cumpărare care nu au fost primite la timp,
+Purchase Order number required for Item {0},Număr de comandă de aprovizionare necesare pentru postul {0},
+Purchase Order to Payment,Comandă de aprovizionare de plata,
+Purchase Order {0} is not submitted,Comandă {0} nu este prezentat,
+Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Comenzile de cumpărare nu sunt permise pentru {0} datorită unui punctaj din {1}.,
+Purchase Orders given to Suppliers.,A achiziționa ordine de date Furnizori.,
+Purchase Price List,Cumparare Lista de preturi,
+Purchase Receipt,Primirea de cumpărare,
+Purchase Receipt {0} is not submitted,Primirea de cumpărare {0} nu este prezentat,
+Purchase Tax Template,Achiziționa Format fiscală,
+Purchase User,Cumpărare de utilizare,
+Purchase orders help you plan and follow up on your purchases,Comenzile de aprovizionare vă ajuta să planificați și să urmați pe achizițiile dvs.,
+Purchasing,cumpărare,
+Purpose must be one of {0},Scopul trebuie să fie una dintre {0},
+Qty,Cantitate,
+Qty To Manufacture,Cantitate pentru fabricare,
+Qty Total,Cantitate totală,
+Qty for {0},Cantitate pentru {0},
+Qualification,Calificare,
+Quality,Calitate,
+Quality Action,Acțiune de calitate,
+Quality Goal.,Obiectivul de calitate.,
+Quality Inspection,Inspecție de calitate,
+Quality Inspection: {0} is not submitted for the item: {1} in row {2},Inspecție de calitate: {0} nu este trimis pentru articol: {1} în rândul {2},
+Quality Management,Managementul calității,
+Quality Meeting,Întâlnire de calitate,
+Quality Procedure,Procedura de calitate,
+Quality Procedure.,Procedura de calitate.,
+Quality Review,Evaluarea calității,
+Quantity,Cantitate,
+Quantity for Item {0} must be less than {1},Cantitatea pentru postul {0} trebuie să fie mai mică de {1},
+Quantity in row {0} ({1}) must be same as manufactured quantity {2},"Cantitatea în rândul {0} ({1}), trebuie să fie aceeași ca și cantitatea produsă {2}",
+Quantity must be less than or equal to {0},Cantitatea trebuie sa fie mai mic sau egal cu {0},
+Quantity must not be more than {0},Cantitatea nu trebuie să fie mai mare de {0},
+Quantity required for Item {0} in row {1},Cantitatea necesară pentru postul {0} în rândul {1},
+Quantity should be greater than 0,Cantitatea trebuie sa fie mai mare decât 0,
+Quantity to Make,Cantitate de făcut,
+Quantity to Manufacture must be greater than 0.,Cantitatea să Fabricare trebuie sa fie mai mare decât 0.,
+Quantity to Produce,Cantitate de produs,
+Quantity to Produce can not be less than Zero,Cantitatea de produs nu poate fi mai mică decât Zero,
+Query Options,Opțiuni de interogare,
+Queued for replacing the BOM. It may take a few minutes.,În așteptare pentru înlocuirea BOM. Ar putea dura câteva minute.,
+Queued for updating latest price in all Bill of Materials. It may take a few minutes.,A intrat în așteptare pentru actualizarea ultimului preț în toate materialele. Ar putea dura câteva minute.,
+Quick Journal Entry,Quick Jurnal de intrare,
+Quot Count,Contele de numere,
+Quot/Lead %,Cota / Plumb%,
+Quotation,Ofertă,
+Quotation {0} is cancelled,Ofertă {0} este anulat,
+Quotation {0} not of type {1},Ofertă {0} nu de tip {1},
+Quotations,Cotațiile,
+"Quotations are proposals, bids you have sent to your customers","Cotațiile sunt propuneri, sumele licitate le-ați trimis clienților dvs.",
+Quotations received from Suppliers.,Cotatiilor primite de la furnizori.,
+Quotations: ,Cotațiile:,
+Quotes to Leads or Customers.,Citate la Oportunitati sau clienți.,
+RFQs are not allowed for {0} due to a scorecard standing of {1},CV-urile nu sunt permise pentru {0} datorită unui punctaj din {1},
+Range,Interval,
+Rate,Rată,
+Rate:,Rată:,
+Rating,evaluare,
+Raw Material,Material brut,
+Raw Materials,Materie prima,
+Raw Materials cannot be blank.,Materii Prime nu poate fi gol.,
+Re-open,Re-deschide,
+Read blog,Citiți blogul,
+Read the ERPNext Manual,Citiți manualul ERPNext,
+Reading Uploaded File,Citind fișierul încărcat,
+Real Estate,Imobiliare,
+Reason For Putting On Hold,Motivul pentru a pune în așteptare,
+Reason for Hold,Motiv pentru reținere,
+Reason for hold: ,Motivul de reținere:,
+Receipt,Chitanţă,
+Receipt document must be submitted,Document primire trebuie să fie depuse,
+Receivable,De încasat,
+Receivable Account,Cont Încasări,
+Received,Primit,
+Received On,Primit la,
+Received Quantity,Cantitate primită,
+Received Stock Entries,Înscrierile primite,
+Receiver List is empty. Please create Receiver List,Receptor Lista goala. Vă rugăm să creați Receiver Lista,
+Recipients,Destinatarii,
+Reconcile,Reconcilierea,
+"Record of all communications of type email, phone, chat, visit, etc.","Înregistrare a tuturor comunicărilor de tip e-mail, telefon, chat, vizita, etc.",
+Records,Înregistrări,
+Redirect URL,Redirecționare URL-ul,
+Ref,Re,
+Ref Date,Ref Data,
+Reference,Referință,
+Reference #{0} dated {1},Reference # {0} din {1},
+Reference Date,Data de referință,
+Reference Doctype must be one of {0},Referința Doctype trebuie să fie una dintre {0},
+Reference Document,Documentul de referință,
+Reference Document Type,Referință Document Type,
+Reference No & Reference Date is required for {0},Nu referință și de referință Data este necesar pentru {0},
+Reference No and Reference Date is mandatory for Bank transaction,De referință nr și de referință Data este obligatorie pentru tranzacție bancară,
+Reference No is mandatory if you entered Reference Date,De referință nu este obligatorie în cazul în care ați introdus Reference Data,
+Reference No.,Numărul de referință,
+Reference Number,Numar de referinta,
+Reference Owner,Proprietar Referință,
+Reference Type,Tipul Referință,
+"Reference: {0}, Item Code: {1} and Customer: {2}","Referință: {0}, Cod articol: {1} și Client: {2}",
+References,Referințe,
+Refresh Token,Actualizează Indicativ,
+Region,Regiune,
+Register,Înregistrare,
+Reject,Respinge,
+Rejected,Respinse,
+Related,Legate de,
+Relation with Guardian1,Relația cu Guardian1,
+Relation with Guardian2,Relația cu Guardian2,
+Release Date,Data eliberării,
+Reload Linked Analysis,Reîncărcați Analiza Legată,
+Remaining,Rămas,
+Remaining Balance,Balanța rămasă,
+Remarks,Remarci,
+Reminder to update GSTIN Sent,Memento pentru actualizarea mesajului GSTIN Trimis,
+Remove item if charges is not applicable to that item,Eliminați element cazul în care costurile nu se aplică în acest element,
+Removed items with no change in quantity or value.,Articole eliminate fară nici o schimbare de cantitate sau  valoare.,
+Reopen,Redeschide,
+Reorder Level,Nivel pentru re-comanda,
+Reorder Qty,Cantitatea de comandat,
+Repeat Customer Revenue,Repetați Venituri Clienți,
+Repeat Customers,Clienții repetate,
+Replace BOM and update latest price in all BOMs,Înlocuiește BOM și actualizează prețul recent în toate BOM-urile,
+Replied,A răspuns:,
+Replies,Răspunsuri,
+Report,Raport,
+Report Builder,Constructor Raport,
+Report Type,Tip Raport,
+Report Type is mandatory,Tip Raport obligatoriu,
+Reports,Rapoarte,
+Reqd By Date,Cerere livrare la data de,
+Reqd Qty,Reqd Cantitate,
+Request for Quotation,Cerere de ofertă,
+Request for Quotations,Cerere de Oferte,
+Request for Raw Materials,Cerere pentru materii prime,
+Request for purchase.,Cerere de achizitie.,
+Request for quotation.,Cerere de ofertă.,
+Requested Qty,Cant. Solicitată,
+"Requested Qty: Quantity requested for purchase, but not ordered.","A solicitat Cantitate: Cantitatea solicitate pentru achiziții, dar nu a ordonat.",
+Requesting Site,Solicitarea site-ului,
+Requesting payment against {0} {1} for amount {2},Se solicita plata contra {0} {1} pentru suma {2},
+Requestor,care a făcut cererea,
+Required On,Cerut pe,
+Required Qty,Cantitate ceruta,
+Required Quantity,Cantitatea necesară,
+Reschedule,Reprogramează,
+Research,Cercetare,
+Research & Development,Cercetare & Dezvoltare,
+Researcher,Cercetător,
+Resend Payment Email,Retrimiteți e-mail-ul de plată,
+Reserve Warehouse,Rezervați Depozitul,
+Reserved Qty,Cant. rezervata,
+Reserved Qty for Production,Cant. rezervata pentru producție,
+Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Cantitate rezervată pentru producție: cantitate de materii prime pentru fabricarea articolelor de fabricație.,
+"Reserved Qty: Quantity ordered for sale, but not delivered.","Rezervate Cantitate: Cantitatea comandat de vânzare, dar nu livrat.",
+Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Depozitul rezervat este obligatoriu pentru articolul {0} din materiile prime furnizate,
+Reserved for manufacturing,Rezervat pentru fabricare,
+Reserved for sale,Rezervat pentru vânzare,
+Reserved for sub contracting,Rezervat pentru subcontractare,
+Resistant,Rezistent,
+Resolve error and upload again.,Rezolvați eroarea și încărcați din nou.,
+Responsibilities,responsabilităţi,
+Rest Of The World,Restul lumii,
+Restart Subscription,Reporniți Abonament,
+Restaurant,Restaurant,
+Result Date,Data rezultatului,
+Result already Submitted,Rezultatul deja trimis,
+Resume,Reluare,
+Retail,Cu amănuntul,
+Retail & Wholesale,Retail & Wholesale,
+Retail Operations,Operațiunile de vânzare cu amănuntul,
+Retained Earnings,Venituri reținute,
+Retention Stock Entry,Reținerea stocului,
+Retention Stock Entry already created or Sample Quantity not provided,Reținerea stocului de stocare deja creată sau Cantitatea de eșantion care nu a fost furnizată,
+Return,Întoarcere,
+Return / Credit Note,Revenire / credit Notă,
+Return / Debit Note,Returnare / debit Notă,
+Returns,Se intoarce,
+Reverse Journal Entry,Intrare în jurnal invers,
+Review Invitation Sent,Examinarea invitației trimisă,
+Review and Action,Revizuire și acțiune,
+Role,Rol,
+Rooms Booked,Camere rezervate,
+Root Company,Companie de rădăcină,
+Root Type,Rădăcină Tip,
+Root Type is mandatory,Rădăcină de tip este obligatorie,
+Root cannot be edited.,Rădăcină nu poate fi editat.,
+Root cannot have a parent cost center,Rădăcină nu poate avea un centru de cost părinte,
+Round Off,Rotunji,
+Rounded Total,Rotunjite total,
+Route,Traseu,
+Row # {0}: ,Rând # {0}:,
+Row # {0}: Batch No must be same as {1} {2},Row # {0}: Lot nr trebuie să fie aceeași ca și {1} {2},
+Row # {0}: Cannot return more than {1} for Item {2},Row # {0}: nu se pot întoarce mai mult {1} pentru postul {2},
+Row # {0}: Rate cannot be greater than the rate used in {1} {2},Rândul # {0}: Rata nu poate fi mai mare decât rata folosită în {1} {2},
+Row # {0}: Serial No is mandatory,Row # {0}: Nu serial este obligatorie,
+Row # {0}: Serial No {1} does not match with {2} {3},Row # {0}: Serial No {1} nu se potrivește cu {2} {3},
+Row #{0} (Payment Table): Amount must be negative,Rândul # {0} (tabelul de plată): Suma trebuie să fie negativă,
+Row #{0} (Payment Table): Amount must be positive,Rândul # {0} (tabelul de plată): Suma trebuie să fie pozitivă,
+Row #{0}: Account {1} does not belong to company {2},Rândul # {0}: Contul {1} nu aparține companiei {2},
+Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Rândul # {0}: Suma alocată nu poate fi mai mare decât suma rămasă.,
+"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Rând # {0}: {1} activ nu poate fi prezentat, este deja {2}",
+Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Rândul # {0}: nu se poate seta Rata dacă suma este mai mare decât suma facturată pentru articolul {1}.,
+Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Rând # {0}: Data de lichidare {1} nu poate fi înainte de Cheque Data {2},
+Row #{0}: Duplicate entry in References {1} {2},Rândul # {0}: intrarea duplicat în referințe {1} {2},
+Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Row # {0}: Data livrării așteptată nu poate fi înainte de data comenzii de achiziție,
+Row #{0}: Item added,Rândul # {0}: articol adăugat,
+Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Rând # {0}: Jurnal de intrare {1} nu are cont {2} sau deja compensată împotriva unui alt voucher,
+Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Row # {0}: Nu este permis să schimbe furnizorul ca Comandă există deja,
+Row #{0}: Please set reorder quantity,Row # {0}: Va rugam sa seta cantitatea reordona,
+Row #{0}: Please specify Serial No for Item {1},Rând # {0}: Vă rugăm să specificați Nu serial pentru postul {1},
+Row #{0}: Qty increased by 1,Rândul # {0}: cantitatea a crescut cu 1,
+Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Row # {0}: Rata trebuie să fie aceeași ca și {1}: {2} ({3} / {4}),
+Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Rândul # {0}: Tipul de document de referință trebuie să fie una dintre revendicările de cheltuieli sau intrări în jurnal,
+"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Rând # {0}: Tip document de referință trebuie să fie unul dintre comandă cumparare, factură sau Jurnal de intrare",
+Row #{0}: Rejected Qty can not be entered in Purchase Return,Row # {0}: Respins Cantitate nu pot fi introduse în Purchase Întoarcere,
+Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Row # {0}: Respins Warehouse este obligatorie împotriva postul respins {1},
+Row #{0}: Reqd by Date cannot be before Transaction Date,Rândul # {0}: Reqd by Date nu poate fi înainte de data tranzacției,
+Row #{0}: Set Supplier for item {1},Row # {0}: Set Furnizor de produs {1},
+Row #{0}: Status must be {1} for Invoice Discounting {2},Rândul # {0}: starea trebuie să fie {1} pentru reducerea facturilor {2},
+"Row #{0}: The batch {1} has only {2} qty. Please select another batch which has {3} qty available or split the row into multiple rows, to deliver/issue from multiple batches","Rândul # {0}: lotul {1} are doar {2} qty. Selectați un alt lot care are {3} qty disponibil sau împărți rândul în mai multe rânduri, pentru a livra / emite din mai multe loturi",
+Row #{0}: Timings conflicts with row {1},Rând # {0}: conflicte timpilor cu rândul {1},
+Row #{0}: {1} can not be negative for item {2},Row # {0}: {1} nu poate fi negativ pentru elementul {2},
+Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Rândul nr {0}: Suma nu poate fi mai mare decât așteptarea Suma împotriva revendicării cheltuieli {1}. În așteptarea Suma este {2},
+Row {0} : Operation is required against the raw material item {1},Rândul {0}: operația este necesară împotriva elementului de materie primă {1},
+Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2},Rândul {0} # Suma alocată {1} nu poate fi mai mare decât suma nerevendicată {2},
+Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},Rândul {0} # Articol {1} nu poate fi transferat mai mult de {2} față de comanda de aprovizionare {3},
+Row {0}# Paid Amount cannot be greater than requested advance amount,Rândul {0} # Suma plătită nu poate fi mai mare decât suma solicitată în avans,
+Row {0}: Activity Type is mandatory.,Rândul {0}: Activitatea de tip este obligatorie.,
+Row {0}: Advance against Customer must be credit,Row {0}: avans Clientul trebuie să fie de credit,
+Row {0}: Advance against Supplier must be debit,Row {0}: Advance împotriva Furnizor trebuie să fie de debit,
+Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Rândul {0}: Suma alocată {1} trebuie să fie mai mic sau egal cu suma de plată de intrare {2},
+Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Rândul {0}: Suma alocată {1} trebuie să fie mai mic sau egal cu factura suma restanta {2},
+Row {0}: An Reorder entry already exists for this warehouse {1},Rând {0}: O intrare de Comandă există deja pentru acest depozit {1},
+Row {0}: Bill of Materials not found for the Item {1},Rândul {0}: Lista de materiale nu a fost găsit pentru elementul {1},
+Row {0}: Conversion Factor is mandatory,Rând {0}: Factorul de conversie este obligatorie,
+Row {0}: Cost center is required for an item {1},Rând {0}: este necesar un centru de cost pentru un element {1},
+Row {0}: Credit entry can not be linked with a {1},Rând {0}: intrare de credit nu poate fi legat de o {1},
+Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Rând {0}: Moneda de BOM # {1} ar trebui să fie egal cu moneda selectată {2},
+Row {0}: Debit entry can not be linked with a {1},Rând {0}: debit de intrare nu poate fi legat de o {1},
+Row {0}: Depreciation Start Date is required,Rând {0}: este necesară începerea amortizării,
+Row {0}: Enter location for the asset item {1},Rând {0}: introduceți locația pentru elementul de activ {1},
+Row {0}: Exchange Rate is mandatory,Row {0}: Cursul de schimb este obligatoriu,
+Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Rând {0}: Valoarea așteptată după viața utilă trebuie să fie mai mică decât suma brută de achiziție,
+Row {0}: From Time and To Time is mandatory.,Rândul {0}: De la timp și de Ora este obligatorie.,
+Row {0}: From Time and To Time of {1} is overlapping with {2},Rândul {0}: De la timp și Ora {1} se suprapune cu {2},
+Row {0}: From time must be less than to time,Rândul {0}: Din timp trebuie să fie mai mic decât în timp,
+Row {0}: Hours value must be greater than zero.,Rândul {0}: Valoarea ore trebuie să fie mai mare decât zero.,
+Row {0}: Invalid reference {1},Rândul {0}: referință invalid {1},
+Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Rând {0}: Parte / conturi nu se potrivește cu {1} / {2} din {3} {4},
+Row {0}: Party Type and Party is required for Receivable / Payable account {1},Row {0}: Partidul Tipul și Partidul este necesar pentru creanțe / cont plateste {1},
+Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Rând {0}: Plata împotriva Vânzări / Ordinului de Procurare ar trebui să fie întotdeauna marcate ca avans,
+Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,"Rând {0}: Vă rugăm să verificați ""Este Advance"" împotriva Cont {1} dacă aceasta este o intrare în avans.",
+Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Rândul {0}: Vă rugăm să setați motivul scutirii de taxe în impozitele și taxele de vânzare,
+Row {0}: Please set the Mode of Payment in Payment Schedule,Rândul {0}: Vă rugăm să setați modul de plată în programul de plată,
+Row {0}: Please set the correct code on Mode of Payment {1},Rândul {0}: Vă rugăm să setați codul corect pe Modul de plată {1},
+Row {0}: Qty is mandatory,Rând {0}: Cant este obligatorie,
+Row {0}: Quality Inspection rejected for item {1},Rândul {0}: Inspecția de calitate a fost respinsă pentru articolul {1},
+Row {0}: UOM Conversion Factor is mandatory,Row {0}: Factorul de conversie UOM este obligatorie,
+Row {0}: select the workstation against the operation {1},Rând {0}: selectați stația de lucru pentru operația {1},
+Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Rând {0}: {1} Numerele de serie necesare pentru articolul {2}. Ați oferit {3}.,
+Row {0}: {1} must be greater than 0,Rând {0}: {1} trebuie să fie mai mare de 0,
+Row {0}: {1} {2} does not match with {3},Rând {0}: {1} {2} nu se potrivește cu {3},
+Row {0}:Start Date must be before End Date,Rând {0}: Data începerii trebuie să fie înainte de Data de încheiere,
+Rows with duplicate due dates in other rows were found: {0},Au fost găsite rânduri cu date scadente în alte rânduri: {0},
+Rules for adding shipping costs.,Reguli pentru a adăuga costurile de transport maritim.,
+Rules for applying pricing and discount.,Normele de aplicare de stabilire a prețurilor și de scont.,
+S.O. No.,SO No.,
+SGST Amount,Suma SGST,
+SO Qty,SO Cantitate,
+Safety Stock,Stoc de siguranta,
+Salary,Salariu,
+Salary Slip ID,ID-ul de salarizare alunecare,
+Salary Slip of employee {0} already created for this period,Platā angajatului {0} deja creat pentru această perioadă,
+Salary Slip of employee {0} already created for time sheet {1},Salariu de alunecare angajat al {0} deja creat pentru foaie de timp {1},
+Salary Slip submitted for period from {0} to {1},Plata salariului trimisă pentru perioada de la {0} la {1},
+Salary Structure Assignment for Employee already exists,Atribuirea structurii salariale pentru angajat există deja,
+Salary Structure Missing,Structura de salarizare lipsă,
+Salary Structure must be submitted before submission of Tax Ememption Declaration,Structura salariului trebuie depusă înainte de depunerea Declarației de eliberare de impozite,
+Salary Structure not found for employee {0} and date {1},Structura salarială nu a fost găsită pentru angajat {0} și data {1},
+Salary Structure should have flexible benefit component(s) to dispense benefit amount,Structura salariilor ar trebui să aibă componente flexibile pentru beneficiu pentru a renunța la suma beneficiilor,
+"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.","Salariu au fost deja procesate pentru perioada între {0} și {1}, Lăsați perioada de aplicare nu poate fi între acest interval de date.",
+Sales,Vânzări,
+Sales Account,Cont de vanzari,
+Sales Expenses,Cheltuieli de Vânzare,
+Sales Funnel,Pâlnie Vânzări,
+Sales Invoice,Factură de vânzări,
+Sales Invoice {0} has already been submitted,Factură de vânzări {0} a fost deja prezentat,
+Sales Invoice {0} must be cancelled before cancelling this Sales Order,Factură de vânzări {0} trebuie anulată înainte de a anula această comandă de vânzări,
+Sales Manager,Director De Vânzări,
+Sales Master Manager,Vânzări Maestru de Management,
+Sales Order,Comandă de vânzări,
+Sales Order Item,Comandă de vânzări Postul,
+Sales Order required for Item {0},Ordinul de vânzări necesar pentru postul {0},
+Sales Order to Payment,Comanda de vânzări la plată,
+Sales Order {0} is not submitted,Comandă de vânzări {0} nu este prezentat,
+Sales Order {0} is not valid,Comandă de vânzări {0} nu este valid,
+Sales Order {0} is {1},Comandă de vânzări {0} este {1},
+Sales Orders,Comenzi de Vânzări,
+Sales Partner,Partener de vânzări,
+Sales Pipeline,Conductă de Vânzări,
+Sales Price List,Lista de prețuri de vânzare,
+Sales Return,Vânzări de returnare,
+Sales Summary,Rezumat Vânzări,
+Sales Tax Template,Format impozitul pe vânzări,
+Sales Team,Echipa de vânzări,
+Sales User,Vânzări de utilizare,
+Sales and Returns,Vânzări și returnări,
+Sales campaigns.,Campanii de vânzări.,
+Sales orders are not available for production,Comenzile de vânzări nu sunt disponibile pentru producție,
+Salutation,Salut,
+Same Company is entered more than once,Aceeași societate este înscris de mai multe ori,
+Same item cannot be entered multiple times.,Același articol nu poate fi introdus de mai multe ori.,
+Same supplier has been entered multiple times,Același furnizor a fost introdus de mai multe ori,
+Sample,Exemplu,
+Sample Collection,Colectie de mostre,
+Sample quantity {0} cannot be more than received quantity {1},Cantitatea de probe {0} nu poate fi mai mare decât cantitatea primită {1},
+Sanctioned,consacrat,
+Sanctioned Amount,Sancționate Suma,
+Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Sancționat Suma nu poate fi mai mare decât revendicarea Suma în rândul {0}.,
+Sand,Nisip,
+Saturday,Sâmbătă,
+Saved,Salvat,
+Saving {0},Salvarea {0},
+Scan Barcode,Scanează codul de bare,
+Schedule,Program,
+Schedule Admission,Programați admiterea,
+Schedule Course,Curs orar,
+Schedule Date,Program Data,
+Schedule Discharge,Programați descărcarea,
+Scheduled,Programat,
+Scheduled Upto,Programată până,
+"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Programări pentru suprapunerile {0}, doriți să continuați după ce ați sări peste sloturile suprapuse?",
+Score cannot be greater than Maximum Score,Scorul nu poate fi mai mare decât Scorul maxim,
+Score must be less than or equal to 5,Scorul trebuie să fie mai mică sau egală cu 5,
+Scorecards,Scorecardurilor,
+Scrapped,dezmembrate,
+Search,Căutare,
+Search Results,rezultatele cautarii,
+Search Sub Assemblies,Căutare subansambluri,
+"Search by item code, serial number, batch no or barcode","Căutați după codul de articol, numărul de serie, numărul lotului sau codul de bare",
+"Seasonality for setting budgets, targets etc.","Sezonalitatea pentru stabilirea bugetelor, obiective etc.",
+Secret Key,Cheie secreta,
+Secretary,Secretar,
+Section Code,Codul secțiunii,
+Secured Loans,Împrumuturi garantate,
+Securities & Commodity Exchanges,A Valorilor Mobiliare și Burselor de Mărfuri,
+Securities and Deposits,Titluri de valoare și depozite,
+See All Articles,Vezi toate articolele,
+See all open tickets,Vedeți toate biletele deschise,
+See past orders,Vezi comenzile anterioare,
+See past quotations,Vezi citate anterioare,
+Select,Selectează,
+Select Alternate Item,Selectați elementul alternativ,
+Select Attribute Values,Selectați valorile atributelor,
+Select BOM,Selectați BOM,
+Select BOM and Qty for Production,Selectați BOM și Cant pentru producție,
+"Select BOM, Qty and For Warehouse","Selectați BOM, Qty și For Warehouse",
+Select Batch,Selectați lotul,
+Select Batch Numbers,Selectați numerele lotului,
+Select Brand...,Selectați marca ...,
+Select Company,Selectați Companie,
+Select Company...,Selectați compania ...,
+Select Customer,Selectați Client,
+Select Days,Selectați Zile,
+Select Default Supplier,Selectați Furnizor implicit,
+Select DocType,Selectați DocType,
+Select Fiscal Year...,Selectați Anul fiscal ...,
+Select Item (optional),Selectați elementul (opțional),
+Select Items based on Delivery Date,Selectați elementele bazate pe data livrării,
+Select Items to Manufacture,Selectați elementele de Fabricare,
+Select Loyalty Program,Selectați programul de loialitate,
+Select Patient,Selectați pacientul,
+Select Possible Supplier,Selectați Posibil furnizor,
+Select Property,Selectați proprietatea,
+Select Quantity,Selectați Cantitate,
+Select Serial Numbers,Selectați numerele de serie,
+Select Target Warehouse,Selectați Target Warehouse,
+Select Warehouse...,Selectați Depozit ...,
+Select an account to print in account currency,Selectați un cont pentru a imprima în moneda contului,
+Select an employee to get the employee advance.,Selectați un angajat pentru a avansa angajatul.,
+Select at least one value from each of the attributes.,Selectați cel puțin o valoare din fiecare dintre atribute.,
+Select change amount account,cont Selectați suma schimbare,
+Select company first,Selectați mai întâi compania,
+Select students manually for the Activity based Group,Selectați manual elevii pentru grupul bazat pe activități,
+Select the customer or supplier.,Selectați clientul sau furnizorul.,
+Select the nature of your business.,Selectați natura afacerii dumneavoastră.,
+Select the program first,Selectați mai întâi programul,
+Select to add Serial Number.,Selectați pentru a adăuga număr de serie.,
+Select your Domains,Selectați-vă domeniile,
+Selected Price List should have buying and selling fields checked.,Lista de prețuri selectată ar trebui să verifice câmpurile de cumpărare și vânzare.,
+Sell,Vinde,
+Selling,Vânzare,
+Selling Amount,Vanzarea Suma,
+Selling Price List,Listă Prețuri de Vânzare,
+Selling Rate,Rata de vanzare,
+"Selling must be checked, if Applicable For is selected as {0}","De vânzare trebuie să fie verificate, dacă este cazul Pentru este selectat ca {0}",
+Send Grant Review Email,Trimiteți e-mailul de examinare a granturilor,
+Send Now,Trimite Acum,
+Send SMS,Trimite SMS,
+Send mass SMS to your contacts,Trimite SMS-uri în masă a persoanelor de contact,
+Sensitivity,Sensibilitate,
+Sent,Trimis,
+Serial No and Batch,Serial și Lot nr,
+Serial No is mandatory for Item {0},Nu serial este obligatorie pentru postul {0},
+Serial No {0} does not belong to Batch {1},Numărul de serie {0} nu aparține lotului {1},
+Serial No {0} does not belong to Delivery Note {1},Serial No {0} nu aparține de livrare Nota {1},
+Serial No {0} does not belong to Item {1},Serial Nu {0} nu aparține postul {1},
+Serial No {0} does not belong to Warehouse {1},Serial Nu {0} nu apartine Warehouse {1},
+Serial No {0} does not belong to any Warehouse,Serial nr {0} nu apartine nici unei Warehouse,
+Serial No {0} does not exist,Serial Nu {0} nu există,
+Serial No {0} has already been received,Serial Nu {0} a fost deja primit,
+Serial No {0} is under maintenance contract upto {1},Serial Nu {0} este sub contract de întreținere pana {1},
+Serial No {0} is under warranty upto {1},Serial Nu {0} este în garanție pana {1},
+Serial No {0} not found,Serial nr {0} nu a fost găsit,
+Serial No {0} not in stock,Serial Nu {0} nu este în stoc,
+Serial No {0} quantity {1} cannot be a fraction,Serial Nu {0} {1} cantitate nu poate fi o fracțiune,
+Serial Nos Required for Serialized Item {0},Serial nr necesare pentru postul serializat {0},
+Serial Number: {0} is already referenced in Sales Invoice: {1},Numărul de serie: {0} este deja menționat în factura de vânzare: {1},
+Serial Numbers,Numere de serie,
+Serial Numbers in row {0} does not match with Delivery Note,Numerele de serie din rândul {0} nu se potrivesc cu Nota de livrare,
+Serial no {0} has been already returned,Numărul serial {0} nu a fost deja returnat,
+Serial number {0} entered more than once,Număr de serie {0} a intrat de mai multe ori,
+Serialized Inventory,Inventarul serializat,
+Series Updated,Seria Actualizat,
+Series Updated Successfully,Seria Actualizat cu succes,
+Series is mandatory,Seria este obligatorie,
+Series {0} already used in {1},Series {0} folosit deja în {1},
+Service,Servicii,
+Service Expense,Cheltuieli de serviciu,
+Service Level Agreement,Acord privind nivelul serviciilor,
+Service Level Agreement.,Acord privind nivelul serviciilor.,
+Service Level.,Nivel de servicii.,
+Service Stop Date cannot be after Service End Date,Dată de încetare a serviciului nu poate fi după Data de încheiere a serviciului,
+Service Stop Date cannot be before Service Start Date,Data de începere a serviciului nu poate fi înaintea datei de începere a serviciului,
+Services,Servicii,
+"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Seta valorile implicite, cum ar fi Compania, valutar, Current Anul fiscal, etc",
+Set Details,Setați detalii,
+Set New Release Date,Setați noua dată de lansare,
+Set Project and all Tasks to status {0}?,Setați proiectul și toate sarcinile la starea {0}?,
+Set Status,Setați starea,
+Set Tax Rule for shopping cart,Set Regula fiscală pentru coșul de cumpărături,
+Set as Closed,Setați ca închis,
+Set as Completed,Setați ca Finalizat,
+Set as Default,Setat ca implicit,
+Set as Lost,Setați ca Lost,
+Set as Open,Setați ca Deschis,
+Set default inventory account for perpetual inventory,Setați contul inventarului implicit pentru inventarul perpetuu,
+Set this if the customer is a Public Administration company.,Setați acest lucru dacă clientul este o companie de administrare publică.,
+Set {0} in asset category {1} or company {2},Setați {0} în categoria de active {1} sau în companie {2},
+"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Setarea Evenimente la {0}, deoarece angajatul atașat la mai jos de vânzare Persoanele care nu are un ID de utilizator {1}",
+Setting defaults,Setarea valorilor implicite,
+Setting up Email,Configurarea e-mail,
+Setting up Email Account,Configurarea contului de e-mail,
+Setting up Employees,Configurarea angajati,
+Setting up Taxes,Configurarea Impozite,
+Setting up company,Înființarea companiei,
+Settings,Setări,
+"Settings for online shopping cart such as shipping rules, price list etc.","Setări pentru cosul de cumparaturi on-line, cum ar fi normele de transport maritim, lista de preturi, etc.",
+Settings for website homepage,Setările pentru pagina de start site-ul web,
+Settings for website product listing,Setări pentru listarea produselor site-ului web,
+Settled,Stabilit,
+Setup Gateway accounts.,Setup conturi Gateway.,
+Setup SMS gateway settings,Setări de configurare SMS gateway-ul,
+Setup cheque dimensions for printing,Dimensiunile de instalare pentru imprimare de verificare,
+Setup default values for POS Invoices,Configurați valorile implicite pentru facturile POS,
+Setup mode of POS (Online / Offline),Modul de configurare a POS (online / offline),
+Setup your Institute in ERPNext,Configurați-vă Institutul în ERPNext,
+Share Balance,Soldul acțiunilor,
+Share Ledger,Împărțiți Registru Contabil,
+Share Management,Gestiune partajare,
+Share Transfer,Trimiteți transferul,
+Share Type,Tipul de distribuire,
+Shareholder,Acționar,
+Ship To State,Transport către stat,
+Shipments,Transporturile,
+Shipping,Transport,
+Shipping Address,Adresa de livrare,
+"Shipping Address does not have country, which is required for this Shipping Rule","Adresa de expediere nu are țara, care este necesară pentru această regulă de transport",
+Shipping rule only applicable for Buying,Regulă de expediere aplicabilă numai pentru cumpărături,
+Shipping rule only applicable for Selling,Regulă de expediere aplicabilă numai pentru vânzare,
+Shopify Supplier,Furnizor de magazin,
+Shopping Cart,Cosul de cumparaturi,
+Shopping Cart Settings,Setări Cosul de cumparaturi,
+Short Name,Numele scurt,
+Shortage Qty,Lipsă Cantitate,
+Show Completed,Spectacol finalizat,
+Show Cumulative Amount,Afișați suma cumulată,
+Show Employee,Afișați angajatul,
+Show Open,Afișați deschis,
+Show Opening Entries,Afișare intrări de deschidere,
+Show Payment Details,Afișați detaliile de plată,
+Show Return Entries,Afișați înregistrările returnate,
+Show Salary Slip,Afișează Salariu alunecare,
+Show Variant Attributes,Afișați atribute variate,
+Show Variants,Arată Variante,
+Show closed,Afișează închis,
+Show exploded view,Afișați vizualizarea explodată,
+Show only POS,Afișați numai POS,
+Show unclosed fiscal year's P&L balances,Afișați soldurile L P &amp; anul fiscal unclosed lui,
+Show zero values,Afiseaza valorile nule,
+Sick Leave,A concediului medical,
+Silt,Nămol,
+Single Variant,Varianta unică,
+Single unit of an Item.,Unitate unică a unui articol.,
+"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Scăderea listei de alocare pentru următorii angajați, deoarece înregistrările privind alocarea listei există deja împotriva acestora. {0}",
+"Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}","Trecerea alocării structurii salariale pentru următorii angajați, întrucât înregistrările privind structura salariului există deja împotriva lor {0}",
+Slideshow,Slideshow,
+Slots for {0} are not added to the schedule,Sloturile pentru {0} nu sunt adăugate la program,
+Small,Mic,
+Soap & Detergent,Soap & Detergent,
+Software,Software,
+Software Developer,Software Developer,
+Softwares,Softwares,
+Soil compositions do not add up to 100,Compozițiile solului nu adaugă până la 100,
+Sold,Vândut,
+Some emails are invalid,Unele e-mailuri sunt nevalide,
+Some information is missing,Lipsesc unele informații,
+Something went wrong!,Ceva a mers prost!,
+"Sorry, Serial Nos cannot be merged","Ne pare rău, Serial nr nu se pot uni",
+Source,Sursă,
+Source Name,sursa Nume,
+Source Warehouse,Depozit Sursă,
+Source and Target Location cannot be same,Sursa și locația țintă nu pot fi identice,
+Source and target warehouse cannot be same for row {0},Sursă și depozit țintă nu poate fi același pentru rând {0},
+Source and target warehouse must be different,Sursa și depozitul țintă trebuie să fie diferit,
+Source of Funds (Liabilities),Sursa fondurilor (pasive),
+Source warehouse is mandatory for row {0},Depozit sursă este obligatorie pentru rând {0},
+Specified BOM {0} does not exist for Item {1},BOM specificată {0} nu există pentru postul {1},
+Split,Despică,
+Split Batch,Split Lot,
+Split Issue,Emisiune separată,
+Sports,Sport,
+Staffing Plan {0} already exist for designation {1},Planul de personal {0} există deja pentru desemnare {1},
+Standard,Standard,
+Standard Buying,Cumpararea Standard,
+Standard Selling,Vânzarea standard,
+Standard contract terms for Sales or Purchase.,Clauzele contractuale standard pentru vânzări sau de cumpărare.,
+Start Date,Data începerii,
+Start Date of Agreement can't be greater than or equal to End Date.,Data de începere a acordului nu poate fi mai mare sau egală cu data de încheiere.,
+Start Year,Anul de începere,
+"Start and end dates not in a valid Payroll Period, cannot calculate {0}","Datele de început și de încheiere care nu sunt într-o perioadă de salarizare valabilă, nu pot fi calculate {0}",
+"Start and end dates not in a valid Payroll Period, cannot calculate {0}.","Datele de începere și de sfârșit nu se află într-o perioadă de salarizare valabilă, nu pot calcula {0}.",
+Start date should be less than end date for Item {0},Data de începere trebuie să fie mai mică decât data de sfârșit pentru postul {0},
+Start date should be less than end date for task {0},Data de începere ar trebui să fie mai mică decât data de încheiere pentru sarcina {0},
+Start day is greater than end day in task '{0}',Ziua de început este mai mare decât ziua de sfârșit în sarcina &quot;{0}&quot;,
+Start on,Începe,
+State,Stat,
+State/UT Tax,Impozitul de stat / UT,
+Statement of Account,Extras de cont,
+Status must be one of {0},Statusul trebuie să fie unul din {0},
+Stock,Stoc,
+Stock Adjustment,Ajustarea stoc,
+Stock Analytics,Analytics stoc,
+Stock Assets,Active Stoc,
+Stock Available,Stoc disponibil,
+Stock Balance,Stoc Sold,
+Stock Entries already created for Work Order ,Înregistrări stoc deja create pentru comanda de lucru,
+Stock Entry,Stoc de intrare,
+Stock Entry {0} created,Arhivă de intrare {0} creat,
+Stock Entry {0} is not submitted,Stock intrare {0} nu este prezentat,
+Stock Expenses,Cheltuieli stoc,
+Stock In Hand,Stoc în mână,
+Stock Items,stoc,
+Stock Ledger,Registru Contabil Stocuri,
+Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Stocul Ledger Înscrieri și GL intrările sunt postate pentru selectate Veniturile achiziție,
+Stock Levels,Niveluri stoc,
+Stock Liabilities,Pasive stoc,
+Stock Options,Opțiuni pe acțiuni,
+Stock Qty,Cota stocului,
+Stock Received But Not Billed,"Stock primite, dar nu Considerat",
+Stock Reports,Rapoarte de stoc,
+Stock Summary,Rezumat Stoc,
+Stock Transactions,Tranzacții de stoc,
+Stock UOM,Stoc UOM,
+Stock Value,Valoare stoc,
+Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},echilibru stoc în Serie {0} va deveni negativ {1} pentru postul {2} la Depozitul {3},
+Stock cannot be updated against Delivery Note {0},Stock nu poate fi actualizat împotriva livrare Nota {0},
+Stock cannot be updated against Purchase Receipt {0},Stock nu poate fi actualizat cu confirmare de primire {0} Purchase,
+Stock cannot exist for Item {0} since has variants,Stock nu poate exista pentru postul {0} deoarece are variante,
+Stock transactions before {0} are frozen,Tranzacțiilor bursiere înainte de {0} sunt înghețate,
+Stop,Oprire,
+Stopped,Oprita,
+"Stopped Work Order cannot be cancelled, Unstop it first to cancel","Oprirea comenzii de lucru nu poate fi anulată, deblocați mai întâi pentru a anula",
+Stores,Magazine,
+Structures have been assigned successfully,Structurile au fost alocate cu succes,
+Student,Student,
+Student Activity,Activitatea studenților,
+Student Address,Adresa studenților,
+Student Admissions,Admitere Student,
+Student Attendance,Participarea studenților,
+"Student Batches help you track attendance, assessments and fees for students","Student Sarjele ajută să urmăriți prezență, evaluările și taxele pentru studenți",
+Student Email Address,Adresa de e-mail Student,
+Student Email ID,ID-ul de student e-mail,
+Student Group,Grupul studențesc,
+Student Group Strength,Grupul Forței Studenților,
+Student Group is already updated.,Grupul de studenți este deja actualizat.,
+Student Group: ,Grupul studenților:,
+Student ID,Carnet de student,
+Student ID: ,Carnet de student:,
+Student LMS Activity,Activitatea LMS a studenților,
+Student Mobile No.,Elev mobil Nr,
+Student Name,Numele studentului,
+Student Name: ,Numele studentului:,
+Student Report Card,Student Card de raportare,
+Student is already enrolled.,Student este deja înscris.,
+Student {0} - {1} appears Multiple times in row {2} & {3},Elev {0} - {1} apare ori multiple în rândul {2} &amp; {3},
+Student {0} does not belong to group {1},Studentul {0} nu aparține grupului {1},
+Student {0} exist against student applicant {1},Student {0} există împotriva solicitantului de student {1},
+"Students are at the heart of the system, add all your students","Studenții sunt în centrul sistemului, adăugați toți elevii",
+Sub Assemblies,Sub Assemblies,
+Sub Type,Subtipul,
+Sub-contracting,Sub-contractare,
+Subcontract,subcontract,
+Subject,Subiect,
+Submit,Trimite,
+Submit Proof,Trimiteți dovada,
+Submit Salary Slip,Prezenta Salariul Slip,
+Submit this Work Order for further processing.,Trimiteți acest ordin de lucru pentru o prelucrare ulterioară.,
+Submit this to create the Employee record,Trimiteți acest lucru pentru a crea înregistrarea angajatului,
+Submitting Salary Slips...,Trimiterea buletinelor de salariu ...,
+Subscription,Abonament,
+Subscription Management,Managementul abonamentelor,
+Subscriptions,Abonamente,
+Subtotal,subtotală,
+Successful,De succes,
+Successfully Reconciled,Împăcați cu succes,
+Successfully Set Supplier,Setați cu succes furnizorul,
+Successfully created payment entries,Au fost create intrări de plată cu succes,
+Successfully deleted all transactions related to this company!,Șters cu succes toate tranzacțiile legate de aceasta companie!,
+Sum of Scores of Assessment Criteria needs to be {0}.,Suma Scorurile de criterii de evaluare trebuie să fie {0}.,
+Sum of points for all goals should be 100. It is {0},Suma de puncte pentru toate obiectivele ar trebui să fie 100. este {0},
+Summary,Rezumat,
+Summary for this month and pending activities,Rezumat pentru această lună și activități în așteptarea,
+Summary for this week and pending activities,Rezumat pentru această săptămână și a activităților în curs,
+Sunday,Duminică,
+Suplier,furnizo,
+Supplier,Furnizor,
+Supplier Group,Grupul de furnizori,
+Supplier Group master.,Managerul grupului de furnizori.,
+Supplier Id,Furnizor Id,
+Supplier Invoice Date cannot be greater than Posting Date,Furnizor Data facturii nu poate fi mai mare decât postare Data,
+Supplier Invoice No,Furnizor Factura Nu,
+Supplier Invoice No exists in Purchase Invoice {0},Furnizor Factura nr există în factură Purchase {0},
+Supplier Name,Furnizor Denumire,
+Supplier Part No,Furnizor de piesa,
+Supplier Quotation,Furnizor ofertă,
+Supplier Scorecard,Scorul de performanță al furnizorului,
+Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Furnizor Depozit obligatoriu pentru contractate sub-cumparare Primirea,
+Supplier database.,Baza de date furnizor.,
+Supplier {0} not found in {1},Furnizorul {0} nu a fost găsit în {1},
+Supplier(s),Furnizor (e),
+Supplies made to UIN holders,Materialele furnizate deținătorilor UIN,
+Supplies made to Unregistered Persons,Furnizare pentru persoane neînregistrate,
+Suppliies made to Composition Taxable Persons,Cupluri făcute persoanelor impozabile din componență,
+Supply Type,Tip de aprovizionare,
+Support,Suport,
+Support Analytics,Suport Analytics,
+Support Settings,Setări de sprijin,
+Support Tickets,Bilete de sprijin,
+Support queries from customers.,Interogări de suport din partea clienților.,
+Susceptible,Susceptibil,
+Sync has been temporarily disabled because maximum retries have been exceeded,"Sincronizarea a fost temporar dezactivată, deoarece au fost depășite încercările maxime",
+Syntax error in condition: {0},Eroare de sintaxă în stare: {0},
+Syntax error in formula or condition: {0},Eroare de sintaxă în formulă sau stare: {0},
+System Manager,System Manager,
+TDS Rate %,Rata TDS%,
+Tap items to add them here,Atingeți elementele pentru a le adăuga aici,
+Target,Țintă,
+Target ({}),Țintă ({}),
+Target On,Țintă pe,
+Target Warehouse,Depozit Țintă,
+Target warehouse is mandatory for row {0},Depozit țintă este obligatorie pentru rând {0},
+Task,Sarcină,
+Tasks,Sarcini,
+Tasks have been created for managing the {0} disease (on row {1}),S-au creat sarcini pentru gestionarea bolii {0} (pe rândul {1}),
+Tax,Impozite,
+Tax Assets,Active Fiscale,
+Tax Category,Categoria fiscală,
+Tax Category for overriding tax rates.,Categorie de impozite pentru cote de impozitare superioare.,
+"Tax Category has been changed to ""Total"" because all the Items are non-stock items",Categoria de taxe a fost modificată la &quot;Total&quot; deoarece toate elementele nu sunt elemente stoc,
+Tax ID,ID impozit,
+Tax Id: ,Cod fiscal:,
+Tax Rate,Cota de impozitare,
+Tax Rule Conflicts with {0},Conflicte normă fiscală cu {0},
+Tax Rule for transactions.,Regula de impozit pentru tranzacțiile.,
+Tax Template is mandatory.,Format de impozitare este obligatorie.,
+Tax Withholding rates to be applied on transactions.,Ratele de reținere fiscală aplicabile tranzacțiilor.,
+Tax template for buying transactions.,Șablon taxa pentru tranzacțiilor de cumpărare.,
+Tax template for item tax rates.,Model de impozitare pentru cote de impozit pe articole.,
+Tax template for selling transactions.,Șablon impozit pentru tranzacțiile de vânzare.,
+Taxable Amount,Sumă impozabilă,
+Taxes,Impozite,
+Team Updates,echipa Actualizări,
+Technology,Tehnologia nou-aparuta,
+Telecommunications,Telecomunicații,
+Telephone Expenses,Cheltuieli de telefon,
+Television,Televiziune,
+Template Name,Numele de șablon,
+Template of terms or contract.,Șablon de termeni sau contractului.,
+Templates of supplier scorecard criteria.,Șabloane ale criteriilor privind tabloul de bord al furnizorului.,
+Templates of supplier scorecard variables.,Șabloane ale variabilelor pentru scorurile pentru furnizori.,
+Templates of supplier standings.,Modele de clasificare a furnizorilor.,
+Temporarily on Hold,Temporar în așteptare,
+Temporary,Temporar,
+Temporary Accounts,Conturi temporare,
+Temporary Opening,Deschiderea temporară,
+Terms and Conditions,Termeni si conditii,
+Terms and Conditions Template,Termeni și condiții Format,
+Territory,Teritoriu,
+Test,Test,
+Thank you,Mulțumesc,
+Thank you for your business!,Vă mulțumesc pentru afacerea dvs!,
+The 'From Package No.' field must neither be empty nor it's value less than 1.,"&quot;Din pachetul nr.&quot; câmpul nu trebuie să fie nici gol, nici valoarea lui mai mică decât 1.",
+The Brand,Marca,
+The Item {0} cannot have Batch,Postul {0} nu poate avea Lot,
+The Loyalty Program isn't valid for the selected company,Programul de loialitate nu este valabil pentru compania selectată,
+The Payment Term at row {0} is possibly a duplicate.,"Termenul de plată la rândul {0} este, eventual, un duplicat.",
+The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Pe termen Data de încheiere nu poate fi mai devreme decât Start Termen Data. Vă rugăm să corectați datele și încercați din nou.,
+The Term End Date cannot be later than the Year End Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,Pe termen Data de încheiere nu poate fi mai târziu de Anul Data de încheiere a anului universitar la care este legat termenul (anului universitar {}). Vă rugăm să corectați datele și încercați din nou.,
+The Term Start Date cannot be earlier than the Year Start Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,Start Termen Data nu poate fi mai devreme decât data Anul de începere a anului universitar la care este legat termenul (anului universitar {}). Vă rugăm să corectați datele și încercați din nou.,
+The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,Anul Data de încheiere nu poate fi mai devreme decât data An Start. Vă rugăm să corectați datele și încercați din nou.,
+The amount of {0} set in this payment request is different from the calculated amount of all payment plans: {1}. Make sure this is correct before submitting the document.,Valoarea {0} stabilită în această solicitare de plată este diferită de suma calculată a tuturor planurilor de plată: {1}. Asigurați-vă că este corect înainte de a trimite documentul.,
+The day(s) on which you are applying for leave are holidays. You need not apply for leave.,A doua zi (e) pe care se aplica pentru concediu sunt sărbători. Nu trebuie să se aplice pentru concediu.,
+The field From Shareholder cannot be blank,Câmpul From Shareholder nu poate fi gol,
+The field To Shareholder cannot be blank,Câmpul către acționar nu poate fi necompletat,
+The fields From Shareholder and To Shareholder cannot be blank,Câmpurile de la acționar și de la acționar nu pot fi goale,
+The folio numbers are not matching,Numerele folio nu se potrivesc,
+The holiday on {0} is not between From Date and To Date,Vacanta pe {0} nu este între De la data si pana in prezent,
+The name of the institute for which you are setting up this system.,Numele institutului pentru care configurați acest sistem.,
+The name of your company for which you are setting up this system.,Numele companiei dumneavoastră pentru care vă sunt configurarea acestui sistem.,
+The number of shares and the share numbers are inconsistent,Numărul de acțiuni și numerele de acțiuni sunt incoerente,
+The payment gateway account in plan {0} is different from the payment gateway account in this payment request,Contul gateway-ului de plată din plan {0} este diferit de contul gateway-ului de plată din această solicitare de plată,
+The selected BOMs are not for the same item,Cele BOM selectate nu sunt pentru același articol,
+The selected item cannot have Batch,Elementul selectat nu poate avea lot,
+The seller and the buyer cannot be the same,Vânzătorul și cumpărătorul nu pot fi aceleași,
+The shareholder does not belong to this company,Acționarul nu aparține acestei companii,
+The shares already exist,Acțiunile există deja,
+The shares don't exist with the {0},Acțiunile nu există cu {0},
+"The task has been enqueued as a background job. In case there is any issue on processing in background, the system will add a comment about the error on this Stock Reconciliation and revert to the Draft stage","Sarcina a fost considerată ca o lucrare de fond. În cazul în care există vreo problemă cu privire la procesare în fundal, sistemul va adăuga un comentariu despre eroarea la această reconciliere a stocului și va reveni la etapa de proiectare.",
+"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Apoi normelor privind prețurile sunt filtrate pe baza Customer, Client Group, Territory, furnizor, furnizor de tip, Campania, Vanzari Partener etc",
+"There are inconsistencies between the rate, no of shares and the amount calculated","Există neconcordanțe între rata, numărul de acțiuni și suma calculată",
+There are more holidays than working days this month.,Există mai multe sărbători decât de zile de lucru în această lună.,
+There can be multiple tiered collection factor based on the total spent. But the conversion factor for redemption will always be same for all the tier.,Pot exista un factor de colectare multiplu diferențiat bazat pe totalul cheltuit. Dar factorul de conversie pentru răscumpărare va fi întotdeauna același pentru toate nivelurile.,
+There can only be 1 Account per Company in {0} {1},Nu poate fi doar un cont per companie în {0} {1},
+"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Nu poate fi doar o singură regulă Condiții presetate cu 0 sau o valoare necompletată pentru ""la valoarea""",
+There is no leave period in between {0} and {1},Nu există o perioadă de concediu între {0} și {1},
+There is not enough leave balance for Leave Type {0},Nu există echilibru concediu suficient pentru concediul de tip {0},
+There is nothing to edit.,Nu este nimic pentru editat.,
+There isn't any item variant for the selected item,Nu există variante de elemente pentru elementul selectat,
+"There seems to be an issue with the server's GoCardless configuration. Don't worry, in case of failure, the amount will get refunded to your account.","Se pare că există o problemă cu configurația serverului GoCardless. Nu vă faceți griji, în caz de eșec, suma va fi rambursată în cont.",
+There were errors creating Course Schedule,Au apărut erori la crearea programului de curs,
+There were errors.,Au fost erori.,
+This Item is a Template and cannot be used in transactions. Item attributes will be copied over into the variants unless 'No Copy' is set,"Acest post este un șablon și nu pot fi folosite în tranzacții. Atribute articol vor fi copiate pe în variantele cu excepția cazului în este setat ""Nu Copy""",
+This Item is a Variant of {0} (Template).,Acest element este o variantă de {0} (șablon).,
+This Month's Summary,Rezumatul acestei luni,
+This Week's Summary,Rezumat această săptămână,
+This action will stop future billing. Are you sure you want to cancel this subscription?,Această acțiune va opri facturarea viitoare. Sigur doriți să anulați acest abonament?,
+This covers all scorecards tied to this Setup,Aceasta acoperă toate tabelele de scoruri legate de această configurație,
+This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Acest document este peste limita de {0} {1} pentru elementul {4}. Faci un alt {3} împotriva aceleași {2}?,
+This is a root account and cannot be edited.,Acesta este un cont de rădăcină și nu pot fi editate.,
+This is a root customer group and cannot be edited.,Acesta este un grup de clienți rădăcină și nu pot fi editate.,
+This is a root department and cannot be edited.,Acesta este un departament rădăcină și nu poate fi editat.,
+This is a root healthcare service unit and cannot be edited.,Aceasta este o unitate de asistență medicală rădăcină și nu poate fi editată.,
+This is a root item group and cannot be edited.,Acesta este un grup element rădăcină și nu pot fi editate.,
+This is a root sales person and cannot be edited.,Aceasta este o persoană de vânzări rădăcină și nu pot fi editate.,
+This is a root supplier group and cannot be edited.,Acesta este un grup de furnizori rădăcini și nu poate fi editat.,
+This is a root territory and cannot be edited.,Acesta este un teritoriu rădăcină și nu pot fi editate.,
+This is an example website auto-generated from ERPNext,Acesta este un site web exemplu auto-generat de ERPNext,
+This is based on logs against this Vehicle. See timeline below for details,Aceasta se bazează pe bușteni împotriva acestui vehicul. A se vedea calendarul de mai jos pentru detalii,
+This is based on stock movement. See {0} for details,Aceasta se bazează pe mișcare stoc. A se vedea {0} pentru detalii,
+This is based on the Time Sheets created against this project,Aceasta se bazează pe fișele de pontaj create împotriva acestui proiect,
+This is based on the attendance of this Employee,Aceasta se bazează pe prezența a acestui angajat,
+This is based on the attendance of this Student,Aceasta se bazează pe prezența acestui student,
+This is based on transactions against this Customer. See timeline below for details,Aceasta se bazează pe tranzacțiile împotriva acestui client. A se vedea calendarul de mai jos pentru detalii,
+This is based on transactions against this Healthcare Practitioner.,Aceasta se bazează pe tranzacțiile împotriva acestui medic.,
+This is based on transactions against this Patient. See timeline below for details,Aceasta se bazează pe tranzacțiile împotriva acestui pacient. Consultați linia temporală de mai jos pentru detalii,
+This is based on transactions against this Sales Person. See timeline below for details,Aceasta se bazează pe tranzacțiile efectuate împotriva acestei persoane de vânzări. Consultați linia temporală de mai jos pentru detalii,
+This is based on transactions against this Supplier. See timeline below for details,Aceasta se bazează pe tranzacțiile împotriva acestui furnizor. A se vedea calendarul de mai jos pentru detalii,
+This will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,Aceasta va trimite salariile de salarizare și va crea înregistrarea de înregistrare în jurnal. Doriți să continuați?,
+This {0} conflicts with {1} for {2} {3},Acest {0} conflicte cu {1} pentru {2} {3},
+Time Sheet for manufacturing.,Fișa de timp pentru fabricație.,
+Time Tracking,Urmărirea timpului,
+"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Slotul de timp a fost anulat, slotul {0} până la {1} suprapune slotul existent {2} până la {3}",
+Time slots added,Au fost adăugate sloturi de timp,
+Time(in mins),Timp (în min),
+Timer,Cronometrul,
+Timer exceeded the given hours.,Timerul a depășit orele date.,
+Timesheet,Pontaj,
+Timesheet for tasks.,Timesheet pentru sarcini.,
+Timesheet {0} is already completed or cancelled,Pontajul {0} este deja finalizat sau anulat,
+Timesheets,pontaje,
+"Timesheets help keep track of time, cost and billing for activites done by your team","Pontaje ajuta să urmăriți timp, costuri și de facturare pentru activitati efectuate de echipa ta",
+Titles for print templates e.g. Proforma Invoice.,"Titluri de șabloane de imprimare, de exemplu proforma Factura.",
+To,La,
+To Address 1,Pentru a adresa 1,
+To Address 2,Pentru a adresa 2,
+To Bill,Pentru a Bill,
+To Date,La Data,
+To Date cannot be before From Date,Până în prezent nu poate fi înainte de data,
+To Date cannot be less than From Date,Data nu poate fi mai mică decât Din data,
+To Date must be greater than From Date,Pentru data trebuie să fie mai mare decât de la data,
+To Date should be within the Fiscal Year. Assuming To Date = {0},Pentru a Data ar trebui să fie în anul fiscal. Presupunând Pentru a Data = {0},
+To Datetime,Pentru a Datetime,
+To Deliver,A livra,
+To Deliver and Bill,Pentru a livra și Bill,
+To Fiscal Year,Anul fiscal,
+To GSTIN,Pentru GSTIN,
+To Party Name,La numele partidului,
+To Pin Code,Pentru a activa codul,
+To Place,A plasa,
+To Receive,A primi,
+To Receive and Bill,Pentru a primi și Bill,
+To State,A afirma,
+To Warehouse,La Depozit,
+To create a Payment Request reference document is required,Pentru a crea un document de referință privind solicitarea de plată este necesar,
+To date can not be equal or less than from date,Până în prezent nu poate fi egală sau mai mică decât de la data,
+To date can not be less than from date,Până în prezent nu poate fi mai mică decât de la data,
+To date can not greater than employee's relieving date,Până în prezent nu poate fi mai mare decât data scutirii angajatului,
+"To filter based on Party, select Party Type first","Pentru a filtra pe baza Party, selectați Party Tip primul",
+"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","Pentru a obține cele mai bune din ERPNext, vă recomandăm să luați ceva timp și de ceas aceste filme de ajutor.",
+"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Pentru a include taxa în rândul {0} în rata articol, impozitele în rânduri {1} trebuie de asemenea să fie incluse",
+To make Customer based incentive schemes.,Pentru a crea scheme de stimulare bazate pe client.,
+"To merge, following properties must be same for both items","Pentru a îmbina, următoarele proprietăți trebuie să fie aceeași pentru ambele elemente",
+"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","De a nu aplica regula Preturi într-o anumită tranzacție, ar trebui să fie dezactivat toate regulile de tarifare aplicabile.",
+"To set this Fiscal Year as Default, click on 'Set as Default'","Pentru a seta acest an fiscal ca implicit, faceți clic pe ""Set as Default""",
+To view logs of Loyalty Points assigned to a Customer.,Pentru a vizualiza jurnalele punctelor de loialitate atribuite unui client.,
+To {0},Pentru a {0},
+To {0} | {1} {2},Pentru a {0} | {1} {2},
+Toggle Filters,Comutați filtrele,
+Too many columns. Export the report and print it using a spreadsheet application.,Prea multe coloane. Exporta raportul și imprima utilizând o aplicație de calcul tabelar.,
+Tools,Instrumente,
+Total (Credit),Total (Credit),
+Total (Without Tax),Total (fără taxe),
+Total Absent,Raport Absent,
+Total Achieved,Raport Realizat,
+Total Actual,Raport real,
+Total Allocated Leaves,Frunzele totale alocate,
+Total Amount,Suma totală,
+Total Amount Credited,Suma totală creditată,
+Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Taxe totale aplicabile în tabelul de achiziție Chitanță Elementele trebuie să fie la fel ca total impozite și taxe,
+Total Budget,Buget total,
+Total Collected: {0},Totalul colectat: {0},
+Total Commission,Total de Comisie,
+Total Contribution Amount: {0},Suma totală a contribuției: {0},
+Total Credit/ Debit Amount should be same as linked Journal Entry,Suma totală a creditului / debitului ar trebui să fie aceeași cu cea înregistrată în jurnal,
+Total Debit must be equal to Total Credit. The difference is {0},Totală de debit trebuie să fie egal cu total Credit. Diferența este {0},
+Total Deduction,Total de deducere,
+Total Invoiced Amount,Suma totală facturată,
+Total Leaves,Frunze totale,
+Total Order Considered,Comanda total Considerat,
+Total Order Value,Valoarea totală Comanda,
+Total Outgoing,Raport de ieșire,
+Total Outstanding,Total deosebit,
+Total Outstanding Amount,Total Suma Impresionant,
+Total Outstanding: {0},Total excepție: {0},
+Total Paid Amount,Total Suma plătită,
+Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,Suma totală de plată în Planul de Plăți trebuie să fie egală cu Total / Rotunjit,
+Total Payments,Total plăți,
+Total Present,Raport Prezent,
+Total Qty,Raport Cantitate,
+Total Quantity,Cantitatea totala,
+Total Revenue,Raport Venituri,
+Total Student,Student total,
+Total Target,Raport țintă,
+Total Tax,Taxa totală,
+Total Taxable Amount,Sumă impozabilă totală,
+Total Taxable Value,Valoarea impozabilă totală,
+Total Unpaid: {0},Neremunerat totală: {0},
+Total Variance,Raport Variance,
+Total Weightage of all Assessment Criteria must be 100%,Weightage totală a tuturor criteriilor de evaluare trebuie să fie 100%,
+Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),avans total ({0}) împotriva Comanda {1} nu poate fi mai mare decât totalul ({2}),
+Total advance amount cannot be greater than total claimed amount,Suma avansului total nu poate fi mai mare decât suma totală revendicată,
+Total advance amount cannot be greater than total sanctioned amount,Suma avansului total nu poate fi mai mare decât suma totală sancționată,
+Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,Frunzele totale alocate sunt mai multe zile decât alocarea maximă a tipului de concediu {0} pentru angajatul {1} în perioada respectivă,
+Total allocated leaves are more than days in the period,TOTAL frunze alocate sunt mai mult decât zile în perioada,
+Total allocated percentage for sales team should be 100,Procentul total alocat pentru echipa de vânzări ar trebui să fie de 100,
+Total cannot be zero,Totalul nu poate să fie zero,
+Total contribution percentage should be equal to 100,Procentul total al contribuției ar trebui să fie egal cu 100,
+Total flexible benefit component amount {0} should not be less than max benefits {1},Suma totală a componentelor de beneficii flexibile {0} nu trebuie să fie mai mică decât beneficiile maxime {1},
+Total hours: {0},Numărul total de ore: {0},
+Total leaves allocated is mandatory for Leave Type {0},Numărul total de frunze alocate este obligatoriu pentru Type Leave {0},
+Total working hours should not be greater than max working hours {0},Numărul total de ore de lucru nu trebuie sa fie mai mare de ore de lucru max {0},
+Total {0} ({1}),Total {0} ({1}),
+"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'","Total {0} pentru toate articolele este zero, poate fi ar trebui să schimbați „Distribuirea cheltuielilor pe baza“",
+Total(Amt),Total (Amt),
+Total(Qty),Total (Cantitate),
+Traceability,Trasabilitate,
+Traceback,Traceback,
+Track Leads by Lead Source.,Urmărește Oportunități după Sursă Oportunitate,
+Training,Pregătire,
+Training Event,Eveniment de formare,
+Training Events,Evenimente de instruire,
+Training Feedback,Feedback formare,
+Training Result,Rezultatul de formare,
+Transaction,Tranzacţie,
+Transaction Date,Data tranzacției,
+Transaction Type,tipul tranzacției,
+Transaction currency must be same as Payment Gateway currency,Moneda de tranzacție trebuie să fie aceeași ca și de plată Gateway monedă,
+Transaction not allowed against stopped Work Order {0},Tranzacția nu este permisă împotriva comenzii de lucru oprita {0},
+Transaction reference no {0} dated {1},de referință al tranzacției nu {0} {1} din,
+Transactions,tranzacţii,
+Transactions can only be deleted by the creator of the Company,Tranzacții pot fi șterse doar de către creatorul Companiei,
+Transfer,Transfer,
+Transfer Material,Material de transfer,
+Transfer Type,Tip de transfer,
+Transfer an asset from one warehouse to another,Se transferă un activ de la un depozit la altul,
+Transfered,transferat,
+Transferred Quantity,Cantitate transferată,
+Transport Receipt Date,Data primirii transportului,
+Transport Receipt No,Primirea transportului nr,
+Transportation,Transport,
+Transporter ID,ID-ul transportatorului,
+Transporter Name,Transporter Nume,
+Travel,Călători,
+Travel Expenses,Cheltuieli de calatorie,
+Tree Type,Arbore Tip,
+Tree of Bill of Materials,Arborele de Bill de materiale,
+Tree of Item Groups.,Arborele de Postul grupuri.,
+Tree of Procedures,Arborele procedurilor,
+Tree of Quality Procedures.,Arborele procedurilor de calitate.,
+Tree of financial Cost Centers.,Tree of centre de cost financiare.,
+Tree of financial accounts.,Arborescentă conturilor financiare.,
+Treshold {0}% appears more than once,Treshold {0}% apare mai mult decât o dată,
+Trial Period End Date Cannot be before Trial Period Start Date,Perioada de încheiere a perioadei de încercare nu poate fi înainte de data începerii perioadei de încercare,
+Trialling,experimentării,
+Type of Business,Tip de afacere,
+Types of activities for Time Logs,Tipuri de activități pentru busteni Timp,
+UOM,UOM,
+UOM Conversion factor is required in row {0},Factor UOM de conversie este necesară în rândul {0},
+UOM coversion factor required for UOM: {0} in Item: {1},Factor coversion UOM UOM necesare pentru: {0} in articol: {1},
+URL,URL-ul,
+Unable to find DocType {0},Nu se poate găsi DocType {0},
+Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Imposibil de găsit rata de schimb pentru {0} până la {1} pentru data cheie {2}. Creați manual un registru de schimb valutar,
+Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,Nu se poate găsi scorul începând cu {0}. Trebuie să aveți scoruri în picioare care acoperă între 0 și 100,
+Unable to find variable: ,Imposibil de găsit variabila:,
+Unblock Invoice,Deblocați factura,
+Uncheck all,Deselecteaza tot,
+Unclosed Fiscal Years Profit / Loss (Credit),Unclosed fiscal Ani de Profit / Pierdere (credit),
+Unit,Unitate,
+Unit of Measure,Unitate de măsură,
+Unit of Measure {0} has been entered more than once in Conversion Factor Table,Unitate de măsură {0} a fost introdus mai mult de o dată în Factor de conversie Tabelul,
+Unknown,Necunoscut,
+Unpaid,Neachitat,
+Unsecured Loans,Creditele negarantate,
+Unsubscribe from this Email Digest,Dezabona de la acest e-mail Digest,
+Unsubscribed,Nesubscrise,
+Until,Până la,
+Unverified Webhook Data,Datele Webhook neconfirmate,
+Update Account Name / Number,Actualizați numele / numărul contului,
+Update Account Number / Name,Actualizați numărul / numele contului,
+Update Cost,Actualizare Cost,
+Update Items,Actualizați elementele,
+Update Print Format,Actualizare Format Print,
+Update Response,Actualizați răspunsul,
+Update bank payment dates with journals.,Actualizați datele de plată bancar cu reviste.,
+Update in progress. It might take a while.,Actualizare în curs. Ar putea dura ceva timp.,
+Update rate as per last purchase,Rata de actualizare ca pe ultima achiziție,
+Update stock must be enable for the purchase invoice {0},Actualizați stocul trebuie să fie activat pentru factura de achiziție {0},
+Updating Variants...,Actualizarea variantelor ...,
+Upload your letter head and logo. (you can edit them later).,Încărcați capul scrisoare și logo-ul. (Le puteți edita mai târziu).,
+Upper Income,Venituri de sus,
+Use Sandbox,utilizare Sandbox,
+Used Leaves,Frunze utilizate,
+User,Utilizator,
+User ID,ID-ul de utilizator,
+User ID not set for Employee {0},ID-ul de utilizator nu este setat pentru Angajat {0},
+User Remark,Observație utilizator,
+User has not applied rule on the invoice {0},Utilizatorul nu a aplicat o regulă pentru factură {0},
+User {0} already exists,Utilizatorul {0} există deja,
+User {0} created,Utilizatorul {0} a fost creat,
+User {0} does not exist,Utilizatorul {0} nu există,
+User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,Utilizatorul {0} nu are niciun POS profil implicit. Verificați implicit la Rând {1} pentru acest utilizator.,
+User {0} is already assigned to Employee {1},Utilizatorul {0} este deja alocat Angajat {1},
+User {0} is already assigned to Healthcare Practitioner {1},Utilizatorul {0} este deja însărcinat cu medicul de îngrijire medicală {1},
+Users,Utilizatori,
+Utility Expenses,Cheltuieli de utilitate,
+Valid From Date must be lesser than Valid Upto Date.,Valabil din data trebuie să fie mai mică decât valabil până la data.,
+Valid Till,Valabil până la,
+Valid from and valid upto fields are mandatory for the cumulative,Câmpurile valabile și valabile până la acestea sunt obligatorii pentru cumul,
+Valid from date must be less than valid upto date,Valabil de la data trebuie să fie mai mic decât valabil până la data actuală,
+Valid till date cannot be before transaction date,Valabil până la data nu poate fi înainte de data tranzacției,
+Validity,Valabilitate,
+Validity period of this quotation has ended.,Perioada de valabilitate a acestui citat sa încheiat.,
+Valuation Rate,Rata de evaluare,
+Valuation Rate is mandatory if Opening Stock entered,Evaluarea Rata este obligatorie în cazul în care a intrat Deschiderea stoc,
+Valuation type charges can not marked as Inclusive,Taxele de tip evaluare nu poate marcate ca Inclusive,
+Value Or Qty,Valoare sau Cantitate,
+Value Proposition,Propunere de valoare,
+Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Valoare pentru atributul {0} trebuie să fie în intervalul de {1} la {2} în trepte de {3} pentru postul {4},
+Value missing,Valoarea lipsește,
+Value must be between {0} and {1},Valoarea trebuie să fie între {0} și {1},
+"Values of exempt, nil rated and non-GST inward supplies","Valorile livrărilor interne scutite, nule și fără GST",
+Variable,Variabil,
+Variance,variație,
+Variance ({}),Varianță ({}),
+Variant,Variantă,
+Variant Attributes,Atribute Variant,
+Variant Based On cannot be changed,Varianta bazată pe nu poate fi modificată,
+Variant Details Report,Varianta Detalii raport,
+Variant creation has been queued.,Crearea de variante a fost în coada de așteptare.,
+Vehicle Expenses,Cheltuielile pentru vehicule,
+Vehicle No,Vehicul Nici,
+Vehicle Type,Tip de vehicul,
+Vehicle/Bus Number,Numărul vehiculului / autobuzului,
+Venture Capital,Capital de risc,
+View Chart of Accounts,Vezi Diagramă de Conturi,
+View Fees Records,Vizualizați înregistrările de taxe,
+View Form,Formular de vizualizare,
+View Lab Tests,Vizualizați testele de laborator,
+View Leads,Vezi Piste,
+View Ledger,Vezi Registru Contabil,
+View Now,Vizualizează acum,
+View a list of all the help videos,Vizualizați o listă cu toate filmele de ajutor,
+View in Cart,Vizualizare Coș,
+Visit report for maintenance call.,Vizitați raport pentru apel de mentenanță.,
+Visit the forums,Vizitați forumurile,
+Vital Signs,Semnele vitale,
+Volunteer,Voluntar,
+Volunteer Type information.,Informații de tip Voluntar.,
+Volunteer information.,Informații despre voluntari.,
+Voucher #,Voucher #,
+Voucher No,Voletul nr,
+Voucher Type,Tip Voucher,
+WIP Warehouse,WIP Depozit,
+Walk In,Walk In,
+Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Depozitul nu poate fi șters deoarece există intrări in registru contabil stocuri pentru acest depozit.,
+Warehouse cannot be changed for Serial No.,Depozit nu poate fi schimbat pentru Serial No.,
+Warehouse is mandatory,Depozitul este obligatoriu,
+Warehouse is mandatory for stock Item {0} in row {1},Depozitul este obligatoriu pentru articol stoc {0} în rândul {1},
+Warehouse not found in the system,Depozit nu a fost găsit în sistemul,
+"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Depozitul necesar la rândul nr. {0}, vă rugăm să setați un depozit implicit pentru elementul {1} pentru companie {2}",
+Warehouse required for stock Item {0},Depozit necesar pentru stoc articol {0},
+Warehouse {0} can not be deleted as quantity exists for Item {1},Depozit {0} nu poate fi ștearsă ca exista cantitate pentru postul {1},
+Warehouse {0} does not belong to company {1},Depozit {0} nu aparține companiei {1},
+Warehouse {0} does not exist,Depozitul {0} nu există,
+"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.","Warehouse {0} nu este conectat la niciun cont, menționați contul din înregistrarea din depozit sau setați contul de inventar implicit din compania {1}.",
+Warehouses with child nodes cannot be converted to ledger,Depozitele cu noduri copil nu pot fi convertite în registru contabil,
+Warehouses with existing transaction can not be converted to group.,Depozite tranzacție existente nu pot fi convertite în grup.,
+Warehouses with existing transaction can not be converted to ledger.,Depozitele cu tranzacții existente nu pot fi convertite în registru contabil.,
+Warning,Avertisment,
+Warning: Another {0} # {1} exists against stock entry {2},Atenție: Un alt {0} # {1} există împotriva intrării stoc {2},
+Warning: Invalid SSL certificate on attachment {0},Atenție: certificat SSL invalid pe atașament {0},
+Warning: Invalid attachment {0},Atenție: Attachment invalid {0},
+Warning: Leave application contains following block dates,Atenție: Lăsați aplicație conține următoarele date de bloc,
+Warning: Material Requested Qty is less than Minimum Order Qty,Atenție: Materialul solicitat Cant este mai mică decât minima pentru comanda Cantitate,
+Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Atenție: comandă de vânzări {0} există deja împotriva Ordinului de Procurare clientului {1},
+Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Atenție: Sistemul nu va verifica supraîncărcată din sumă pentru postul {0} din {1} este zero,
+Warranty,garanţie,
+Warranty Claim,Garanție revendicarea,
+Warranty Claim against Serial No.,Garantie revendicarea împotriva Serial No.,
+Website,Site web,
+Website Image should be a public file or website URL,Site-ul Image ar trebui să fie un fișier public sau site-ul URL-ul,
+Website Image {0} attached to Item {1} cannot be found,Site-ul Image {0} atașat la postul {1} nu poate fi găsit,
+Website Listing,Înregistrarea site-ului,
+Website Manager,Site-ul Manager de,
+Website Settings,Setarile site-ului,
+Wednesday,Miercuri,
+Week,Săptămână,
+Weekdays,Zilele saptamanii,
+Weekly,Săptămânal,
+Welcome email sent,E-mailul de bun venit a fost trimis,
+Welcome to ERPNext,Bine ati venit la ERPNext,
+What do you need help with?,La ce ai nevoie de ajutor?,
+What does it do?,Ce face?,
+Where manufacturing operations are carried.,În cazul în care operațiunile de fabricație sunt efectuate.,
+White,alb,
+Wire Transfer,Transfer,
+WooCommerce Products,Produse WooCommerce,
+Work In Progress,Lucrări în curs,
+Work Order,Comandă de lucru,
+Work Order already created for all items with BOM,Ordin de lucru deja creat pentru toate articolele cu BOM,
+Work Order cannot be raised against a Item Template,Ordinul de lucru nu poate fi ridicat împotriva unui șablon de element,
+Work Order has been {0},Ordinul de lucru a fost {0},
+Work Order not created,Ordinul de lucru nu a fost creat,
+Work Order {0} must be cancelled before cancelling this Sales Order,Ordinul de lucru {0} trebuie anulat înainte de a anula acest ordin de vânzări,
+Work Order {0} must be submitted,Ordinul de lucru {0} trebuie trimis,
+Work Orders Created: {0},Comenzi de lucru create: {0},
+Work Summary for {0},Rezumat Lucrare pentru {0},
+Work-in-Progress Warehouse is required before Submit,De lucru-in-Progress Warehouse este necesară înainte Trimite,
+Workflow,Flux de lucru,
+Working,De lucru,
+Working Hours,Ore de lucru,
+Workstation,Stație de lucru,
+Workstation is closed on the following dates as per Holiday List: {0},Workstation este închis la următoarele date ca pe lista de vacanta: {0},
+Wrapping up,Înfășurați-vă,
+Wrong Password,Parola gresita,
+Year start date or end date is overlapping with {0}. To avoid please set company,Anul Data de începere sau de încheiere este suprapunerea cu {0}. Pentru a evita vă rugăm să setați companie,
+You are not authorized to add or update entries before {0},Nu ești autorizat să adăugi sau să actualizezi intrări înainte de {0},
+You are not authorized to approve leaves on Block Dates,Tu nu sunt autorizate să aprobe frunze pe bloc Perioada,
+You are not authorized to set Frozen value,Nu esti autorizat pentru a configura valoarea Congelat,
+You are not present all day(s) between compensatory leave request days,Nu vă prezentați toată ziua (zilele) între zilele de solicitare a plății compensatorii,
+You can not change rate if BOM mentioned agianst any item,Nu puteți schimba rata dacă BOM menționat agianst orice element,
+You can not enter current voucher in 'Against Journal Entry' column,"Nu puteți introduce voucher curent în ""Împotriva Jurnalul intrare"" coloană",
+You can only have Plans with the same billing cycle in a Subscription,Puteți avea numai planuri cu același ciclu de facturare într-un abonament,
+You can only redeem max {0} points in this order.,Puteți răscumpăra maxim {0} puncte în această ordine.,
+You can only renew if your membership expires within 30 days,Puteți reînnoi numai dacă expirați în termen de 30 de zile,
+You can only select a maximum of one option from the list of check boxes.,Puteți selecta numai o singură opțiune din lista de casete de selectare.,
+You can only submit Leave Encashment for a valid encashment amount,Puteți să trimiteți numai permisiunea de înregistrare pentru o sumă validă de încasare,
+You can't redeem Loyalty Points having more value than the Grand Total.,Nu puteți valorifica punctele de loialitate cu valoare mai mare decât suma totală.,
+You cannot credit and debit same account at the same time,"Nu puteți credit și de debit același cont, în același timp,",
+You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Nu puteți șterge Anul fiscal {0}. Anul fiscal {0} este setat ca implicit în Setări globale,
+You cannot delete Project Type 'External',Nu puteți șterge tipul de proiect &quot;extern&quot;,
+You cannot edit root node.,Nu puteți edita nodul rădăcină.,
+You cannot restart a Subscription that is not cancelled.,Nu puteți reporni o abonament care nu este anulat.,
+You don't have enought Loyalty Points to redeem,Nu aveți puncte de loialitate pentru a răscumpăra,
+You have already assessed for the assessment criteria {}.,Ați evaluat deja criteriile de evaluare {}.,
+You have already selected items from {0} {1},Ați selectat deja un produs de la {0} {1},
+You have been invited to collaborate on the project: {0},Ați fost invitat să colaboreze la proiect: {0},
+You have entered duplicate items. Please rectify and try again.,Ați introdus elemente cu dubluri. Vă rugăm să rectifice și să încercați din nou.,
+You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,Trebuie să fii alt utilizator decât Administrator cu rolul managerului de sistem și al Managerului de articole pentru a te înregistra pe Marketplace.,
+You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,Trebuie să fii un utilizator cu roluri de manager de sistem și manager de articole pentru a adăuga utilizatori la Marketplace.,
+You need to be a user with System Manager and Item Manager roles to register on Marketplace.,Trebuie să fiți utilizator cu funcții Manager Manager și Manager de posturi pentru a vă înregistra pe Marketplace.,
+You need to be logged in to access this page,Trebuie să fii conectat pentru a putea accesa această pagină,
+You need to enable Shopping Cart,Trebuie să activați Coșul de cumpărături,
+You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Veți pierde înregistrări ale facturilor generate anterior. Sigur doriți să reporniți acest abonament?,
+Your Organization,Organizația dumneavoastră,
+Your cart is Empty,Coșul dvs. este gol,
+Your email address...,Adresa ta de email...,
+Your order is out for delivery!,Comanda dvs. este livrată!,
+Your tickets,Biletele tale,
+ZIP Code,Cod postal,
+[Error],[Eroare],
+[{0}](#Form/Item/{0}) is out of stock,[{0}] (# Forma / Postul / {0}) este din stoc,
+`Freeze Stocks Older Than` should be smaller than %d days.,'Blochează stocuri mai vechi decât' ar trebui să fie mai mic de %d zile.,
+based_on,bazat pe,
+cannot be greater than 100,nu poate fi mai mare de 100,
+disabled user,utilizator dezactivat,
+"e.g. ""Build tools for builders""","de exemplu ""Construi instrumente de constructori """,
+"e.g. ""Primary School"" or ""University""","de exemplu, &quot;Școala primară&quot; sau &quot;Universitatea&quot;",
+"e.g. Bank, Cash, Credit Card","de exemplu, bancar, Cash, Card de credit",
+hidden,ascuns,
+modified,modificată,
+old_parent,old_parent,
+on,Pornit,
+{0} '{1}' is disabled,{0} '{1}' este dezactivat,
+{0} '{1}' not in Fiscal Year {2},{0} '{1}' nu există în anul fiscal {2},
+{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) nu poate fi mai mare decât cantitatea planificată ({2}) din Ordinul de Lucru {3},
+{0} - {1} is inactive student,{0} - {1} este elev inactiv,
+{0} - {1} is not enrolled in the Batch {2},{0} - {1} nu este înscris în lotul {2},
+{0} - {1} is not enrolled in the Course {2},{0} - {1} nu este înscris la Cursul {2},
+{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},Bugetul {0} pentru Contul {1} față de {2} {3} este {4}. Acesta este depășit cu {5},
+{0} Digest,{0} Digest,
+{0} Request for {1},{0} Cerere pentru {1},
+{0} Result submittted,{0} Rezultat transmis,
+{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} numere de serie necesare pentru postul {1}. Ați furnizat {2}.,
+{0} Student Groups created.,{0} Grupurile de elevi au fost create.,
+{0} Students have been enrolled,{0} Elevii au fost înscriși,
+{0} against Bill {1} dated {2},{0} comparativ cu factura {1} din data de {2},
+{0} against Purchase Order {1},{0} comparativ cu comanda de cumpărare {1},
+{0} against Sales Invoice {1},{0} comparativ cu factura de vânzări {1},
+{0} against Sales Order {1},{0} comparativ cu comanda de vânzări {1},
+{0} already allocated for Employee {1} for period {2} to {3},{0} deja alocate pentru Angajatul {1} pentru perioada {2} - {3},
+{0} applicable after {1} working days,{0} aplicabil după {1} zile lucrătoare,
+{0} asset cannot be transferred,{0} activul nu poate fi transferat,
+{0} can not be negative,{0} nu poate fi negativ,
+{0} created,{0} creat,
+"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.","{0} are în prezent {1} Scor de Furnizor, iar comenzile de achiziție catre acest furnizor ar trebui emise cu prudență.",
+"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.","{0} are în prezent {1} Scor de Furnizor, iar cererile de oferta către acest furnizor ar trebui emise cu prudență.",
+{0} does not belong to Company {1},{0} nu aparține Companiei {1},
+{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} nu are un program de practicieni în domeniul sănătății. Adăugați-o la medicul de masterat în domeniul sănătății,
+{0} entered twice in Item Tax,{0} a fost introdus de două ori în taxa articolului,
+{0} for {1},{0} pentru {1},
+{0} has been submitted successfully,{0} a fost trimis cu succes,
+{0} has fee validity till {1},{0} are valabilitate până la data de {1},
+{0} hours,{0} ore,
+{0} in row {1},{0} în rândul {1},
+{0} is blocked so this transaction cannot proceed,"{0} este blocat, astfel încât această tranzacție nu poate continua",
+{0} is mandatory,{0} este obligatoriu,
+{0} is mandatory for Item {1},{0} este obligatoriu pentru articolul {1},
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} este obligatoriu. Este posibil ca înregistrarea schimbului valutar nu este creată pentru {1} până la {2}.,
+{0} is not a stock Item,{0} nu este un articol de stoc,
+{0} is not a valid Batch Number for Item {1},{0} nu este un număr de lot valid aferent articolului {1},
+{0} is not added in the table,{0} nu este adăugat în tabel,
+{0} is not in Optional Holiday List,{0} nu este în lista de sărbători opționale,
+{0} is not in a valid Payroll Period,{0} nu este într-o Perioadă de Salarizare validă,
+{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} este acum anul fiscal implicit. Vă rugăm să reîmprospătați browser-ul dvs. pentru ca modificarea să aibă efect.,
+{0} is on hold till {1},{0} este în așteptare până la {1},
+{0} item found.,{0} element găsit.,
+{0} items found.,{0} articole găsite.,
+{0} items in progress,{0} elemente în curs,
+{0} items produced,{0} articole produse,
+{0} must appear only once,{0} trebuie să apară doar o singură dată,
+{0} must be negative in return document,{0} trebuie să fie negativ în documentul de retur,
+{0} must be submitted,{0} trebuie transmis,
+{0} not allowed to transact with {1}. Please change the Company.,{0} nu este permis să efectueze tranzacții cu {1}. Vă rugăm să schimbați compania selectată.,
+{0} not found for item {1},{0} nu a fost găsit pentru articolul {1},
+{0} parameter is invalid,Parametrul {0} este nevalid,
+{0} payment entries can not be filtered by {1},{0} înregistrări de plată nu pot fi filtrate de {1},
+{0} should be a value between 0 and 100,{0} ar trebui să fie o valoare cuprinsă între 0 și 100,
+{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} unități de [{1}] (# Forma / Postul / {1}) găsit în [{2}] (# Forma / Depozit / {2}),
+{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} unități de {1} necesare în {2} pe {3} {4} pentru {5} pentru a finaliza această tranzacție.,
+{0} units of {1} needed in {2} to complete this transaction.,{0} unități de {1} necesare în {2} pentru a finaliza această tranzacție.,
+{0} valid serial nos for Item {1},{0} numere de serie valabile pentru articolul {1},
+{0} variants created.,{0} variante create.,
+{0} {1} created,{0} {1} creat,
+{0} {1} does not exist,{0} {1} nu există,
+{0} {1} has been modified. Please refresh.,{0} {1} a fost modificat. Vă rugăm să reîmprospătați.,
+{0} {1} has not been submitted so the action cannot be completed,"{0} {1} nu a fost transmis, astfel încât acțiunea nu poate fi finalizată",
+"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} este asociat cu {2}, dar contul de partid este {3}",
+{0} {1} is cancelled or closed,{0} {1} este anulat sau închis,
+{0} {1} is cancelled or stopped,{0} {1} este anulată sau oprită,
+{0} {1} is cancelled so the action cannot be completed,"{0} {1} este anulată, astfel încât acțiunea nu poate fi terminată",
+{0} {1} is closed,{0} {1} este închis,
+{0} {1} is disabled,{0} {1} este dezactivat,
+{0} {1} is frozen,{0} {1} este blocat,
+{0} {1} is fully billed,{0} {1} este complet facturat,
+{0} {1} is not active,{0} {1} nu este activ,
+{0} {1} is not associated with {2} {3},{0} {1} nu este asociat cu {2} {3},
+{0} {1} is not present in the parent company,{0} {1} nu este prezentă în compania mamă,
+{0} {1} is not submitted,{0} {1} nu este introdus,
+{0} {1} is {2},{0} {1} este {2},
+{0} {1} must be submitted,{0} {1} trebuie să fie introdus,
+{0} {1} not in any active Fiscal Year.,{0} {1} nu se gaseste in niciun an fiscal activ.,
+{0} {1} status is {2},{0} {1} statusul este {2},
+{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,{0} {1}: &quot;profit și pierdere&quot; cont de tip {2} nu este permisă în orificiul de intrare,
+{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Cont {2} nu aparține Companiei {3},
+{0} {1}: Account {2} is inactive,{0} {1}: Cont {2} este inactiv,
+{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Intrarea contabila {2} poate fi făcută numai în moneda: {3},
+{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: 아이템 {2} 는 Cost Center가  필수임,
+{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,{0} {1}: Centru de cost este necesară pentru &quot;profit și pierdere&quot; cont de {2}. Vă rugăm să configurați un centru de cost implicit pentru companie.,
+{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: Cost Center {2} nu aparține Companiei {3},
+{0} {1}: Customer is required against Receivable account {2},{0} {1}: Clientul este necesară împotriva contului Receivable {2},
+{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Fie valoarea creditului de debit sau creditul sunt necesare pentru {2},
+{0} {1}: Supplier is required against Payable account {2},{0} {1}: Furnizorul este necesar pentru Contul de plăți {2},
+{0}% Billed,{0}% facturat,
+{0}% Delivered,{0}% livrat,
+"{0}: Employee email not found, hence email not sent","{0}: E-mail-ul angajatului nu a fost găsit, prin urmare, nu a fost trimis mail",
+{0}: From {0} of type {1},{0}: de la {0} de tipul {1},
+{0}: From {1},{0}: De la {1},
+{0}: {1} does not exists,{0}: {1} nu există,
+{0}: {1} not found in Invoice Details table,{0}: {1} nu a fost găsit în tabelul Detalii factură,
+{} of {},{} de {},
+Assigned To,Atribuit pentru,
+Chat,Chat,
+Completed By,Completat De,
+Conditions,Condiții,
+County,județ,
+Day of Week,Zi a săptămânii,
+"Dear System Manager,","Dragă System Manager,",
+Default Value,Valoare implicită,
+Email Group,E-mail grup,
+Email Settings,Setări e-mail,
+Email not sent to {0} (unsubscribed / disabled),Nu e-mail trimis la {0} (nesubscrise / dezactivat),
+Error Message,Mesaj de eroare,
+Fieldtype,Tip câmp,
+Help Articles,Articole de ajutor,
+ID,ID-ul,
+Images,Imagini,
+Import,Importarea,
+Language,Limba,
+Likes,Au apreciat,
+Merge with existing,Merge cu existente,
+Office,Birou,
+Orientation,Orientare,
+Parent,Mamă,
+Passive,Pasiv,
+Payment Failed,Plata esuata,
+Percent,La sută,
+Permanent,Permanent,
+Personal,Trader,
+Plant,Instalarea,
+Post,Publică,
+Postal,Poștal,
+Postal Code,Cod poștal,
+Previous,Precedenta,
+Provider,Furnizor de,
+Read Only,Doar Citire,
+Recipient,Destinatar,
+Reviews,opinii,
+Sender,Expeditor,
+Shop,Magazin,
+Subsidiary,Filială,
+There is some problem with the file url: {0},Există unele probleme cu URL-ul fișierului: {0},
+There were errors while sending email. Please try again.,Au fost erori în timp ce trimiterea de e-mail. Încercaţi din nou.,
+Values Changed,valori schimbată,
+or,sau,
+Ageing Range 4,Intervalul de îmbătrânire 4,
+Allocated amount cannot be greater than unadjusted amount,Suma alocată nu poate fi mai mare decât suma nejustificată,
+Allocated amount cannot be negative,Suma alocată nu poate fi negativă,
+"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Contul de diferență trebuie să fie un cont de tip Active / Răspundere, deoarece această intrare de stoc este o intrare de deschidere",
+Error in some rows,Eroare în unele rânduri,
+Import Successful,Import de succes,
+Please save first,Vă rugăm să salvați mai întâi,
+Price not found for item {0} in price list {1},Preț care nu a fost găsit pentru articolul {0} din lista de prețuri {1},
+Warehouse Type,Tip depozit,
+'Date' is required,„Data” este necesară,
+Benefit,Beneficiu,
+Budgets,Bugete,
+Bundle Qty,Cantitate de pachet,
+Company GSTIN,Compania GSTIN,
+Company field is required,Câmpul companiei este obligatoriu,
+Creating Dimensions...,Crearea dimensiunilor ...,
+Duplicate entry against the item code {0} and manufacturer {1},Duplică intrarea în codul articolului {0} și producătorul {1},
+Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,GSTIN nevalid! Intrarea introdusă nu se potrivește cu formatul GSTIN pentru deținătorii de UIN sau furnizorii de servicii OIDAR nerezidenți,
+Invoice Grand Total,Total factură mare,
+Last carbon check date cannot be a future date,Ultima dată de verificare a carbonului nu poate fi o dată viitoare,
+Make Stock Entry,Faceți intrarea în stoc,
+Quality Feedback,Feedback de calitate,
+Quality Feedback Template,Șablon de feedback de calitate,
+Rules for applying different promotional schemes.,Reguli pentru aplicarea diferitelor scheme promoționale.,
+Shift,Schimb,
+Show {0},Afișați {0},
+"Special Characters except '-', '#', '.', '/', '{{' and '}}' not allowed in naming series {0}","Caractere speciale, cu excepția &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{{&quot; Și &quot;}}&quot; nu sunt permise în numirea seriei {0}",
+Target Details,Detalii despre țintă,
+{0} already has a Parent Procedure {1}.,{0} are deja o procedură părinte {1}.,
+API,API-ul,
+Annual,Anual,
+Approved,Aprobat,
+Change,Schimbă,
+Contact Email,Email Persoana de Contact,
+Export Type,Tipul de export,
+From Date,Din data,
+Group By,A se grupa cu,
+Importing {0} of {1},Importarea {0} din {1},
+Invalid URL,URL invalid,
+Landscape,Peisaj,
+Last Sync On,Ultima sincronizare activată,
+Naming Series,Naming Series,
+No data to export,Nu există date de exportat,
+Portrait,Portret,
+Print Heading,Imprimare Titlu,
+Scheduler Inactive,Planificator inactiv,
+Scheduler is inactive. Cannot import data.,Planificatorul este inactiv. Nu se pot importa date.,
+Show Document,Afișează documentul,
+Show Traceback,Afișare Traceback,
+Video,Video,
+Webhook Secret,Secret Webhook,
+% Of Grand Total,% Din totalul mare,
+'employee_field_value' and 'timestamp' are required.,„angajat_field_value” și „timestamp” sunt obligatorii.,
+<b>Company</b> is a mandatory filter.,<b>Compania</b> este un filtru obligatoriu.,
+<b>From Date</b> is a mandatory filter.,<b>De la Date</b> este un filtru obligatoriu.,
+<b>From Time</b> cannot be later than <b>To Time</b> for {0},<b>From Time</b> nu poate fi mai târziu decât <b>To Time</b> pentru {0},
+<b>To Date</b> is a mandatory filter.,<b>Până în prezent</b> este un filtru obligatoriu.,
+A new appointment has been created for you with {0},O nouă programare a fost creată pentru dvs. cu {0},
+Account Value,Valoarea contului,
+Account is mandatory to get payment entries,Contul este obligatoriu pentru a obține înregistrări de plată,
+Account is not set for the dashboard chart {0},Contul nu este setat pentru graficul de bord {0},
+Account {0} does not belong to company {1},Contul {0} nu aparține companiei {1},
+Account {0} does not exists in the dashboard chart {1},Contul {0} nu există în graficul de bord {1},
+Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Cont: <b>{0}</b> este capital de lucru în desfășurare și nu poate fi actualizat de jurnalul de intrare,
+Account: {0} is not permitted under Payment Entry,Cont: {0} nu este permis în baza intrării de plată,
+Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,Dimensiunea contabilității <b>{0}</b> este necesară pentru contul „bilanț” {1}.,
+Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,Dimensiunea contabilității <b>{0}</b> este necesară pentru contul „Profit și pierdere” {1}.,
+Accounting Masters,Maeștri contabili,
+Accounting Period overlaps with {0},Perioada de contabilitate se suprapune cu {0},
+Activity,Activitate,
+Add / Manage Email Accounts.,Adăugați / gestionați conturi de e-mail.,
+Add Child,Adăugă Copil,
+Add Loan Security,Adăugați securitatea împrumutului,
+Add Multiple,Adăugați mai multe,
+Add Participants,Adăugă Participanți,
+Add to Featured Item,Adăugați la elementele prezentate,
+Add your review,Adăugați-vă recenzia,
+Add/Edit Coupon Conditions,Adăugați / Editați Condițiile cuponului,
+Added to Featured Items,Adăugat la Elementele prezentate,
+Added {0} ({1}),Adăugat {0} ({1}),
+Address Line 1,Adresă Linie 1,
+Addresses,Adrese,
+Admission End Date should be greater than Admission Start Date.,Data de încheiere a admisiei ar trebui să fie mai mare decât data de începere a admiterii.,
+Against Loan,Contra împrumutului,
+Against Loan:,Împrumut contra,
+All,Toate,
+All bank transactions have been created,Toate tranzacțiile bancare au fost create,
+All the depreciations has been booked,Toate amortizările au fost înregistrate,
+Allocation Expired!,Alocare expirată!,
+Allow Resetting Service Level Agreement from Support Settings.,Permiteți resetarea acordului de nivel de serviciu din setările de asistență,
+Amount of {0} is required for Loan closure,Suma de {0} este necesară pentru închiderea împrumutului,
+Amount paid cannot be zero,Suma plătită nu poate fi zero,
+Applied Coupon Code,Codul cuponului aplicat,
+Apply Coupon Code,Aplicați codul promoțional,
+Appointment Booking,Rezervare rezervare,
+"As there are existing transactions against item {0}, you can not change the value of {1}","Deoarece există tranzacții existente la postul {0}, nu puteți modifica valoarea {1}",
+Asset Id,ID material,
+Asset Value,Valoarea activului,
+Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,Reglarea valorii activelor nu poate fi înregistrată înainte de data achiziției activelor <b>{0}</b> .,
+Asset {0} does not belongs to the custodian {1},Activul {0} nu aparține custodului {1},
+Asset {0} does not belongs to the location {1},Activele {0} nu aparțin locației {1},
+At least one of the Applicable Modules should be selected,Trebuie selectat cel puțin unul dintre modulele aplicabile,
+Atleast one asset has to be selected.,Cel puțin un activ trebuie să fie selectat.,
+Attendance Marked,Prezentare marcată,
+Attendance has been marked as per employee check-ins,Participarea a fost marcată conform check-in-urilor angajaților,
+Authentication Failed,Autentificare esuata,
+Automatic Reconciliation,Reconciliere automată,
+Available For Use Date,Disponibil pentru data de utilizare,
+Available Stock,Stoc disponibil,
+"Available quantity is {0}, you need {1}","Cantitatea disponibilă este {0}, aveți nevoie de {1}",
+BOM 1,BOM 1,
+BOM 2,BOM 2,
+BOM Comparison Tool,Instrument de comparare BOM,
+BOM recursion: {0} cannot be child of {1},Recurs recurs BOM: {0} nu poate fi copil de {1},
+BOM recursion: {0} cannot be parent or child of {1},Recurs din BOM: {0} nu poate fi părinte sau copil de {1},
+Back to Home,Înapoi acasă,
+Back to Messages,Înapoi la mesaje,
+Bank Data mapper doesn't exist,Mapper Data Bank nu există,
+Bank Details,Detalii bancare,
+Bank account '{0}' has been synchronized,Contul bancar „{0}” a fost sincronizat,
+Bank account {0} already exists and could not be created again,Contul bancar {0} există deja și nu a mai putut fi creat din nou,
+Bank accounts added,S-au adăugat conturi bancare,
+Batch no is required for batched item {0},Numărul lot nu este necesar pentru articol lot {0},
+Billing Date,Data de facturare,
+Billing Interval Count cannot be less than 1,Numărul de intervale de facturare nu poate fi mai mic de 1,
+Blue,Albastru,
+Book,Carte,
+Book Appointment,Numire carte,
+Brand,Marca,
+Browse,Parcurgere,
+Call Connected,Apel conectat,
+Call Disconnected,Apel deconectat,
+Call Missed,Sună dor,
+Call Summary,Rezumatul apelului,
+Call Summary Saved,Rezumat apel salvat,
+Cancelled,Anulat,
+Cannot Calculate Arrival Time as Driver Address is Missing.,Nu se poate calcula ora de sosire deoarece adresa șoferului lipsește.,
+Cannot Optimize Route as Driver Address is Missing.,Nu se poate optimiza ruta deoarece adresa șoferului lipsește.,
+Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,Nu se poate finaliza sarcina {0} ca sarcină dependentă {1} nu sunt completate / anulate.,
+Cannot create loan until application is approved,Nu se poate crea împrumut până la aprobarea cererii,
+Cannot find a matching Item. Please select some other value for {0}.,Nu pot găsi o potrivire articol. Vă rugăm să selectați o altă valoare pentru {0}.,
+"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Nu se poate depăși pentru articolul {0} din rândul {1} mai mult decât {2}. Pentru a permite supra-facturarea, vă rugăm să setați alocația în Setările conturilor",
+"Capacity Planning Error, planned start time can not be same as end time","Eroare de planificare a capacității, ora de pornire planificată nu poate fi aceeași cu ora finală",
+Categories,Categorii,
+Changes in {0},Modificări în {0},
+Chart,Diagramă,
+Choose a corresponding payment,Alegeți o plată corespunzătoare,
+Click on the link below to verify your email and confirm the appointment,Faceți clic pe linkul de mai jos pentru a vă confirma e-mailul și pentru a confirma programarea,
+Close,Închideți,
+Communication,Comunicare,
+Compact Item Print,Compact Postul de imprimare,
+Company,Compania,
+Company of asset {0} and purchase document {1} doesn't matches.,Compania de activ {0} și documentul de achiziție {1} nu se potrivesc.,
+Compare BOMs for changes in Raw Materials and Operations,Comparați OM-urile pentru modificările materiilor prime și operațiunilor,
+Compare List function takes on list arguments,Comparați funcția Listă ia argumentele listei,
+Complete,Complet,
+Completed,Finalizat,
+Completed Quantity,Cantitate completată,
+Connect your Exotel Account to ERPNext and track call logs,Conectați contul dvs. Exotel la ERPNext și urmăriți jurnalele de apeluri,
+Connect your bank accounts to ERPNext,Conectați-vă conturile bancare la ERPNext,
+Contact Seller,Contacteaza vanzatorul,
+Continue,Continua,
+Cost Center: {0} does not exist,Centrul de costuri: {0} nu există,
+Couldn't Set Service Level Agreement {0}.,Nu s-a putut stabili acordul de nivel de serviciu {0}.,
+Country,Ţară,
+Country Code in File does not match with country code set up in the system,Codul de țară din fișier nu se potrivește cu codul de țară configurat în sistem,
+Create New Contact,Creați un nou contact,
+Create New Lead,Creați noul plumb,
+Create Pick List,Creați lista de alegeri,
+Create Quality Inspection for Item {0},Creați inspecție de calitate pentru articol {0},
+Creating Accounts...,Crearea de conturi ...,
+Creating bank entries...,Crearea intrărilor bancare ...,
+Credit limit is already defined for the Company {0},Limita de credit este deja definită pentru companie {0},
+Ctrl + Enter to submit,Ctrl + Enter pentru a trimite,
+Ctrl+Enter to submit,Ctrl + Enter pentru a trimite,
+Currency,Valută,
+Current Status,Starea curentă a armatei,
+Customer PO,PO de client,
+Customize,Personalizeaza,
+Daily,Zilnic,
+Date,Dată,
+Date Range,Interval de date,
+Date of Birth cannot be greater than Joining Date.,Data nașterii nu poate fi mai mare decât data de aderare.,
+Dear,Dragă,
+Default,Implicit,
+Define coupon codes.,Definiți codurile cuponului.,
+Delayed Days,Zile amânate,
+Delete,Șterge,
+Delivered Quantity,Cantitate livrată,
+Delivery Notes,Note de livrare,
+Depreciated Amount,Suma depreciată,
+Description,Descriere,
+Designation,Destinatie,
+Difference Value,Valoarea diferenței,
+Dimension Filter,Filtrul de dimensiuni,
+Disabled,Dezactivat,
+Disbursement and Repayment,Plată și rambursare,
+Distance cannot be greater than 4000 kms,Distanța nu poate fi mai mare de 4000 km,
+Do you want to submit the material request,Doriți să trimiteți solicitarea materialului,
+Doctype,doctype,
+Document {0} successfully uncleared,Documentul {0} nu a fost clar necunoscut,
+Download Template,Descărcați Sablon,
+Dr,Dr,
+Due Date,Data Limita,
+Duplicate,Duplicat,
+Duplicate Project with Tasks,Duplică proiect cu sarcini,
+Duplicate project has been created,Proiectul duplicat a fost creat,
+E-Way Bill JSON can only be generated from a submitted document,e-Way Bill JSON poate fi generat numai dintr-un document trimis,
+E-Way Bill JSON can only be generated from submitted document,E-Way Bill JSON poate fi generat numai din documentul trimis,
+E-Way Bill JSON cannot be generated for Sales Return as of now,E-Way Bill JSON nu poate fi generat pentru Returnarea vânzărilor de acum,
+ERPNext could not find any matching payment entry,ERPNext nu a găsit nicio intrare de plată potrivită,
+Earliest Age,Cea mai timpurie vârstă,
+Edit Details,Editează detaliile,
+Edit Profile,Editează profilul,
+Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,"Fie ID-ul transportatorului GST, fie numărul vehiculului nu este necesar dacă modul de transport este rutier",
+Email,E-mail,
+Email Campaigns,Campanii prin e-mail,
+Employee ID is linked with another instructor,ID-ul angajaților este legat de un alt instructor,
+Employee Tax and Benefits,Impozitul și beneficiile angajaților,
+Employee is required while issuing Asset {0},Angajatul este necesar la emiterea de activ {0},
+Employee {0} does not belongs to the company {1},Angajatul {0} nu aparține companiei {1},
+Enable Auto Re-Order,Activați re-comanda automată,
+End Date of Agreement can't be less than today.,Data de încheiere a acordului nu poate fi mai mică decât astăzi.,
+End Time,End Time,
+Energy Point Leaderboard,Tabloul de bord al punctelor energetice,
+Enter API key in Google Settings.,Introduceți cheia API în Setări Google.,
+Enter Supplier,Introduceți furnizorul,
+Enter Value,Introduceți valoarea,
+Entity Type,Tip de entitate,
+Error,Eroare,
+Error in Exotel incoming call,Eroare în apelul primit la Exotel,
+Error: {0} is mandatory field,Eroare: {0} este câmp obligatoriu,
+Event Link,Link de eveniment,
+Exception occurred while reconciling {0},Excepție a avut loc în timp ce s-a reconciliat {0},
+Expected and Discharge dates cannot be less than Admission Schedule date,Datele preconizate și descărcarea de gestiune nu pot fi mai mici decât Data planificării de admitere,
+Expire Allocation,Expirați alocarea,
+Expired,Expirat,
+Export,Exportă,
+Export not allowed. You need {0} role to export.,Export nu este permisă. Ai nevoie de {0} rolul de a exporta.,
+Failed to add Domain,Nu a putut adăuga Domeniul,
+Fetch Items from Warehouse,Obține obiecte de la Depozit,
+Fetching...,... Fetching,
+Field,Camp,
+File Manager,Manager de fișiere,
+Filters,Filtre,
+Finding linked payments,Găsirea plăților legate,
+Fleet Management,Conducerea flotei,
+Following fields are mandatory to create address:,Următoarele câmpuri sunt obligatorii pentru a crea adresa:,
+For Month,Pentru luna,
+"For item {0} at row {1}, count of serial numbers does not match with the picked quantity","Pentru articolul {0} din rândul {1}, numărul de serii nu se potrivește cu cantitatea aleasă",
+For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Pentru operare {0}: cantitatea ({1}) nu poate fi mai mare decât cantitatea în curs ({2}),
+For quantity {0} should not be greater than work order quantity {1},Pentru cantitatea {0} nu trebuie să fie mai mare decât cantitatea de comandă de lucru {1},
+Free item not set in the pricing rule {0},Element gratuit care nu este setat în regula prețurilor {0},
+From Date and To Date are Mandatory,De la data și până la data sunt obligatorii,
+From employee is required while receiving Asset {0} to a target location,De la angajat este necesar în timp ce primiți Active {0} către o locație țintă,
+Fuel Expense,Cheltuieli de combustibil,
+Future Payment Amount,Suma viitoare de plată,
+Future Payment Ref,Plată viitoare Ref,
+Future Payments,Plăți viitoare,
+GST HSN Code does not exist for one or more items,Codul GST HSN nu există pentru unul sau mai multe articole,
+Generate E-Way Bill JSON,Generați JSON Bill e-Way,
+Get Items,Obtine Articole,
+Get Outstanding Documents,Obțineți documente de excepție,
+Goal,Obiectiv,
+Greater Than Amount,Mai mare decât suma,
+Green,Verde,
+Group,Grup,
+Group By Customer,Grup după client,
+Group By Supplier,Grup după furnizor,
+Group Node,Nod Group,
+Group Warehouses cannot be used in transactions. Please change the value of {0},Depozitele de grup nu pot fi utilizate în tranzacții. Vă rugăm să schimbați valoarea {0},
+Help,Ajutor,
+Help Article,articol de ajutor,
+"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Te ajută să ții evidența contractelor bazate pe furnizor, client și angajat",
+Helps you manage appointments with your leads,Vă ajută să gestionați programările cu clienții dvs.,
+Home,Acasă,
+IBAN is not valid,IBAN nu este valid,
+Import Data from CSV / Excel files.,Importați date din fișiere CSV / Excel.,
+In Progress,In progres,
+Incoming call from {0},Apel primit de la {0},
+Incorrect Warehouse,Depozit incorect,
+Intermediate,Intermediar,
+Invalid Barcode. There is no Item attached to this barcode.,Cod de bare nevalid. Nu există niciun articol atașat acestui cod de bare.,
+Invalid credentials,Credențe nevalide,
+Invite as User,Invitați ca utilizator,
+Issue Priority.,Prioritate de emisiune.,
+Issue Type.,Tipul problemei.,
+"It seems that there is an issue with the server's stripe configuration. In case of failure, the amount will get refunded to your account.","Se pare că există o problemă cu configurația benzii serverului. În caz de eșec, suma va fi rambursată în cont.",
+Item Reported,Articol raportat,
+Item listing removed,Elementul de articol a fost eliminat,
+Item quantity can not be zero,Cantitatea articolului nu poate fi zero,
+Item taxes updated,Impozitele pe articol au fost actualizate,
+Item {0}: {1} qty produced. ,Articol {0}: {1} cantitate produsă.,
+Joining Date can not be greater than Leaving Date,Data de înscriere nu poate fi mai mare decât Data de plecare,
+Lab Test Item {0} already exist,Elementul testului de laborator {0} există deja,
+Last Issue,Ultima problemă,
+Latest Age,Etapă tarzie,
+Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,Cererea de concediu este legată de alocațiile de concediu {0}. Cererea de concediu nu poate fi stabilită ca concediu fără plată,
+Leaves Taken,Frunze luate,
+Less Than Amount,Mai puțin decât suma,
+Liabilities,pasive,
+Loading...,Se încarcă...,
+Loan Amount exceeds maximum loan amount of {0} as per proposed securities,Suma împrumutului depășește valoarea maximă a împrumutului de {0} conform valorilor mobiliare propuse,
+Loan Applications from customers and employees.,Aplicații de împrumut de la clienți și angajați.,
+Loan Disbursement,Decontarea împrumutului,
+Loan Processes,Procese de împrumut,
+Loan Security,Securitatea împrumutului,
+Loan Security Pledge,Gaj de securitate pentru împrumuturi,
+Loan Security Pledge Created : {0},Creditul de securitate al împrumutului creat: {0},
+Loan Security Price,Prețul securității împrumutului,
+Loan Security Price overlapping with {0},Prețul securității împrumutului care se suprapune cu {0},
+Loan Security Unpledge,Unplingge de securitate a împrumutului,
+Loan Security Value,Valoarea securității împrumutului,
+Loan Type for interest and penalty rates,Tip de împrumut pentru dobânzi și rate de penalizare,
+Loan amount cannot be greater than {0},Valoarea împrumutului nu poate fi mai mare de {0},
+Loan is mandatory,Împrumutul este obligatoriu,
+Loans,Credite,
+Loans provided to customers and employees.,Împrumuturi acordate clienților și angajaților.,
+Location,Închiriere,
+Log Type is required for check-ins falling in the shift: {0}.,Tipul de jurnal este necesar pentru check-in-urile care intră în schimb: {0}.,
+Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Se pare că cineva te-a trimis la o adresă URL incompletă. Vă rugăm să cereți-le să se uite în ea.,
+Make Journal Entry,Asigurați Jurnal intrare,
+Make Purchase Invoice,Realizeaza Factura de Cumparare,
+Manufactured,Fabricat,
+Mark Work From Home,Marcați munca de acasă,
+Master,Master,
+Max strength cannot be less than zero.,Rezistența maximă nu poate fi mai mică de zero.,
+Maximum attempts for this quiz reached!,Încercări maxime pentru acest test au fost atinse!,
+Message,Mesaj,
+Missing Values Required,Valorile lipsă necesare,
+Mobile No,Numar de mobil,
+Mobile Number,Numar de mobil,
+Month,Lună,
+Name,Nume,
+Near you,Lângă tine,
+Net Profit/Loss,Profit / Pierdere Netă,
+New Expense,Cheltuieli noi,
+New Invoice,Factură nouă,
+New Payment,Nouă plată,
+New release date should be in the future,Noua dată a lansării ar trebui să fie în viitor,
+Newsletter,Newsletter,
+No Account matched these filters: {},Niciun cont nu se potrivește cu aceste filtre: {},
+No Employee found for the given employee field value. '{}': {},Nu a fost găsit niciun angajat pentru valoarea câmpului dat. &#39;{}&#39;: {},
+No Leaves Allocated to Employee: {0} for Leave Type: {1},Fără frunze alocate angajaților: {0} pentru tipul de concediu: {1},
+No communication found.,Nu a fost găsită nicio comunicare.,
+No correct answer is set for {0},Nu este setat un răspuns corect pentru {0},
+No description,fără descriere,
+No issue has been raised by the caller.,Apelantul nu a pus nicio problemă.,
+No items to publish,Nu există articole de publicat,
+No outstanding invoices found,Nu s-au găsit facturi restante,
+No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,Nu s-au găsit facturi restante pentru {0} {1} care califică filtrele pe care le-ați specificat.,
+No outstanding invoices require exchange rate revaluation,Fără facturi restante nu necesită reevaluarea cursului de schimb,
+No reviews yet,Niciun comentariu încă,
+No views yet,Nu există încă vizionări,
+Non stock items,Articole care nu sunt pe stoc,
+Not Allowed,Nu permise,
+Not allowed to create accounting dimension for {0},Nu este permisă crearea unei dimensiuni contabile pentru {0},
+Not permitted. Please disable the Lab Test Template,Nu sunt acceptate. Vă rugăm să dezactivați șablonul de testare,
+Note,Notă,
+Notes: ,Observații:,
+On Converting Opportunity,La convertirea oportunității,
+On Purchase Order Submission,La trimiterea comenzii de cumpărare,
+On Sales Order Submission,La trimiterea comenzii de vânzare,
+On Task Completion,La finalizarea sarcinii,
+On {0} Creation,La {0} Creație,
+Only .csv and .xlsx files are supported currently,"În prezent, numai fișierele .csv și .xlsx sunt acceptate",
+Only expired allocation can be cancelled,Numai alocarea expirată poate fi anulată,
+Only users with the {0} role can create backdated leave applications,Doar utilizatorii cu rolul {0} pot crea aplicații de concediu retardate,
+Open,Deschide,
+Open Contact,Deschideți contactul,
+Open Lead,Deschideți plumb,
+Opening and Closing,Deschiderea și închiderea,
+Operating Cost as per Work Order / BOM,Costul de operare conform ordinului de lucru / BOM,
+Order Amount,Cantitatea comenzii,
+Page {0} of {1},Pagină {0} din {1},
+Paid amount cannot be less than {0},Suma plătită nu poate fi mai mică de {0},
+Parent Company must be a group company,Compania-mamă trebuie să fie o companie de grup,
+Passing Score value should be between 0 and 100,Valoarea punctajului de trecere ar trebui să fie între 0 și 100,
+Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,Politica de parolă nu poate conține spații sau cratime simultane. Formatul va fi restructurat automat,
+Patient History,Istoricul pacientului,
+Pause,Pauză,
+Pay,Plăti,
+Payment Document Type,Tip de document de plată,
+Payment Name,Numele de plată,
+Penalty Amount,Suma pedepsei,
+Pending,În așteptarea,
+Performance,Performanţă,
+Period based On,Perioada bazată pe,
+Perpetual inventory required for the company {0} to view this report.,Inventar perpetuu necesar companiei {0} pentru a vedea acest raport.,
+Phone,Telefon,
+Pick List,Lista de alegeri,
+Plaid authentication error,Eroare de autentificare plaidă,
+Plaid public token error,Eroare a simbolului public cu plaid,
+Plaid transactions sync error,Eroare de sincronizare a tranzacțiilor plasate,
+Please check the error log for details about the import errors,Verificați jurnalul de erori pentru detalii despre erorile de import,
+Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Vă rugăm să creați <b>DATEV Setări</b> pentru companie <b>{}</b> .,
+Please create adjustment Journal Entry for amount {0} ,Vă rugăm să creați ajustarea Intrare în jurnal pentru suma {0},
+Please do not create more than 500 items at a time,Vă rugăm să nu creați mai mult de 500 de articole simultan,
+Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Vă rugăm să introduceți <b>contul de diferență</b> sau să setați <b>contul de ajustare a stocului</b> implicit pentru compania {0},
+Please enter GSTIN and state for the Company Address {0},Vă rugăm să introduceți GSTIN și să indicați adresa companiei {0},
+Please enter Item Code to get item taxes,Vă rugăm să introduceți Codul articolului pentru a obține impozite pe articol,
+Please enter Warehouse and Date,Vă rugăm să introduceți Depozitul și data,
+Please enter the designation,Vă rugăm să introduceți desemnarea,
+Please login as a Marketplace User to edit this item.,Vă rugăm să vă autentificați ca utilizator de piață pentru a edita acest articol.,
+Please login as a Marketplace User to report this item.,Vă rugăm să vă autentificați ca utilizator de piață pentru a raporta acest articol.,
+Please select <b>Template Type</b> to download template,Vă rugăm să selectați <b>Tip de șablon</b> pentru a descărca șablonul,
+Please select Applicant Type first,Vă rugăm să selectați mai întâi tipul de solicitant,
+Please select Customer first,Vă rugăm să selectați Clientul mai întâi,
+Please select Item Code first,Vă rugăm să selectați mai întâi Codul articolului,
+Please select Loan Type for company {0},Vă rugăm să selectați Tip de împrumut pentru companie {0},
+Please select a Delivery Note,Vă rugăm să selectați o notă de livrare,
+Please select a Sales Person for item: {0},Vă rugăm să selectați o persoană de vânzări pentru articol: {0},
+Please select another payment method. Stripe does not support transactions in currency '{0}',Selectați o altă metodă de plată. Stripe nu acceptă tranzacțiile în valută &quot;{0}&quot;,
+Please select the customer.,Vă rugăm să selectați clientul.,
+Please set a Supplier against the Items to be considered in the Purchase Order.,Vă rugăm să setați un furnizor împotriva articolelor care trebuie luate în considerare în comanda de achiziție.,
+Please set account heads in GST Settings for Compnay {0},Vă rugăm să setați capetele de cont în Setările GST pentru Compnay {0},
+Please set an email id for the Lead {0},Vă rugăm să setați un cod de e-mail pentru Lead {0},
+Please set default UOM in Stock Settings,Vă rugăm să setați UOM implicit în Setări stoc,
+Please set filter based on Item or Warehouse due to a large amount of entries.,Vă rugăm să setați filtrul în funcție de articol sau depozit datorită unei cantități mari de înregistrări.,
+Please set up the Campaign Schedule in the Campaign {0},Vă rugăm să configurați Planificarea Campaniei în Campania {0},
+Please set valid GSTIN No. in Company Address for company {0},Vă rugăm să setați numărul GSTIN valid în adresa companiei pentru compania {0},
+Please set {0},Vă rugăm să setați {0},customer
+Please setup a default bank account for company {0},Vă rugăm să configurați un cont bancar implicit pentru companie {0},
+Please specify,Vă rugăm să specificați,
+Please specify a {0},Vă rugăm să specificați un {0},lead
+Pledge Status,Starea gajului,
+Pledge Time,Timp de gaj,
+Printing,Tipărire,
+Priority,Prioritate,
+Priority has been changed to {0}.,Prioritatea a fost modificată la {0}.,
+Priority {0} has been repeated.,Prioritatea {0} a fost repetată.,
+Processing XML Files,Procesarea fișierelor XML,
+Profitability,Rentabilitatea,
+Project,Proiect,
+Proposed Pledges are mandatory for secured Loans,Promisiunile propuse sunt obligatorii pentru împrumuturile garantate,
+Provide the academic year and set the starting and ending date.,Furnizați anul universitar și stabiliți data de început și de încheiere.,
+Public token is missing for this bank,Jurnalul public lipsește pentru această bancă,
+Publish,Publica,
+Publish 1 Item,Publicați 1 articol,
+Publish Items,Publica articole,
+Publish More Items,Publicați mai multe articole,
+Publish Your First Items,Publicați primele dvs. articole,
+Publish {0} Items,Publicați {0} articole,
+Published Items,Articole publicate,
+Purchase Invoice cannot be made against an existing asset {0},Factura de cumpărare nu poate fi făcută cu un activ existent {0},
+Purchase Invoices,Facturi de cumpărare,
+Purchase Orders,Ordine de achiziție,
+Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,Încasarea de cumpărare nu are niciun articol pentru care este activat eșantionul de păstrare.,
+Purchase Return,Înapoi cumpărare,
+Qty of Finished Goods Item,Cantitatea articolului de produse finite,
+Qty or Amount is mandatroy for loan security,Cantitatea sau suma este mandatroy pentru securitatea împrumutului,
+Quality Inspection required for Item {0} to submit,Inspecția de calitate necesară pentru trimiterea articolului {0},
+Quantity to Manufacture,Cantitate de fabricare,
+Quantity to Manufacture can not be zero for the operation {0},Cantitatea de fabricație nu poate fi zero pentru operațiune {0},
+Quarterly,Trimestrial,
+Queued,Coada de așteptare,
+Quick Entry,Intrarea rapidă,
+Quiz {0} does not exist,Chestionarul {0} nu există,
+Quotation Amount,Suma ofertei,
+Rate or Discount is required for the price discount.,Tariful sau Reducerea este necesară pentru reducerea prețului.,
+Reason,Motiv,
+Reconcile Entries,Reconciliați intrările,
+Reconcile this account,Reconciliați acest cont,
+Reconciled,reconciliat,
+Recruitment,Recrutare,
+Red,Roșu,
+Refreshing,Împrospătare,
+Release date must be in the future,Data lansării trebuie să fie în viitor,
+Relieving Date must be greater than or equal to Date of Joining,Data scutirii trebuie să fie mai mare sau egală cu data aderării,
+Rename,Redenumire,
+Rename Not Allowed,Redenumirea nu este permisă,
+Repayment Method is mandatory for term loans,Metoda de rambursare este obligatorie pentru împrumuturile la termen,
+Repayment Start Date is mandatory for term loans,Data de începere a rambursării este obligatorie pentru împrumuturile la termen,
+Report Item,Raport articol,
+Report this Item,Raportați acest articol,
+Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Cantitate rezervată pentru subcontract: cantitate de materii prime pentru a face obiecte subcontractate.,
+Reset,Resetează,
+Reset Service Level Agreement,Resetați Acordul privind nivelul serviciilor,
+Resetting Service Level Agreement.,Resetarea Acordului privind nivelul serviciilor.,
+Return amount cannot be greater unclaimed amount,Suma returnată nu poate fi o sumă nereclamată mai mare,
+Review,Revizuire,
+Room,Cameră,
+Room Type,Tip Cameră,
+Row # ,Rând #,
+Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Rândul # {0}: depozitul acceptat și depozitul furnizorului nu pot fi aceleași,
+Row #{0}: Cannot delete item {1} which has already been billed.,Rândul # {0}: Nu se poate șterge elementul {1} care a fost deja facturat.,
+Row #{0}: Cannot delete item {1} which has already been delivered,Rândul # {0}: Nu se poate șterge articolul {1} care a fost deja livrat,
+Row #{0}: Cannot delete item {1} which has already been received,Rândul # {0}: Nu se poate șterge elementul {1} care a fost deja primit,
+Row #{0}: Cannot delete item {1} which has work order assigned to it.,Rândul # {0}: Nu se poate șterge elementul {1} care i-a fost atribuită o ordine de lucru.,
+Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,Rândul # {0}: Nu se poate șterge articolul {1} care este atribuit comenzii de cumpărare a clientului.,
+Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Rândul # {0}: Nu se poate selecta Furnizorul în timp ce furnizează materii prime subcontractantului,
+Row #{0}: Cost Center {1} does not belong to company {2},Rândul {{0}: Centrul de costuri {1} nu aparține companiei {2},
+Row #{0}: Operation {1} is not completed for {2} qty of finished goods in Work Order {3}. Please update operation status via Job Card {4}.,Rândul # {0}: Operația {1} nu este finalizată pentru {2} cantitate de mărfuri finite în Ordinul de lucru {3}. Vă rugăm să actualizați starea operației prin intermediul cărții de lucru {4}.,
+Row #{0}: Payment document is required to complete the transaction,Rândul # {0}: documentul de plată este necesar pentru a finaliza tranzacția,
+Row #{0}: Serial No {1} does not belong to Batch {2},Rândul # {0}: nr. De serie {1} nu aparține lotului {2},
+Row #{0}: Service End Date cannot be before Invoice Posting Date,Rândul # {0}: Data de încheiere a serviciului nu poate fi înainte de Data de înregistrare a facturii,
+Row #{0}: Service Start Date cannot be greater than Service End Date,Rândul # {0}: Data de începere a serviciului nu poate fi mai mare decât Data de încheiere a serviciului,
+Row #{0}: Service Start and End Date is required for deferred accounting,Rândul # {0}: Data de început și de încheiere a serviciului este necesară pentru contabilitate amânată,
+Row {0}: Invalid Item Tax Template for item {1},Rândul {0}: șablonul de impozit pe articol nevalid pentru articolul {1},
+Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Rândul {0}: cantitatea nu este disponibilă pentru {4} în depozit {1} la momentul înregistrării la intrare ({2} {3}),
+Row {0}: user has not applied the rule {1} on the item {2},Rândul {0}: utilizatorul nu a aplicat regula {1} pe articolul {2},
+Row {0}:Sibling Date of Birth cannot be greater than today.,Rândul {0}: Data nașterii în materie nu poate fi mai mare decât astăzi.,
+Row({0}): {1} is already discounted in {2},Rândul ({0}): {1} este deja actualizat în {2},
+Rows Added in {0},Rânduri adăugate în {0},
+Rows Removed in {0},Rândurile eliminate în {0},
+Sanctioned Amount limit crossed for {0} {1},Limita sumei sancționate depășită pentru {0} {1},
+Sanctioned Loan Amount already exists for {0} against company {1},Suma de împrumut sancționat există deja pentru {0} față de compania {1},
+Save,Salvează,
+Save Item,Salvare articol,
+Saved Items,Articole salvate,
+Search Items ...,Caută articole ...,
+Search for a payment,Căutați o plată,
+Search for anything ...,Căutați orice ...,
+Search results for,cauta rezultate pentru,
+Select All,Selectează toate,
+Select Difference Account,Selectați Cont de diferență,
+Select a Default Priority.,Selectați o prioritate implicită.,
+Select a company,Selectați o companie,
+Select finance book for the item {0} at row {1},Selectați cartea de finanțe pentru articolul {0} din rândul {1},
+Select only one Priority as Default.,Selectați doar o prioritate ca implicită.,
+Seller Information,Informatiile vanzatorului,
+Send,Trimiteți,
+Send a message,Trimite un mesaj,
+Sending,Trimitere,
+Sends Mails to lead or contact based on a Campaign schedule,Trimite e-mailuri pentru a conduce sau a contacta pe baza unui program de campanie,
+Serial Number Created,Număr de serie creat,
+Serial Numbers Created,Numere de serie create,
+Serial no(s) required for serialized item {0},Numărul (numerele) de serie necesare pentru articolul serializat {0},
+Series,Serii,
+Server Error,Eroare de server,
+Service Level Agreement has been changed to {0}.,Acordul privind nivelul serviciilor a fost modificat în {0}.,
+Service Level Agreement was reset.,Acordul privind nivelul serviciilor a fost resetat.,
+Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Acordul privind nivelul serviciului cu tipul de entitate {0} și entitatea {1} există deja.,
+Set,Setează,
+Set Meta Tags,Setați etichete meta,
+Set {0} in company {1},Setați {0} în companie {1},
+Setup,Configurare,
+Setup Wizard,Vrăjitor Configurare,
+Shift Management,Managementul schimbării,
+Show Future Payments,Afișați plăți viitoare,
+Show Linked Delivery Notes,Afișare Note de livrare conexe,
+Show Sales Person,Afișați persoana de vânzări,
+Show Stock Ageing Data,Afișează date de îmbătrânire a stocurilor,
+Show Warehouse-wise Stock,Afișați stocul înțelept,
+Size,Dimensiune,
+Something went wrong while evaluating the quiz.,Ceva nu a mers în timp ce evaluați testul.,
+Sr,sr,
+Start,Început(Pornire),
+Start Date cannot be before the current date,Data de început nu poate fi înainte de data curentă,
+Start Time,Ora de începere,
+Status,Status,
+Status must be Cancelled or Completed,Starea trebuie anulată sau completată,
+Stock Balance Report,Raportul soldului stocurilor,
+Stock Entry has been already created against this Pick List,Intrarea pe stoc a fost deja creată pe baza acestei liste de alegeri,
+Stock Ledger ID,ID evidență stoc,
+Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,Valoarea stocului ({0}) și soldul contului ({1}) nu sunt sincronizate pentru contul {2} și sunt depozite legate.,
+Stores - {0},Magazine - {0},
+Student with email {0} does not exist,Studentul cu e-mail {0} nu există,
+Submit Review,Trimite recenzie,
+Submitted,Inscrisa,
+Supplier Addresses And Contacts,Adrese furnizorului și de Contacte,
+Synchronize this account,Sincronizați acest cont,
+Tag,Etichetă,
+Target Location is required while receiving Asset {0} from an employee,Locația țintă este necesară în timp ce primiți activ {0} de la un angajat,
+Target Location is required while transferring Asset {0},Locația țintă este necesară în timpul transferului de active {0},
+Target Location or To Employee is required while receiving Asset {0},Locația țintei sau către angajat este necesară în timp ce primiți activ {0},
+Task's {0} End Date cannot be after Project's End Date.,Data de încheiere a sarcinii {0} nu poate fi după data de încheiere a proiectului.,
+Task's {0} Start Date cannot be after Project's End Date.,Data de început a sarcinii {0} nu poate fi după data de încheiere a proiectului.,
+Tax Account not specified for Shopify Tax {0},Contul fiscal nu este specificat pentru Shopify Tax {0},
+Tax Total,Total impozit,
+Template,Șablon,
+The Campaign '{0}' already exists for the {1} '{2}',Campania „{0}” există deja pentru {1} &#39;{2}&#39;,
+The difference between from time and To Time must be a multiple of Appointment,Diferența dintre timp și To Time trebuie să fie multiplu de numire,
+The field Asset Account cannot be blank,Câmpul Contul de active nu poate fi gol,
+The field Equity/Liability Account cannot be blank,Câmpul Contul de capitaluri proprii / pasiv nu poate fi necompletat,
+The following serial numbers were created: <br><br> {0},Au fost create următoarele numere de serie: <br><br> {0},
+The parent account {0} does not exists in the uploaded template,Contul părinte {0} nu există în șablonul încărcat,
+The question cannot be duplicate,Întrebarea nu poate fi duplicată,
+The selected payment entry should be linked with a creditor bank transaction,Intrarea de plată selectată trebuie să fie legată de o tranzacție bancară cu creditor,
+The selected payment entry should be linked with a debtor bank transaction,Intrarea de plată selectată trebuie să fie legată de o tranzacție bancară cu debitori,
+The total allocated amount ({0}) is greated than the paid amount ({1}).,Suma totală alocată ({0}) este majorată decât suma plătită ({1}).,
+There are no vacancies under staffing plan {0},Nu există locuri vacante conform planului de personal {0},
+This Service Level Agreement is specific to Customer {0},Acest Acord de nivel de serviciu este specific Clientului {0},
+This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,Această acțiune va deconecta acest cont de orice serviciu extern care integrează ERPNext cu conturile dvs. bancare. Nu poate fi anulată. Esti sigur ?,
+This bank account is already synchronized,Acest cont bancar este deja sincronizat,
+This bank transaction is already fully reconciled,Această tranzacție bancară este deja complet reconciliată,
+This employee already has a log with the same timestamp.{0},Acest angajat are deja un jurnal cu aceeași oră de timp. {0},
+This page keeps track of items you want to buy from sellers.,Această pagină ține evidența articolelor pe care doriți să le cumpărați de la vânzători.,
+This page keeps track of your items in which buyers have showed some interest.,Această pagină ține evidența articolelor dvs. pentru care cumpărătorii au arătat interes.,
+Thursday,Joi,
+Timing,Sincronizare,
+Title,Titlu,
+"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","Pentru a permite facturarea excesivă, actualizați „Indemnizație de facturare” în Setări conturi sau element.",
+"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","Pentru a permite primirea / livrarea, actualizați „Indemnizația de primire / livrare” în Setări de stoc sau articol.",
+To date needs to be before from date,Până în prezent trebuie să fie înainte de această dată,
+Total,Total,
+Total Early Exits,Total Ieșiri anticipate,
+Total Late Entries,Total intrări târzii,
+Total Payment Request amount cannot be greater than {0} amount,Suma totală a solicitării de plată nu poate fi mai mare decât {0},
+Total payments amount can't be greater than {},Valoarea totală a plăților nu poate fi mai mare de {},
+Totals,Totaluri,
+Training Event:,Eveniment de formare:,
+Transactions already retreived from the statement,Tranzacțiile au fost retrase din extras,
+Transfer Material to Supplier,Transfer de material la furnizor,
+Transport Receipt No and Date are mandatory for your chosen Mode of Transport,Numărul de recepție și data de transport nu sunt obligatorii pentru modul de transport ales,
+Tuesday,Marți,
+Type,Tip,
+Unable to find Salary Component {0},Imposibil de găsit componentul salariului {0},
+Unable to find the time slot in the next {0} days for the operation {1}.,Nu se poate găsi intervalul orar în următoarele {0} zile pentru operația {1}.,
+Unable to update remote activity,Imposibil de actualizat activitatea de la distanță,
+Unknown Caller,Apelant necunoscut,
+Unlink external integrations,Deconectați integrările externe,
+Unmarked Attendance for days,Participarea nemarcată zile întregi,
+Unpublish Item,Publicarea articolului,
+Unreconciled,nereconciliat,
+Unsupported GST Category for E-Way Bill JSON generation,Categorie GST neacceptată pentru generarea JSON Bill E-Way,
+Update,Actualizare,
+Update Details,Detalii detalii,
+Update Taxes for Items,Actualizați impozitele pentru articole,
+"Upload a bank statement, link or reconcile a bank account","Încărcați un extras bancar, conectați sau reconciliați un cont bancar",
+Upload a statement,Încărcați o declarație,
+Use a name that is different from previous project name,Utilizați un nume diferit de numele proiectului anterior,
+User {0} is disabled,Utilizatorul {0} este dezactivat,
+Users and Permissions,Utilizatori și permisiuni,
+Vacancies cannot be lower than the current openings,Posturile vacante nu pot fi mai mici decât deschiderile actuale,
+Valid From Time must be lesser than Valid Upto Time.,Valid From Time trebuie să fie mai mic decât Valid Upto Time.,
+Valuation Rate required for Item {0} at row {1},Rata de evaluare necesară pentru articolul {0} la rândul {1},
+Values Out Of Sync,Valori ieșite din sincronizare,
+Vehicle Type is required if Mode of Transport is Road,Tip de vehicul este necesar dacă modul de transport este rutier,
+Vendor Name,Numele vânzătorului,
+Verify Email,Verificați e-mail,
+View,Vedere,
+View all issues from {0},Vedeți toate problemele din {0},
+View call log,Vizualizați jurnalul de apeluri,
+Warehouse,Depozit,
+Warehouse not found against the account {0},Depozitul nu a fost găsit în contul {0},
+Welcome to {0},Bine ai venit la {0},
+Why do think this Item should be removed?,De ce credeți că acest articol ar trebui eliminat?,
+Work Order {0}: Job Card not found for the operation {1},Comandă de lucru {0}: cartea de muncă nu a fost găsită pentru operație {1},
+Workday {0} has been repeated.,Ziua lucrătoare {0} a fost repetată.,
+XML Files Processed,Fișiere XML procesate,
+Year,An,
+Yearly,Anual,
+You,Tu,
+You are not allowed to enroll for this course,Nu aveți voie să vă înscrieți la acest curs,
+You are not enrolled in program {0},Nu sunteți înscris în programul {0},
+You can Feature upto 8 items.,Puteți prezenta până la 8 articole.,
+You can also copy-paste this link in your browser,"De asemenea, puteți să copiați-paste această legătură în browser-ul dvs.",
+You can publish upto 200 items.,Puteți publica până la 200 de articole.,
+You have to enable auto re-order in Stock Settings to maintain re-order levels.,Trebuie să activați re-comanda auto în Setări stoc pentru a menține nivelurile de re-comandă.,
+You must be a registered supplier to generate e-Way Bill,Pentru a genera Bill e-Way trebuie să fiți un furnizor înregistrat,
+You need to login as a Marketplace User before you can add any reviews.,Trebuie să vă autentificați ca utilizator de piață înainte de a putea adăuga recenzii.,
+Your Featured Items,Articolele dvs. recomandate,
+Your Items,Articolele dvs.,
+Your Profile,Profilul tau,
+Your rating:,Rating-ul tău:,
+and,și,
+e-Way Bill already exists for this document,e-Way Bill există deja pentru acest document,
+woocommerce - {0},woocommerce - {0},
+{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Cuponul utilizat este {1}. Cantitatea admisă este epuizată,
+{0} Name,{0} Nume,
+{0} Operations: {1},{0} Operații: {1},
+{0} bank transaction(s) created,{0} tranzacțiile bancare create,
+{0} bank transaction(s) created and {1} errors,{0} tranzacțiile bancare create și {1} erori,
+{0} can not be greater than {1},{0} nu poate fi mai mare de {1},
+{0} conversations,{0} conversații,
+{0} is not a company bank account,{0} nu este un cont bancar al companiei,
+{0} is not a group node. Please select a group node as parent cost center,{0} nu este un nod de grup. Vă rugăm să selectați un nod de grup ca centru de costuri parentale,
+{0} is not the default supplier for any items.,{0} nu este furnizorul prestabilit pentru niciun articol.,
+{0} is required,{0} este necesar,
+{0}: {1} must be less than {2},{0}: {1} trebuie să fie mai mic decât {2},
+{} is an invalid Attendance Status.,{} este o stare de prezență nevalidă.,
+{} is required to generate E-Way Bill JSON,{} este necesar pentru a genera Bill JSON E-Way,
+"Invalid lost reason {0}, please create a new lost reason","Motiv pierdut nevalabil {0}, vă rugăm să creați un motiv nou pierdut",
+Profit This Year,Profit anul acesta,
+Total Expense,Cheltuieli totale,
+Total Expense This Year,Cheltuieli totale în acest an,
+Total Income,Venit total,
+Total Income This Year,Venit total în acest an,
+Barcode,coduri de bare,
+Bold,Îndrăzneţ,
+Center,Centru,
+Clear,clar,
+Comment,cometariu,
+Comments,Comentarii,
+DocType,DocType,
+Download,Descarca,
+Left,Stânga,
+Link,Legătură,
+New,Nou,
+Not Found,Nu a fost găsit,
+Print,Imprimare,
+Reference Name,nume de referinta,
+Refresh,Actualizare,
+Success,Succes,
+Time,Timp,
+Value,Valoare,
+Actual,Real,
+Add to Cart,Adăugaţi în Coş,
+Days Since Last Order,Zile de la ultima comandă,
+In Stock,In stoc,
+Loan Amount is mandatory,Suma împrumutului este obligatorie,
+Mode Of Payment,Modul de plată,
+No students Found,Nu au fost găsiți studenți,
+Not in Stock,Nu este în stoc,
+Please select a Customer,Selectați un client,
+Printed On,imprimat pe,
+Received From,Primit de la,
+Sales Person,Persoană de vânzări,
+To date cannot be before From date,Până în prezent nu poate fi înainte de data,
+Write Off,Achita,
+{0} Created,{0} a fost creat,
+Email Id,ID-ul de e-mail,
+No,Nu,
+Reference Doctype,DocType referință,
+User Id,Numele de utilizator,
+Yes,da,
+Actual ,Efectiv,
+Add to cart,Adăugaţi în Coş,
+Budget,Buget,
+Chart of Accounts,Grafic de conturi,
+Customer database.,Baza de date pentru clienți.,
+Days Since Last order,Zile de la ultima comandă,
+Download as JSON,Descărcați ca JSON,
+End date can not be less than start date,Data de Incheiere nu poate fi anterioara Datei de Incepere,
+For Default Supplier (Optional),Pentru furnizor implicit (opțional),
+From date cannot be greater than To date,De la data nu poate fi mai mare decât la data,
+Group by,Grupul De,
+In stock,In stoc,
+Item name,Denumire Articol,
+Loan amount is mandatory,Suma împrumutului este obligatorie,
+Minimum Qty,Cantitatea minimă,
+More details,Mai multe detalii,
+Nature of Supplies,Natura aprovizionării,
+No Items found.,Nu au fost gasite articolele.,
+No employee found,Nu a fost găsit angajat,
+No students found,Nu există elevi găsit,
+Not in stock,Nu este în stoc,
+Not permitted,Nu sunt acceptate,
+Open Issues ,Probleme deschise,
+Open Projects ,Deschide Proiecte,
+Open To Do ,Deschideți To Do,
+Operation Id,Operațiunea ID,
+Partially ordered,Comandat parțial,
+Please select company first,Selectați prima companie,
+Please select patient,Selectați pacientul,
+Printed On ,Tipărit pe,
+Projected qty,Numărul estimat,
+Sales person,Persoană de vânzări,
+Serial No {0} Created,Serial Nu {0} a creat,
+Source Location is required for the Asset {0},Sursa Locația este necesară pentru elementul {0},
+Tax Id,Cod de identificare fiscală,
+To Time,La timp,
+To date cannot be before from date,Până în prezent nu poate fi înainte de De la dată,
+Total Taxable value,Valoarea impozabilă totală,
+Upcoming Calendar Events ,Evenimente viitoare Calendar,
+Value or Qty,Valoare sau cantitate,
+Variance ,variație,
+Variant of,Varianta de,
+Write off,Achita,
+hours,ore,
+received from,primit de la,
+to,Până la data,
+Cards,Carduri,
+Percentage,Procent,
+Failed to setup defaults for country {0}. Please contact support@erpnext.com,Eroare la configurarea valorilor prestabilite pentru țară {0}. Vă rugăm să contactați support@erpnext.com,
+Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Rândul # {0}: Elementul {1} nu este un articol serializat / batat. Nu poate avea un număr de serie / nr.,
+Please set {0},Vă rugăm să setați {0},
+Please set {0},Vă rugăm să setați {0},supplier
+Draft,Proiect,"docstatus,=,0"
+Cancelled,Anulat,"docstatus,=,2"
+Please setup Instructor Naming System in Education > Education Settings,Vă rugăm să configurați sistemul de numire a instructorului în educație&gt; Setări educație,
+Please set Naming Series for {0} via Setup > Settings > Naming Series,Vă rugăm să setați Naming Series pentru {0} prin Setare&gt; Setări&gt; Serie pentru denumire,
+UOM Conversion factor ({0} -> {1}) not found for item: {2},Factorul de conversie UOM ({0} -&gt; {1}) nu a fost găsit pentru articol: {2},
+Item Code > Item Group > Brand,Cod articol&gt; Grup de articole&gt; Marcă,
+Customer > Customer Group > Territory,Client&gt; Grup de clienți&gt; Teritoriul,
+Supplier > Supplier Type,Furnizor&gt; Tip furnizor,
+Please setup Employee Naming System in Human Resource > HR Settings,Vă rugăm să configurați sistemul de numire a angajaților în resurse umane&gt; Setări HR,
+Please setup numbering series for Attendance via Setup > Numbering Series,Vă rugăm să configurați seria de numerotare pentru prezență prin Setare&gt; Numerotare,
+The value of {0} differs between Items {1} and {2},Valoarea {0} diferă între elementele {1} și {2},
+Auto Fetch,Preluare automată,
+Fetch Serial Numbers based on FIFO,Obțineți numerele de serie pe baza FIFO,
+"Outward taxable supplies(other than zero rated, nil rated and exempted)","Consumabile impozabile (altele decât zero, zero și scutite)",
+"To allow different rates, disable the {0} checkbox in {1}.","Pentru a permite tarife diferite, dezactivați caseta de selectare {0} din {1}.",
+Current Odometer Value should be greater than Last Odometer Value {0},Valoarea curentă a kilometrului ar trebui să fie mai mare decât ultima valoare a kilometrului {0},
+No additional expenses has been added,Nu s-au adăugat cheltuieli suplimentare,
+Asset{} {assets_link} created for {},Element {} {assets_link} creat pentru {},
+Row {}: Asset Naming Series is mandatory for the auto creation for item {},Rând {}: Seria de denumire a activelor este obligatorie pentru crearea automată a articolului {},
+Assets not created for {0}. You will have to create asset manually.,Elemente care nu au fost create pentru {0}. Va trebui să creați manual activul.,
+{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} are înregistrări contabile în valută {2} pentru companie {3}. Vă rugăm să selectați un cont de primit sau de plătit cu moneda {2}.,
+Invalid Account,Cont invalid,
+Purchase Order Required,Comandă de aprovizionare necesare,
+Purchase Receipt Required,Cumpărare de primire Obligatoriu,
+Account Missing,Cont lipsă,
+Requested,Solicitată,
+Partially Paid,Parțial plătit,
+Invalid Account Currency,Moneda contului este nevalidă,
+"Row {0}: The item {1}, quantity must be positive number","Rândul {0}: elementul {1}, cantitatea trebuie să fie un număr pozitiv",
+"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Vă rugăm să setați {0} pentru articolul lot {1}, care este utilizat pentru a seta {2} la Trimitere.",
+Expiry Date Mandatory,Data de expirare Obligatorie,
+Variant Item,Variant Item,
+BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} și BOM 2 {1} nu ar trebui să fie aceleași,
+Note: Item {0} added multiple times,Notă: articolul {0} a fost adăugat de mai multe ori,
+YouTube,YouTube,
+Vimeo,Vimeo,
+Publish Date,Data publicării,
+Duration,Durată,
+Advanced Settings,Setari avansate,
+Path,cale,
+Components,Componente,
+Verified By,Verificate de,
+Invalid naming series (. missing) for {0},Serii de denumiri nevalide (. Lipsesc) pentru {0},
+Filter Based On,Filtrare bazată pe,
+Reqd by date,Reqd după dată,
+Manufacturer Part Number <b>{0}</b> is invalid,Numărul de piesă al producătorului <b>{0}</b> este nevalid,
+Invalid Part Number,Număr de piesă nevalid,
+Select atleast one Social Media from Share on.,Selectați cel puțin o rețea socială din Partajare pe.,
+Invalid Scheduled Time,Ora programată nevalidă,
+Length Must be less than 280.,Lungimea trebuie să fie mai mică de 280.,
+Error while POSTING {0},Eroare la POSTARE {0},
+"Session not valid, Do you want to login?","Sesiunea nu este validă, doriți să vă autentificați?",
+Session Active,Sesiune activă,
+Session Not Active. Save doc to login.,Sesiunea nu este activă. Salvați documentul pentru autentificare.,
+Error! Failed to get request token.,Eroare! Nu s-a obținut indicativul de solicitare,
+Invalid {0} or {1},{0} sau {1} nevalid,
+Error! Failed to get access token.,Eroare! Nu s-a obținut jetonul de acces.,
+Invalid Consumer Key or Consumer Secret Key,Cheie consumator nevalidă sau cheie secretă consumator,
+Your Session will be expire in ,Sesiunea dvs. va expira în,
+ days.,zile.,
+Session is expired. Save doc to login.,Sesiunea a expirat. Salvați documentul pentru autentificare.,
+Error While Uploading Image,Eroare la încărcarea imaginii,
+You Didn't have permission to access this API,Nu ați avut permisiunea de a accesa acest API,
+Valid Upto date cannot be before Valid From date,Valid Upto date nu poate fi înainte de Valid From date,
+Valid From date not in Fiscal Year {0},Valabil de la data care nu se află în anul fiscal {0},
+Valid Upto date not in Fiscal Year {0},Data actualizată valabilă nu în anul fiscal {0},
+Group Roll No,Rola grupului nr,
+Maintain Same Rate Throughout Sales Cycle,Menține Aceeași Rată in Cursul Ciclului de Vânzări,
+"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Rândul {1}: Cantitatea ({0}) nu poate fi o fracțiune. Pentru a permite acest lucru, dezactivați „{2}” în UOM {3}.",
+Must be Whole Number,Trebuie să fie Număr întreg,
+Please setup Razorpay Plan ID,Configurați ID-ul planului Razorpay,
+Contact Creation Failed,Crearea contactului nu a reușit,
+{0} already exists for employee {1} and period {2},{0} există deja pentru angajat {1} și perioada {2},
+Leaves Allocated,Frunze alocate,
+Leaves Expired,Frunzele au expirat,
+Leave Without Pay does not match with approved {} records,Concediu fără plată nu se potrivește cu înregistrările {} aprobate,
+Income Tax Slab not set in Salary Structure Assignment: {0},Placa de impozit pe venit nu este setată în atribuirea structurii salariale: {0},
+Income Tax Slab: {0} is disabled,Planșa impozitului pe venit: {0} este dezactivat,
+Income Tax Slab must be effective on or before Payroll Period Start Date: {0},Placa pentru impozitul pe venit trebuie să fie efectivă la data de începere a perioadei de salarizare sau înainte de aceasta: {0},
+No leave record found for employee {0} on {1},Nu s-a găsit nicio evidență de concediu pentru angajatul {0} pe {1},
+Row {0}: {1} is required in the expenses table to book an expense claim.,Rândul {0}: {1} este necesar în tabelul de cheltuieli pentru a rezerva o cerere de cheltuieli.,
+Set the default account for the {0} {1},Setați contul prestabilit pentru {0} {1},
+(Half Day),(Jumătate de zi),
+Income Tax Slab,Placa impozitului pe venit,
+Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Rândul # {0}: Nu se poate stabili suma sau formula pentru componenta salariu {1} cu variabilă pe baza salariului impozabil,
+Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Rândul # {}: {} din {} ar trebui să fie {}. Vă rugăm să modificați contul sau să selectați un alt cont.,
+Row #{}: Please asign task to a member.,Rândul # {}: atribuiți sarcina unui membru.,
+Process Failed,Procesul nu a reușit,
+Tally Migration Error,Eroare de migrare Tally,
+Please set Warehouse in Woocommerce Settings,Vă rugăm să setați Depozitul în Setările Woocommerce,
+Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Rândul {0}: Depozitul de livrare ({1}) și Depozitul pentru clienți ({2}) nu pot fi identice,
+Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Rândul {0}: Data scadenței din tabelul Condiții de plată nu poate fi înainte de Data înregistrării,
+Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Nu se poate găsi {} pentru articol {}. Vă rugăm să setați același lucru în Setări articol principal sau stoc,
+Row #{0}: The batch {1} has already expired.,Rândul # {0}: lotul {1} a expirat deja.,
+Start Year and End Year are mandatory,Anul de început și anul de sfârșit sunt obligatorii,
+GL Entry,Intrari GL,
+Cannot allocate more than {0} against payment term {1},Nu se pot aloca mai mult de {0} contra termenului de plată {1},
+The root account {0} must be a group,Contul rădăcină {0} trebuie să fie un grup,
+Shipping rule not applicable for country {0} in Shipping Address,Regula de expediere nu se aplică pentru țara {0} din adresa de expediere,
+Get Payments from,Primiți plăți de la,
+Set Shipping Address or Billing Address,Setați adresa de expediere sau adresa de facturare,
+Consultation Setup,Configurarea consultării,
+Fee Validity,Valabilitate taxă,
+Laboratory Setup,Configurarea laboratorului,
+Dosage Form,Formă de dozare,
+Records and History,Înregistrări și istorie,
+Patient Medical Record,Dosarul medical al pacientului,
+Rehabilitation,Reabilitare,
+Exercise Type,Tipul de exercițiu,
+Exercise Difficulty Level,Nivelul de dificultate al exercițiului,
+Therapy Type,Tip de terapie,
+Therapy Plan,Planul de terapie,
+Therapy Session,Sesiune de terapie,
+Motor Assessment Scale,Scara de evaluare motorie,
+[Important] [ERPNext] Auto Reorder Errors,[Important] [ERPNext] Erori de reordonare automată,
+"Regards,","Salutari,",
+The following {0} were created: {1},Au fost create următoarele {0}: {1},
+Work Orders,comenzi de lucru,
+The {0} {1} created sucessfully,{0} {1} a fost creat cu succes,
+Work Order cannot be created for following reason: <br> {0},Ordinea de lucru nu poate fi creată din următorul motiv:<br> {0},
+Add items in the Item Locations table,Adăugați elemente în tabelul Locații element,
+Update Current Stock,Actualizați stocul curent,
+"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Păstrarea eșantionului se bazează pe lot, vă rugăm să bifați Are Batch No pentru a păstra eșantionul articolului",
+Empty,Gol,
+Currently no stock available in any warehouse,În prezent nu există stoc disponibil în niciun depozit,
+BOM Qty,Cantitatea BOM,
+Time logs are required for {0} {1},Jurnalele de timp sunt necesare pentru {0} {1},
+Total Completed Qty,Cantitatea totală completată,
+Qty to Manufacture,Cantitate pentru fabricare,
+Repay From Salary can be selected only for term loans,Rambursarea din salariu poate fi selectată numai pentru împrumuturile pe termen,
+No valid Loan Security Price found for {0},Nu s-a găsit un preț valid de securitate a împrumutului pentru {0},
+Loan Account and Payment Account cannot be same,Contul de împrumut și Contul de plată nu pot fi aceleași,
+Loan Security Pledge can only be created for secured loans,Garanția de securitate a împrumutului poate fi creată numai pentru împrumuturile garantate,
+Social Media Campaigns,Campanii de socializare,
+From Date can not be greater than To Date,From Date nu poate fi mai mare decât To Date,
+Please set a Customer linked to the Patient,Vă rugăm să setați un client legat de pacient,
+Customer Not Found,Clientul nu a fost găsit,
+Please Configure Clinical Procedure Consumable Item in ,Vă rugăm să configurați articolul consumabil pentru procedura clinică în,
+Missing Configuration,Configurare lipsă,
+Out Patient Consulting Charge Item,Aflați articolul de taxare pentru consultanță pentru pacient,
+Inpatient Visit Charge Item,Taxă pentru vizitarea pacientului,
+OP Consulting Charge,OP Taxă de consultanță,
+Inpatient Visit Charge,Taxă pentru vizitarea bolnavului,
+Appointment Status,Starea numirii,
+Test: ,Test:,
+Collection Details: ,Detalii colecție:,
+{0} out of {1},{0} din {1},
+Select Therapy Type,Selectați Tip de terapie,
+{0} sessions completed,{0} sesiuni finalizate,
+{0} session completed,{0} sesiune finalizată,
+ out of {0},din {0},
+Therapy Sessions,Ședințe de terapie,
+Add Exercise Step,Adăugați Pasul de exerciții,
+Edit Exercise Step,Editați Pasul de exerciții,
+Patient Appointments,Programări pentru pacienți,
+Item with Item Code {0} already exists,Elementul cu codul articolului {0} există deja,
+Registration Fee cannot be negative or zero,Taxa de înregistrare nu poate fi negativă sau zero,
+Configure a service Item for {0},Configurați un articol de serviciu pentru {0},
+Temperature: ,Temperatura:,
+Pulse: ,Puls:,
+Respiratory Rate: ,Rata respiratorie:,
+BP: ,BP:,
+BMI: ,IMC:,
+Note: ,Notă:,
+Check Availability,Verifică Disponibilitate,
+Please select Patient first,Vă rugăm să selectați mai întâi Pacient,
+Please select a Mode of Payment first,Vă rugăm să selectați mai întâi un mod de plată,
+Please set the Paid Amount first,Vă rugăm să setați mai întâi suma plătită,
+Not Therapies Prescribed,Nu terapii prescrise,
+There are no Therapies prescribed for Patient {0},Nu există terapii prescrise pentru pacient {0},
+Appointment date and Healthcare Practitioner are Mandatory,Data numirii și medicul sunt obligatorii,
+No Prescribed Procedures found for the selected Patient,Nu s-au găsit proceduri prescrise pentru pacientul selectat,
+Please select a Patient first,Vă rugăm să selectați mai întâi un pacient,
+There are no procedure prescribed for ,Nu există o procedură prescrisă pentru,
+Prescribed Therapies,Terapii prescrise,
+Appointment overlaps with ,Programarea se suprapune cu,
+{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} are programată o întâlnire cu {1} la {2} cu o durată de {3} minute.,
+Appointments Overlapping,Programări care se suprapun,
+Consulting Charges: {0},Taxe de consultanță: {0},
+Appointment Cancelled. Please review and cancel the invoice {0},Programare anulată. Examinați și anulați factura {0},
+Appointment Cancelled.,Programare anulată.,
+Fee Validity {0} updated.,Valabilitatea taxei {0} actualizată.,
+Practitioner Schedule Not Found,Programul practicantului nu a fost găsit,
+{0} is on a Half day Leave on {1},{0} este într-un concediu de jumătate de zi pe {1},
+{0} is on Leave on {1},{0} este în concediu pe {1},
+{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} nu are un program de asistență medicală. Adăugați-l în Healthcare Practitioner,
+Healthcare Service Units,Unități de servicii medicale,
+Complete and Consume,Completează și consumă,
+Complete {0} and Consume Stock?,Completați {0} și consumați stoc?,
+Complete {0}?,Completați {0}?,
+Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,Cantitatea de stoc pentru a începe procedura nu este disponibilă în depozit {0}. Doriți să înregistrați o înregistrare de stoc?,
+{0} as on {1},{0} ca pe {1},
+Clinical Procedure ({0}):,Procedură clinică ({0}):,
+Please set Customer in Patient {0},Vă rugăm să setați Clientul în Pacient {0},
+Item {0} is not active,Elementul {0} nu este activ,
+Therapy Plan {0} created successfully.,Planul de terapie {0} a fost creat cu succes.,
+Symptoms: ,Simptome:,
+No Symptoms,Fără simptome,
+Diagnosis: ,Diagnostic:,
+No Diagnosis,Fără diagnostic,
+Drug(s) Prescribed.,Medicament (e) prescris (e).,
+Test(s) Prescribed.,Test (e) prescris (e).,
+Procedure(s) Prescribed.,Procedură (proceduri) prescrise.,
+Counts Completed: {0},Număruri finalizate: {0},
+Patient Assessment,Evaluarea pacientului,
+Assessments,Evaluări,
+Heads (or groups) against which Accounting Entries are made and balances are maintained.,Heads (sau grupuri) față de care înregistrările contabile sunt făcute și soldurile sunt menținute.,
+Account Name,Numele Contului,
+Inter Company Account,Contul Companiei Inter,
+Parent Account,Contul părinte,
+Setting Account Type helps in selecting this Account in transactions.,Setarea Tipul de cont ajută în selectarea acest cont în tranzacții.,
+Chargeable,Taxabil/a,
+Rate at which this tax is applied,Rata la care se aplică acest impozit,
+Frozen,Blocat,
+"If the account is frozen, entries are allowed to restricted users.","În cazul în care contul este blocat, intrările sunt permite utilizatorilor restricționati.",
+Balance must be,Bilanţul trebuie să fie,
+Lft,Lft,
+Rgt,Rgt,
+Old Parent,Vechi mamă,
+Include in gross,Includeți în brut,
+Auditor,Auditor,
+Accounting Dimension,Dimensiunea contabilității,
+Dimension Name,Numele dimensiunii,
+Dimension Defaults,Valorile implicite ale dimensiunii,
+Accounting Dimension Detail,Detalii privind dimensiunea contabilității,
+Default Dimension,Dimensiunea implicită,
+Mandatory For Balance Sheet,Obligatoriu pentru bilanț,
+Mandatory For Profit and Loss Account,Obligatoriu pentru contul de profit și pierdere,
+Accounting Period,Perioadă Contabilă,
+Period Name,Numele perioadei,
+Closed Documents,Documente închise,
+Accounts Settings,Setări Conturi,
+Settings for Accounts,Setări pentru conturi,
+Make Accounting Entry For Every Stock Movement,Realizeaza Intrare de Contabilitate Pentru Fiecare Modificare a Stocului,
+Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Utilizatorii cu acest rol li se permite să stabilească în conturile înghețate și de a crea / modifica intrări contabile împotriva conturile înghețate,
+Determine Address Tax Category From,Determinați categoria de impozitare pe adresa de la,
+Over Billing Allowance (%),Indemnizație de facturare peste (%),
+Credit Controller,Controler de Credit,
+Check Supplier Invoice Number Uniqueness,Cec Furnizor Numărul facturii Unicitatea,
+Make Payment via Journal Entry,Efectuați o plată prin Jurnalul de intrare,
+Unlink Payment on Cancellation of Invoice,Plata unlink privind anularea facturii,
+Book Asset Depreciation Entry Automatically,Încărcarea automată a amortizării activelor din cont,
+Automatically Add Taxes and Charges from Item Tax Template,Adaugă automat impozite și taxe din șablonul de impozit pe articole,
+Automatically Fetch Payment Terms,Obțineți automat Termenii de plată,
+Show Payment Schedule in Print,Afișați programul de plată în Tipărire,
+Currency Exchange Settings,Setările de schimb valutar,
+Allow Stale Exchange Rates,Permiteți rate de schimb stale,
+Stale Days,Zilele stale,
+Report Settings,Setările raportului,
+Use Custom Cash Flow Format,Utilizați formatul fluxului de numerar personalizat,
+Allowed To Transact With,Permis pentru a tranzacționa cu,
+SWIFT number,Număr rapid,
+Branch Code,Codul filialei,
+Address and Contact,Adresa și Contact,
+Address HTML,Adresă HTML,
+Contact HTML,HTML Persoana de Contact,
+Data Import Configuration,Configurarea importului de date,
+Bank Transaction Mapping,Maparea tranzacțiilor bancare,
+Plaid Access Token,Token de acces la carouri,
+Company Account,Contul companiei,
+Account Subtype,Subtipul contului,
+Is Default Account,Este contul implicit,
+Is Company Account,Este un cont de companie,
+Party Details,Party Detalii,
+Account Details,Detalii cont,
+IBAN,IBAN,
+Bank Account No,Contul bancar nr,
+Integration Details,Detalii de integrare,
+Integration ID,ID de integrare,
+Last Integration Date,Ultima dată de integrare,
+Change this date manually to setup the next synchronization start date,Modificați această dată manual pentru a configura următoarea dată de început a sincronizării,
+Mask,Masca,
+Bank Account Subtype,Subtipul contului bancar,
+Bank Account Type,Tipul contului bancar,
+Bank Guarantee,Garantie bancara,
+Bank Guarantee Type,Tip de garanție bancară,
+Receiving,primire,
+Providing,Furnizarea,
+Reference Document Name,Numele documentului de referință,
+Validity in Days,Valabilitate în Zile,
+Bank Account Info,Informații despre contul bancar,
+Clauses and Conditions,Clauze și Condiții,
+Other Details,Alte detalii,
+Bank Guarantee Number,Numărul de garanție bancară,
+Name of Beneficiary,Numele beneficiarului,
+Margin Money,Marja de bani,
+Charges Incurred,Taxele incasate,
+Fixed Deposit Number,Numărul depozitului fix,
+Account Currency,Moneda cont,
+Select the Bank Account to reconcile.,Selectați contul bancar pentru a vă reconcilia.,
+Include Reconciled Entries,Includ intrările împăcat,
+Get Payment Entries,Participările de plată,
+Payment Entries,Intrările de plată,
+Update Clearance Date,Actualizare Clearance Data,
+Bank Reconciliation Detail,Detaliu reconciliere bancară,
+Cheque Number,Număr Cec,
+Cheque Date,Dată Cec,
+Statement Header Mapping,Afișarea antetului de rutare,
+Statement Headers,Antetele declarațiilor,
+Transaction Data Mapping,Transaction Data Mapping,
+Mapped Items,Elemente cartografiate,
+Bank Statement Settings Item,Elementul pentru setările declarației bancare,
+Mapped Header,Antet Cartografiat,
+Bank Header,Antetul băncii,
+Bank Statement Transaction Entry,Intrare tranzacție la declarația bancară,
+Bank Transaction Entries,Intrările de tranzacții bancare,
+New Transactions,Noi tranzacții,
+Match Transaction to Invoices,Tranzacționați tranzacția la facturi,
+Create New Payment/Journal Entry,Creați o nouă plată / intrare în jurnal,
+Submit/Reconcile Payments,Trimiteți / Recondiționați plățile,
+Matching Invoices,Facturi de potrivire,
+Payment Invoice Items,Elemente de factură de plată,
+Reconciled Transactions,Tranzacții Reconciliate,
+Bank Statement Transaction Invoice Item,Tranzacție de poziție bancară,
+Payment Description,Descrierea plății,
+Invoice Date,Data facturii,
+invoice,factura fiscala,
+Bank Statement Transaction Payment Item,Tranzacție de plată a tranzacției,
+outstanding_amount,suma restanta,
+Payment Reference,Referință de plată,
+Bank Statement Transaction Settings Item,Element pentru setările tranzacției din contul bancar,
+Bank Data,Date bancare,
+Mapped Data Type,Mapat tipul de date,
+Mapped Data,Date Cartografiate,
+Bank Transaction,Tranzacție bancară,
+ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
+Transaction ID,ID-ul de tranzacție,
+Unallocated Amount,Suma nealocată,
+Field in Bank Transaction,Câmp în tranzacția bancară,
+Column in Bank File,Coloana în fișierul bancar,
+Bank Transaction Payments,Plăți de tranzacții bancare,
+Control Action,Acțiune de control,
+Applicable on Material Request,Aplicabil la solicitarea materialului,
+Action if Annual Budget Exceeded on MR,Acțiune în cazul depășirii bugetului anual pe MR,
+Warn,Avertiza,
+Ignore,Ignora,
+Action if Accumulated Monthly Budget Exceeded on MR,Acțiune dacă bugetul lunar acumulat este depășit cu MR,
+Applicable on Purchase Order,Aplicabil pe comanda de aprovizionare,
+Action if Annual Budget Exceeded on PO,Acțiune în cazul în care bugetul anual depășește PO,
+Action if Accumulated Monthly Budget Exceeded on PO,Acțiune în cazul în care bugetul lunar acumulat este depășit cu PO,
+Applicable on booking actual expenses,Se aplică la rezervarea cheltuielilor reale,
+Action if Annual Budget Exceeded on Actual,Acțiune în cazul în care bugetul anual depășește suma actuală,
+Action if Accumulated Monthly Budget Exceeded on Actual,Acțiune în cazul în care bugetul lunar acumulat depășește valoarea reală,
+Budget Accounts,Conturile bugetare,
+Budget Account,Contul bugetar,
+Budget Amount,Buget Sumă,
+C-Form,Formular-C,
+ACC-CF-.YYYY.-,ACC-CF-.YYYY.-,
+C-Form No,Nr. formular-C,
+Received Date,Data primit,
+Quarter,Trimestru,
+I,eu,
+II,II,
+III,III,
+IV,IV,
+C-Form Invoice Detail,Detaliu factură formular-C,
+Invoice No,Nr Factura,
+Cash Flow Mapper,Cash Flow Mapper,
+Section Name,Numele secțiunii,
+Section Header,Secțiunea Header,
+Section Leader,Liderul secțiunii,
+e.g Adjustments for:,de ex. ajustări pentru:,
+Section Subtotal,Secțiunea Subtotal,
+Section Footer,Secțiunea Footer,
+Position,Poziţie,
+Cash Flow Mapping,Fluxul de numerar,
+Select Maximum Of 1,Selectați maxim de 1,
+Is Finance Cost,Este costul de finanțare,
+Is Working Capital,Este capitalul de lucru,
+Is Finance Cost Adjustment,Este ajustarea costurilor financiare,
+Is Income Tax Liability,Răspunderea pentru impozitul pe venit,
+Is Income Tax Expense,Cheltuielile cu impozitul pe venit,
+Cash Flow Mapping Accounts,Conturi de cartografiere a fluxurilor de numerar,
+account,Cont,
+Cash Flow Mapping Template,Formatul de cartografiere a fluxului de numerar,
+Cash Flow Mapping Template Details,Detaliile șablonului pentru fluxul de numerar,
+POS-CLO-,POS-CLO-,
+Custody,Custodie,
+Net Amount,Cantitate netă,
+Cashier Closing Payments,Plățile de închidere a caselor,
+Chart of Accounts Importer,Importatorul planului de conturi,
+Import Chart of Accounts from a csv file,Importați Graficul de conturi dintr-un fișier csv,
+Attach custom Chart of Accounts file,Atașați fișierul personalizat al graficului conturilor,
+Chart Preview,Previzualizare grafic,
+Chart Tree,Arbore grafic,
+Cheque Print Template,Format Imprimare Cec,
+Has Print Format,Are Format imprimare,
+Primary Settings,Setări primare,
+Cheque Size,Dimensiune  Cec,
+Regular,Regulat,
+Starting position from top edge,Poziția de la muchia superioară de pornire,
+Cheque Width,Lățime Cec,
+Cheque Height,Cheque Inaltime,
+Scanned Cheque,scanate cecului,
+Is Account Payable,Este cont de plati,
+Distance from top edge,Distanța de la marginea de sus,
+Distance from left edge,Distanța de la marginea din stânga,
+Message to show,Mesaj pentru a arăta,
+Date Settings,Setări Dată,
+Starting location from left edge,Punctul de plecare de la marginea din stânga,
+Payer Settings,Setări plătitorilor,
+Width of amount in word,Lățimea de cuvânt în sumă,
+Line spacing for amount in words,distanța dintre rânduri pentru suma în cuvinte,
+Amount In Figure,Suma în Figura,
+Signatory Position,Poziție semnatar,
+Closed Document,Document închis,
+Track separate Income and Expense for product verticals or divisions.,Urmăriți Venituri separat și cheltuieli verticale produse sau divizii.,
+Cost Center Name,Nume Centrul de Cost,
+Parent Cost Center,Părinte Cost Center,
+lft,LFT,
+rgt,RGT,
+Coupon Code,Codul promoțional,
+Coupon Name,Numele cuponului,
+"e.g. ""Summer Holiday 2019 Offer 20""",de ex. „Oferta de vacanță de vară 2019 20”,
+Coupon Type,Tip cupon,
+Promotional,promoționale,
+Gift Card,Card cadou,
+unique e.g. SAVE20  To be used to get discount,"unic, de exemplu, SAVE20 Pentru a fi utilizat pentru a obține reducere",
+Validity and Usage,Valabilitate și utilizare,
+Valid From,Valabil din,
+Valid Upto,Valid pana la,
+Maximum Use,Utilizare maximă,
+Used,Folosit,
+Coupon Description,Descrierea cuponului,
+Discounted Invoice,Factură redusă,
+Debit to,Debit la,
+Exchange Rate Revaluation,Reevaluarea cursului de schimb,
+Get Entries,Obțineți intrări,
+Exchange Rate Revaluation Account,Contul de reevaluare a cursului de schimb,
+Total Gain/Loss,Total câștig / pierdere,
+Balance In Account Currency,Soldul în moneda contului,
+Current Exchange Rate,Cursul de schimb curent,
+Balance In Base Currency,Soldul în moneda de bază,
+New Exchange Rate,Noul curs de schimb valutar,
+New Balance In Base Currency,Noul echilibru în moneda de bază,
+Gain/Loss,Gain / Pierdere,
+**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,**Anul fiscal** reprezintă un an financiar. Toate intrările contabile și alte tranzacții majore sunt monitorizate comparativ cu ** Anul fiscal **.,
+Year Name,An Denumire,
+"For e.g. 2012, 2012-13","De exemplu, 2012, 2012-13",
+Year Start Date,An Data începerii,
+Year End Date,Anul Data de încheiere,
+Companies,Companii,
+Auto Created,Crearea automată,
+Stock User,Stoc de utilizare,
+Fiscal Year Company,Anul fiscal companie,
+Debit Amount,Sumă Debit,
+Credit Amount,Suma de credit,
+Debit Amount in Account Currency,Sumă Debit în Monedă Cont,
+Credit Amount in Account Currency,Suma de credit în cont valutar,
+Voucher Detail No,Detaliu voucher Nu,
+Is Opening,Se deschide,
+Is Advance,Este Advance,
+To Rename,Pentru a redenumi,
+GST Account,Contul GST,
+CGST Account,Contul CGST,
+SGST Account,Contul SGST,
+IGST Account,Cont IGST,
+CESS Account,Cont CESS,
+Loan Start Date,Data de început a împrumutului,
+Loan Period (Days),Perioada de împrumut (zile),
+Loan End Date,Data de încheiere a împrumutului,
+Bank Charges,Taxe bancare,
+Short Term Loan Account,Cont de împrumut pe termen scurt,
+Bank Charges Account,Cont de taxe bancare,
+Accounts Receivable Credit Account,Conturi de credit de primit,
+Accounts Receivable Discounted Account,Conturi de primit cu reducere,
+Accounts Receivable Unpaid Account,Conturi de primit un cont neplătit,
+Item Tax Template,Șablon fiscal de articol,
+Tax Rates,Taxe de impozitare,
+Item Tax Template Detail,Detaliu de șablon fiscal,
+Entry Type,Tipul de intrare,
+Inter Company Journal Entry,Intrarea în Jurnalul Inter companiei,
+Bank Entry,Intrare bancară,
+Cash Entry,Cash intrare,
+Credit Card Entry,Card de credit intrare,
+Contra Entry,Contra intrare,
+Excise Entry,Intrare accize,
+Write Off Entry,Amortizare intrare,
+Opening Entry,Deschiderea de intrare,
+ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
+Accounting Entries,Înregistrări contabile,
+Total Debit,Total debit,
+Total Credit,Total credit,
+Difference (Dr - Cr),Diferența (Dr - Cr),
+Make Difference Entry,Realizeaza Intrare de Diferenta,
+Total Amount Currency,Suma totală Moneda,
+Total Amount in Words,Suma totală în cuvinte,
+Remark,Remarcă,
+Paid Loan,Imprumut platit,
+Inter Company Journal Entry Reference,Întreprindere de referință pentru intrarea în jurnal,
+Write Off Based On,Scrie Off bazat pe,
+Get Outstanding Invoices,Obtine Facturi Neachitate,
+Write Off Amount,Anulați suma,
+Printing Settings,Setări de imprimare,
+Pay To / Recd From,Pentru a plăti / Recd de la,
+Payment Order,Ordin de plată,
+Subscription Section,Secțiunea de abonamente,
+Journal Entry Account,Jurnal de cont intrare,
+Account Balance,Soldul contului,
+Party Balance,Balanța Party,
+Accounting Dimensions,Dimensiuni contabile,
+If Income or Expense,In cazul Veniturilor sau Cheltuielilor,
+Exchange Rate,Rata de schimb,
+Debit in Company Currency,Debit în Monedă Companie,
+Credit in Company Currency,Credit în companie valutar,
+Payroll Entry,Salarizare intrare,
+Employee Advance,Angajat Advance,
+Reference Due Date,Data de referință pentru referință,
+Loyalty Program Tier,Program de loialitate,
+Redeem Against,Răscumpărați împotriva,
+Expiry Date,Data expirării,
+Loyalty Point Entry Redemption,Punctul de răscumpărare a punctelor de loialitate,
+Redemption Date,Data de răscumpărare,
+Redeemed Points,Răscumpărate Puncte,
+Loyalty Program Name,Nume program de loialitate,
+Loyalty Program Type,Tip de program de loialitate,
+Single Tier Program,Program unic de nivel,
+Multiple Tier Program,Program multiplu,
+Customer Territory,Teritoriul clientului,
+Auto Opt In (For all customers),Oprire automată (pentru toți clienții),
+Collection Tier,Colecția Tier,
+Collection Rules,Regulile de colectare,
+Redemption,Răscumpărare,
+Conversion Factor,Factor de conversie,
+1 Loyalty Points = How much base currency?,1 Puncte de loialitate = Cât de multă monedă de bază?,
+Expiry Duration (in days),Termenul de expirare (în zile),
+Help Section,Secțiunea Ajutor,
+Loyalty Program Help,Programul de ajutor pentru loialitate,
+Loyalty Program Collection,Colecția de programe de loialitate,
+Tier Name,Denumirea nivelului,
+Minimum Total Spent,Suma totală cheltuită,
+Collection Factor (=1 LP),Factor de colectare (= 1 LP),
+For how much spent = 1 Loyalty Point,Pentru cât de mult a fost cheltuit = 1 punct de loialitate,
+Mode of Payment Account,Modul de cont de plăți,
+Default Account,Cont Implicit,
+Default account will be automatically updated in POS Invoice when this mode is selected.,Contul implicit va fi actualizat automat în factură POS când este selectat acest mod.,
+**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,** Lunar Distribuție ** vă ajută să distribuie bugetul / Target peste luni dacă aveți sezonier în afacerea dumneavoastră.,
+Distribution Name,Denumire Distribuție,
+Name of the Monthly Distribution,Numele de Distributie lunar,
+Monthly Distribution Percentages,Procente de distribuție lunare,
+Monthly Distribution Percentage,Lunar Procentaj Distribuție,
+Percentage Allocation,Alocarea procent,
+Create Missing Party,Creați Parte Lipsă,
+Create missing customer or supplier.,Creați client sau furnizor lipsă.,
+Opening Invoice Creation Tool Item,Deschiderea elementului instrumentului de creare a facturilor,
+Temporary Opening Account,Contul de deschidere temporar,
+Party Account,Party Account,
+Type of Payment,Tipul de plată,
+ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
+Receive,Primește,
+Internal Transfer,Transfer intern,
+Payment Order Status,Starea comenzii de plată,
+Payment Ordered,Plata a fost comandată,
+Payment From / To,Plata De la / la,
+Company Bank Account,Cont bancar al companiei,
+Party Bank Account,Cont bancar de partid,
+Account Paid From,Contul plătit De la,
+Account Paid To,Contul Plătite,
+Paid Amount (Company Currency),Plătit Suma (Compania de valuta),
+Received Amount,Sumă Primită,
+Received Amount (Company Currency),Suma primită (Moneda Companiei),
+Get Outstanding Invoice,Obțineți o factură excepțională,
+Payment References,Referințe de plată,
+Writeoff,Achita,
+Total Allocated Amount,Suma totală alocată,
+Total Allocated Amount (Company Currency),Suma totală alocată (Companie Moneda),
+Set Exchange Gain / Loss,Set Exchange Gain / Pierdere,
+Difference Amount (Company Currency),Diferența Sumă (Companie Moneda),
+Write Off Difference Amount,Diferență Sumă Piertdute,
+Deductions or Loss,Deduceri sau Pierderi,
+Payment Deductions or Loss,Deducerile de plată sau pierdere,
+Cheque/Reference Date,Cec/Dată de Referință,
+Payment Entry Deduction,Plată Deducerea intrare,
+Payment Entry Reference,Plată intrare de referință,
+Allocated,Alocat,
+Payment Gateway Account,Plata cont Gateway,
+Payment Account,Cont de plăți,
+Default Payment Request Message,Implicit solicita plata mesaj,
+PMO-,PMO-,
+Payment Order Type,Tipul ordinului de plată,
+Payment Order Reference,Instrucțiuni de plată,
+Bank Account Details,Detaliile contului bancar,
+Payment Reconciliation,Reconcilierea plată,
+Receivable / Payable Account,De încasat de cont / de plătit,
+Bank / Cash Account,Cont bancă / numerar,
+From Invoice Date,De la data facturii,
+To Invoice Date,Pentru a facturii Data,
+Minimum Invoice Amount,Factură cantitate minimă,
+Maximum Invoice Amount,Suma maxima Factură,
+System will fetch all the entries if limit value is zero.,Sistemul va prelua toate intrările dacă valoarea limită este zero.,
+Get Unreconciled Entries,Ia nereconciliate Entries,
+Unreconciled Payment Details,Nereconciliate Detalii de plată,
+Invoice/Journal Entry Details,Factura / Jurnalul Detalii intrari,
+Payment Reconciliation Invoice,Reconcilierea plata facturii,
+Invoice Number,Numar factura,
+Payment Reconciliation Payment,Reconciliere de plata,
+Reference Row,rândul de referință,
+Allocated amount,Suma alocată,
+Payment Request Type,Tip de solicitare de plată,
+Outward,Exterior,
+Inward,interior,
+ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
+Transaction Details,Detalii tranzacție,
+Amount in customer's currency,Suma în moneda clientului,
+Is a Subscription,Este un abonament,
+Transaction Currency,Operațiuni valutare,
+Subscription Plans,Planuri de abonament,
+SWIFT Number,Număr rapid,
+Recipient Message And Payment Details,Mesaj destinatar și Detalii de plată,
+Make Sales Invoice,Faceți Factură de Vânzare,
+Mute Email,Mute Email,
+payment_url,payment_url,
+Payment Gateway Details,Plata Gateway Detalii,
+Payment Schedule,Planul de plăți,
+Invoice Portion,Fracțiunea de facturi,
+Payment Amount,Plata Suma,
+Payment Term Name,Numele termenului de plată,
+Due Date Based On,Data de bază bazată pe,
+Day(s) after invoice date,Ziua (zilele) după data facturii,
+Day(s) after the end of the invoice month,Ziua (zilele) de la sfârșitul lunii facturii,
+Month(s) after the end of the invoice month,Luna (luni) după sfârșitul lunii facturii,
+Credit Days,Zile de Credit,
+Credit Months,Lunile de credit,
+Allocate Payment Based On Payment Terms,Alocați plata în funcție de condițiile de plată,
+"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Dacă această casetă de selectare este bifată, suma plătită va fi împărțită și alocată conform sumelor din programul de plată pentru fiecare termen de plată",
+Payment Terms Template Detail,Plata detaliilor privind termenii de plată,
+Closing Fiscal Year,Închiderea Anului Fiscal,
+Closing Account Head,Închidere Cont Principal,
+"The account head under Liability or Equity, in which Profit/Loss will be booked","Capul de cont sub răspunderea sau a capitalului propriu, în care Profit / Pierdere vor fi rezervate",
+POS Customer Group,Grup Clienți POS,
+POS Field,Câmpul POS,
+POS Item Group,POS Articol Grupa,
+Company Address,Adresă Companie,
+Update Stock,Actualizare stock,
+Ignore Pricing Rule,Ignora Regula Preturi,
+Applicable for Users,Aplicabil pentru utilizatori,
+Sales Invoice Payment,Vânzări factură de plată,
+Item Groups,Grupuri articol,
+Only show Items from these Item Groups,Afișați numai articole din aceste grupuri de articole,
+Customer Groups,Grupuri de clienți,
+Only show Customer of these Customer Groups,Afișați numai Clientul acestor grupuri de clienți,
+Write Off Account,Scrie Off cont,
+Write Off Cost Center,Scrie Off cost Center,
+Account for Change Amount,Contul pentru Schimbare Sumă,
+Taxes and Charges,Impozite și Taxe,
+Apply Discount On,Aplicați Discount pentru,
+POS Profile User,Utilizator de profil POS,
+Apply On,Se aplică pe,
+Price or Product Discount,Preț sau reducere produs,
+Apply Rule On Item Code,Aplicați regula pe codul articolului,
+Apply Rule On Item Group,Aplicați regula pe grupul de articole,
+Apply Rule On Brand,Aplicați regula pe marcă,
+Mixed Conditions,Condiții mixte,
+Conditions will be applied on all the selected items combined. ,Condițiile se vor aplica pe toate elementele selectate combinate.,
+Is Cumulative,Este cumulativ,
+Coupon Code Based,Bazat pe codul cuponului,
+Discount on Other Item,Reducere la alt articol,
+Apply Rule On Other,Aplicați regula pe alte,
+Party Information,Informații despre petreceri,
+Quantity and Amount,Cantitate și sumă,
+Min Qty,Min Cantitate,
+Max Qty,Max Cantitate,
+Min Amt,Amt min,
+Max Amt,Max Amt,
+Period Settings,Setări perioade,
+Margin,Margin,
+Margin Type,Tipul de marjă,
+Margin Rate or Amount,Rata de marjă sau Sumă,
+Price Discount Scheme,Schema de reducere a prețurilor,
+Rate or Discount,Tarif sau Discount,
+Discount Percentage,Procentul de Reducere,
+Discount Amount,Reducere Suma,
+For Price List,Pentru Lista de Preturi,
+Product Discount Scheme,Schema de reducere a produsului,
+Same Item,Același articol,
+Free Item,Articol gratuit,
+Threshold for Suggestion,Prag pentru sugestie,
+System will notify to increase or decrease quantity or amount ,Sistemul va notifica să crească sau să scadă cantitatea sau cantitatea,
+"Higher the number, higher the priority","Este mai mare numărul, mai mare prioritate",
+Apply Multiple Pricing Rules,Aplicați mai multe reguli privind prețurile,
+Apply Discount on Rate,Aplicați reducere la tarif,
+Validate Applied Rule,Validați regula aplicată,
+Rule Description,Descrierea regulii,
+Pricing Rule Help,Regula de stabilire a prețurilor de ajutor,
+Promotional Scheme Id,Codul promoțional ID,
+Promotional Scheme,Schema promoțională,
+Pricing Rule Brand,Marca de regulă a prețurilor,
+Pricing Rule Detail,Detaliu privind regula prețurilor,
+Child Docname,Numele documentului pentru copii,
+Rule Applied,Regula aplicată,
+Pricing Rule Item Code,Regula prețurilor Cod articol,
+Pricing Rule Item Group,Grupul de articole din regula prețurilor,
+Price Discount Slabs,Placi cu reducere de preț,
+Promotional Scheme Price Discount,Schema promoțională Reducere de preț,
+Product Discount Slabs,Placi cu reducere de produse,
+Promotional Scheme Product Discount,Schema promoțională Reducere de produs,
+Min Amount,Suma minima,
+Max Amount,Suma maximă,
+Discount Type,Tipul reducerii,
+ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
+Tax Withholding Category,Categoria de reținere fiscală,
+Edit Posting Date and Time,Editare postare Data și ora,
+Is Paid,Este platit,
+Is Return (Debit Note),Este Return (Nota de debit),
+Apply Tax Withholding Amount,Aplicați suma de reținere fiscală,
+Accounting Dimensions ,Dimensiuni contabile,
+Supplier Invoice Details,Furnizor Detalii factură,
+Supplier Invoice Date,Furnizor Data facturii,
+Return Against Purchase Invoice,Reveni Împotriva cumparare factură,
+Select Supplier Address,Selectați Furnizor Adresă,
+Contact Person,Persoană de contact,
+Select Shipping Address,Selectați adresa de expediere,
+Currency and Price List,Valută și lista de prețuri,
+Price List Currency,Lista de pret Valuta,
+Price List Exchange Rate,Lista de schimb valutar,
+Set Accepted Warehouse,Set depozit acceptat,
+Rejected Warehouse,Depozit Respins,
+Warehouse where you are maintaining stock of rejected items,Depozit în cazul în care se menține stocul de articole respinse,
+Raw Materials Supplied,Materii prime furnizate,
+Supplier Warehouse,Furnizor Warehouse,
+Pricing Rules,Reguli privind prețurile,
+Supplied Items,Articole furnizate,
+Total (Company Currency),Total (Company valutar),
+Net Total (Company Currency),Net total (Compania de valuta),
+Total Net Weight,Greutatea totală netă,
+Shipping Rule,Regula de transport maritim,
+Purchase Taxes and Charges Template,Achiziționa impozite și taxe Template,
+Purchase Taxes and Charges,Taxele de cumpărare și Taxe,
+Tax Breakup,Descărcarea de impozite,
+Taxes and Charges Calculation,Impozite și Taxe Calcul,
+Taxes and Charges Added (Company Currency),Impozite și Taxe adăugate (Compania de valuta),
+Taxes and Charges Deducted (Company Currency),Impozite și taxe deduse (Compania de valuta),
+Total Taxes and Charges (Company Currency),Total Impozite si Taxe (Compania valutar),
+Taxes and Charges Added,Impozite și Taxe Added,
+Taxes and Charges Deducted,Impozite și Taxe dedus,
+Total Taxes and Charges,Total Impozite și Taxe,
+Additional Discount,Discount suplimentar,
+Apply Additional Discount On,Aplicați Discount suplimentare La,
+Additional Discount Amount (Company Currency),Discount suplimentar Suma (companie de valuta),
+Additional Discount Percentage,Procent de reducere suplimentară,
+Additional Discount Amount,Suma de reducere suplimentară,
+Grand Total (Company Currency),Total general (Valuta Companie),
+Rounding Adjustment (Company Currency),Rotunjire ajustare (moneda companiei),
+Rounded Total (Company Currency),Rotunjite total (Compania de valuta),
+In Words (Company Currency),În cuvinte (Compania valutar),
+Rounding Adjustment,Ajustare Rotunjire,
+In Words,În cuvinte,
+Total Advance,Total de Advance,
+Disable Rounded Total,Dezactivati Totalul Rotunjit,
+Cash/Bank Account,Numerar/Cont Bancar,
+Write Off Amount (Company Currency),Scrie Off Suma (Compania de valuta),
+Set Advances and Allocate (FIFO),Setați avansuri și alocați (FIFO),
+Get Advances Paid,Obtine Avansurile Achitate,
+Advances,Avansuri,
+Terms,Termeni,
+Terms and Conditions1,Termeni și Conditions1,
+Group same items,Același grup de elemente,
+Print Language,Limba de imprimare,
+"Once set, this invoice will be on hold till the set date","Odată stabilită, această factură va fi reținută până la data stabilită",
+Credit To,De Creditat catre,
+Party Account Currency,Partidul cont valutar,
+Against Expense Account,Comparativ contului de cheltuieli,
+Inter Company Invoice Reference,Interfața de referință pentru interfața companiei,
+Is Internal Supplier,Este furnizor intern,
+Start date of current invoice's period,Data perioadei de factura de curent începem,
+End date of current invoice's period,Data de încheiere a perioadei facturii curente,
+Update Auto Repeat Reference,Actualizați referința de repetare automată,
+Purchase Invoice Advance,Factura de cumpărare în avans,
+Purchase Invoice Item,Factura de cumpărare Postul,
+Quantity and Rate,Cantitatea și rata,
+Received Qty,Cantitate primita,
+Accepted Qty,Cantitate acceptată,
+Rejected Qty,Cant. Respinsă,
+UOM Conversion Factor,Factorul de conversie UOM,
+Discount on Price List Rate (%),Reducere la Lista de preturi Rate (%),
+Price List Rate (Company Currency),Lista de prețuri Rate (Compania de valuta),
+Rate (Company Currency),Rata de (Compania de valuta),
+Amount (Company Currency),Sumă (monedă companie),
+Is Free Item,Este articol gratuit,
+Net Rate,Rata netă,
+Net Rate (Company Currency),Rata netă (companie de valuta),
+Net Amount (Company Currency),Suma netă (companie de valuta),
+Item Tax Amount Included in Value,Suma impozitului pe articol inclus în valoare,
+Landed Cost Voucher Amount,Costul Landed Voucher Suma,
+Raw Materials Supplied Cost,Costul materiilor prime livrate,
+Accepted Warehouse,Depozit Acceptat,
+Serial No,Nr. serie,
+Rejected Serial No,Respins de ordine,
+Expense Head,Beneficiar Cheltuiala,
+Is Fixed Asset,Este activ fix,
+Asset Location,Locația activelor,
+Deferred Expense,Cheltuieli amânate,
+Deferred Expense Account,Contul de cheltuieli amânate,
+Service Stop Date,Data de începere a serviciului,
+Enable Deferred Expense,Activați cheltuielile amânate,
+Service Start Date,Data de începere a serviciului,
+Service End Date,Data de încheiere a serviciului,
+Allow Zero Valuation Rate,Permiteți ratei de evaluare zero,
+Item Tax Rate,Rata de Impozitare Articol,
+Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Taxa detaliu tabel preluat de la maestru articol ca un șir și stocate în acest domeniu.\n Folosit pentru Impozite și Taxe,
+Purchase Order Item,Comandă de aprovizionare Articol,
+Purchase Receipt Detail,Detaliu de primire a achiziției,
+Item Weight Details,Greutate Detalii articol,
+Weight Per Unit,Greutate pe unitate,
+Total Weight,Greutate totală,
+Weight UOM,Greutate UOM,
+Page Break,Page Break,
+Consider Tax or Charge for,Considerare Taxa sau Cost pentru,
+Valuation and Total,Evaluare și Total,
+Valuation,Evaluare,
+Add or Deduct,Adăugaţi sau deduceţi,
+Deduct,Deduce,
+On Previous Row Amount,La rândul precedent Suma,
+On Previous Row Total,Inapoi la rândul Total,
+On Item Quantity,Pe cantitatea articolului,
+Reference Row #,Reference Row #,
+Is this Tax included in Basic Rate?,Este acest fiscală inclusă în rata de bază?,
+"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","In cazul in care se bifeaza, suma taxelor va fi considerată ca fiind deja inclusa în Rata de Imprimare / Suma de Imprimare",
+Account Head,Titularul Contului,
+Tax Amount After Discount Amount,Suma taxa După Discount Suma,
+Item Wise Tax Detail ,Articolul Detaliu fiscal înțelept,
+"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.\n10. Add or Deduct: Whether you want to add or deduct the tax.","Șablon de impozitare standard care pot fi aplicate la toate tranzacțiile de cumpărare. Acest model poate conține lista de capete fiscale și, de asemenea, mai multe capete de cheltuieli, cum ar fi ""de transport"", ""asigurare"", ""manipulare"" etc. \n\n #### Notă \n\n Rata de impozitare pe care o definiți aici va fi rata de impozitare standard pentru toate Articole ** **. Dacă există articole ** **, care au preturi diferite, acestea trebuie să fie adăugate în ** Impozitul Postul ** masă în ** ** postul comandantului.\n\n #### Descrierea de coloane \n\n 1. Calcul Tip: \n - Acest lucru poate fi pe ** net total ** (care este suma cuantum de bază).\n - ** La rândul precedent Raport / Suma ** (pentru impozite sau taxe cumulative). Dacă selectați această opțiune, impozitul va fi aplicat ca procent din rândul anterior (în tabelul de impozitare) suma totală sau.\n - ** ** Real (după cum sa menționat).\n 2. Șeful cont: Registrul cont în care acest impozit va fi rezervat \n 3. Cost Center: În cazul în care taxa / taxa este un venit (cum ar fi de transport maritim) sau cheltuieli trebuie să se rezervat împotriva unui centru de cost.\n 4. Descriere: Descriere a taxei (care vor fi tipărite în facturi / citate).\n 5. Notă: Rata de Profit Brut.\n 6. Suma: suma taxei.\n 7. Total: total cumulat la acest punct.\n 8. Introduceți Row: Dacă bazat pe ""Înapoi Row Total"", puteți selecta numărul rând care vor fi luate ca bază pentru acest calcul (implicit este rândul precedent).\n 9. Luați în considerare Brut sau Taxa pentru: În această secțiune puteți specifica dacă taxa / taxa este doar pentru evaluare (nu o parte din total) sau numai pe total (nu adaugă valoare elementul) sau pentru ambele.\n 10. Adăugați sau deduce: Fie că doriți să adăugați sau deduce taxa.",
+Salary Component Account,Contul de salariu Componentă,
+Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,Default cont bancar / numerar vor fi actualizate automat în Jurnalul de intrare a salariului când este selectat acest mod.,
+ACC-SINV-.YYYY.-,ACC-SINV-.YYYY.-,
+Include Payment (POS),Include de plată (POS),
+Offline POS Name,Offline Numele POS,
+Is Return (Credit Note),Este retur (nota de credit),
+Return Against Sales Invoice,Reveni Împotriva Vânzări factură,
+Update Billed Amount in Sales Order,Actualizați suma facturată în comandă de vânzări,
+Customer PO Details,Detalii PO pentru clienți,
+Customer's Purchase Order,Comandă clientului,
+Customer's Purchase Order Date,Data Comanda de Aprovizionare Client,
+Customer Address,Adresă Client,
+Shipping Address Name,Transport Adresa Nume,
+Company Address Name,Nume Companie,
+Rate at which Customer Currency is converted to customer's base currency,Rata la care Clientul valuta este convertită în valuta de bază a clientului,
+Rate at which Price list currency is converted to customer's base currency,Rata la care lista de prețuri moneda este convertit în valuta de bază a clientului,
+Set Source Warehouse,Set sursă depozit,
+Packing List,Lista de ambalare,
+Packed Items,Articole pachet,
+Product Bundle Help,Produs Bundle Ajutor,
+Time Sheet List,Listă de timp Sheet,
+Time Sheets,Foi de timp,
+Total Billing Amount,Suma totală de facturare,
+Sales Taxes and Charges Template,Impozite vânzări și șabloane Taxe,
+Sales Taxes and Charges,Taxele de vânzări și Taxe,
+Loyalty Points Redemption,Răscumpărarea punctelor de loialitate,
+Redeem Loyalty Points,Răscumpărați punctele de loialitate,
+Redemption Account,Cont de Răscumpărare,
+Redemption Cost Center,Centrul de cost de răscumpărare,
+In Words will be visible once you save the Sales Invoice.,În cuvinte va fi vizibil după salvarea facturii.,
+Allocate Advances Automatically (FIFO),Alocați avansuri automat (FIFO),
+Get Advances Received,Obtine Avansurile Primite,
+Base Change Amount (Company Currency),De schimbare a bazei Suma (Companie Moneda),
+Write Off Outstanding Amount,Scrie Off remarcabile Suma,
+Terms and Conditions Details,Termeni și condiții Detalii,
+Is Internal Customer,Este client intern,
+Is Discounted,Este redus,
+Unpaid and Discounted,Neplătit și redus,
+Overdue and Discounted,Întârziat și redus,
+Accounting Details,Detalii Contabilitate,
+Debit To,Debit Pentru,
+Is Opening Entry,Deschiderea este de intrare,
+C-Form Applicable,Formular-C aplicabil,
+Commission Rate (%),Rata de Comision (%),
+Sales Team1,Vânzări TEAM1,
+Against Income Account,Comparativ contului de venit,
+Sales Invoice Advance,Factura Vanzare Advance,
+Advance amount,Sumă în avans,
+Sales Invoice Item,Factură de vânzări Postul,
+Customer's Item Code,Cod Articol Client,
+Brand Name,Denumire marcă,
+Qty as per Stock UOM,Cantitate conform Stock UOM,
+Discount and Margin,Reducere și marja de profit,
+Rate With Margin,Rate cu marjă,
+Discount (%) on Price List Rate with Margin,Reducere (%) la rata de listă cu marjă,
+Rate With Margin (Company Currency),Rata cu marjă (moneda companiei),
+Delivered By Supplier,Livrate de Furnizor,
+Deferred Revenue,Venituri amânate,
+Deferred Revenue Account,Contul de venituri amânate,
+Enable Deferred Revenue,Activați venitul amânat,
+Stock Details,Stoc Detalii,
+Customer Warehouse (Optional),Depozit de client (opțional),
+Available Batch Qty at Warehouse,Cantitate lot disponibilă în depozit,
+Available Qty at Warehouse,Cantitate disponibilă în depozit,
+Delivery Note Item,Articol de nota de Livrare,
+Base Amount (Company Currency),Suma de bază (Companie Moneda),
+Sales Invoice Timesheet,Vânzări factură Pontaj,
+Time Sheet,Fișa de timp,
+Billing Hours,Ore de facturare,
+Timesheet Detail,Detalii pontaj,
+Tax Amount After Discount Amount (Company Currency),Suma impozitului pe urma Discount Suma (companie de valuta),
+Item Wise Tax Detail,Detaliu Taxa Avizata Articol,
+Parenttype,ParentType,
+"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","Șablon de impozitare standard, care pot fi aplicate la toate tranzacțiile de vânzare. Acest model poate conține lista de capete fiscale și, de asemenea, mai multe capete de cheltuieli / venituri, cum ar fi ""de transport"", ""asigurare"", ""manipulare"" etc. \n\n #### Notă \n\n vă Rata de impozitare defini aici va fi cota de impozitare standard pentru toate Articole ** **. Dacă există articole ** **, care au preturi diferite, acestea trebuie să fie adăugate în ** Impozitul Postul ** masă în ** ** postul comandantului.\n\n #### Descrierea de coloane \n\n 1. Calcul Tip: \n - Acest lucru poate fi pe ** net total ** (care este suma cuantum de bază).\n - ** La rândul precedent Raport / Suma ** (pentru impozite sau taxe cumulative). Dacă selectați această opțiune, impozitul va fi aplicat ca procent din rândul anterior (în tabelul de impozitare) suma totală sau.\n - ** ** Real (după cum sa menționat).\n 2. Șeful cont: Registrul cont în care acest impozit va fi rezervat \n 3. Cost Center: În cazul în care taxa / taxa este un venit (cum ar fi de transport maritim) sau cheltuieli trebuie să se rezervat împotriva unui centru de cost.\n 4. Descriere: Descriere a taxei (care vor fi tipărite în facturi / citate).\n 5. Notă: Rata de Profit Brut.\n 6. Suma: suma taxei.\n 7. Total: total cumulat la acest punct.\n 8. Introduceți Row: Dacă bazat pe ""Înapoi Row Total"", puteți selecta numărul rând care vor fi luate ca bază pentru acest calcul (implicit este rândul precedent).\n 9. Este Brut inclus în rata de bază ?: Dacă verifica acest lucru, înseamnă că acest impozit nu va fi arătată tabelul de mai jos articol, dar vor fi incluse în rata de bază din tabelul punctul principal. Acest lucru este util în cazul în care doriți dau un preț plat (cu toate taxele incluse) preț pentru clienți.",
+* Will be calculated in the transaction.,* Va fi calculat în cadrul tranzacției.,
+From No,De la nr,
+To No,Pentru a Nu,
+Is Company,Este compania,
+Current State,Starea curenta,
+Purchased,Cumparate,
+From Shareholder,De la acționar,
+From Folio No,Din Folio nr,
+To Shareholder,Pentru acționar,
+To Folio No,Pentru Folio nr,
+Equity/Liability Account,Contul de capitaluri proprii,
+Asset Account,Cont de active,
+(including),(inclusiv),
+ACC-SH-.YYYY.-,ACC-SH-.YYYY.-,
+Folio no.,Folio nr.,
+Address and Contacts,Adresa și Contacte,
+Contact List,Listă de contacte,
+Hidden list maintaining the list of contacts linked to Shareholder,Lista ascunsă menținând lista contactelor legate de acționar,
+Specify conditions to calculate shipping amount,Precizați condițiile de calcul cantitate de transport maritim,
+Shipping Rule Label,Regula de transport maritim Label,
+example: Next Day Shipping,exemplu: Next Day Shipping,
+Shipping Rule Type,Tipul regulii de transport,
+Shipping Account,Contul de transport maritim,
+Calculate Based On,Calculaţi pe baza,
+Fixed,Fix,
+Net Weight,Greutate netă,
+Shipping Amount,Suma de transport maritim,
+Shipping Rule Conditions,Condiții Regula de transport maritim,
+Restrict to Countries,Limitează la Țări,
+Valid for Countries,Valabil pentru țările,
+Shipping Rule Condition,Regula Condiții presetate,
+A condition for a Shipping Rule,O condiție pentru o normă de transport,
+From Value,Din Valoare,
+To Value,La valoarea,
+Shipping Rule Country,Regula de transport maritim Tara,
+Subscription Period,Perioada de abonament,
+Subscription Start Date,Data de începere a abonamentului,
+Cancelation Date,Data Anulării,
+Trial Period Start Date,Perioada de începere a perioadei de încercare,
+Trial Period End Date,Data de încheiere a perioadei de încercare,
+Current Invoice Start Date,Data de începere a facturii actuale,
+Current Invoice End Date,Data de încheiere a facturii actuale,
+Days Until Due,Zile Până la Termen,
+Number of days that the subscriber has to pay invoices generated by this subscription,Numărul de zile în care abonatul trebuie să plătească facturile generate de acest abonament,
+Cancel At End Of Period,Anulați la sfârșitul perioadei,
+Generate Invoice At Beginning Of Period,Generați factura la începutul perioadei,
+Plans,Planuri,
+Discounts,reduceri,
+Additional DIscount Percentage,Procent Discount Suplimentar,
+Additional DIscount Amount,Valoare discount-ului suplimentar,
+Subscription Invoice,Factura de abonament,
+Subscription Plan,Planul de abonament,
+Cost,Cost,
+Billing Interval,Intervalul de facturare,
+Billing Interval Count,Intervalul de facturare,
+"Number of intervals for the interval field e.g if Interval is 'Days' and Billing Interval Count is 3, invoices will be generated every 3 days","Numărul de intervale pentru câmpul intervalului, de exemplu, dacă Intervalul este &quot;Zile&quot; și Numărul de intervale de facturare este de 3, facturile vor fi generate la fiecare 3 zile",
+Payment Plan,Plan de plată,
+Subscription Plan Detail,Detaliile planului de abonament,
+Plan,Plan,
+Subscription Settings,Setările pentru abonament,
+Grace Period,Perioadă de grație,
+Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Numărul de zile după expirarea datei facturii înainte de a anula abonamentul sau marcarea abonamentului ca neplătit,
+Prorate,Prorate,
+Tax Rule,Regula de impozitare,
+Tax Type,Tipul de impozitare,
+Use for Shopping Cart,Utilizați pentru Cos de cumparaturi,
+Billing City,Oraș de facturare,
+Billing County,Județ facturare,
+Billing State,Situatie facturare,
+Billing Zipcode,Cod poștal de facturare,
+Billing Country,Țara facturării,
+Shipping City,Transport Oraș,
+Shipping County,County transport maritim,
+Shipping State,Stat de transport maritim,
+Shipping Zipcode,Cod poștal de expediere,
+Shipping Country,Transport Tara,
+Tax Withholding Account,Contul de reținere fiscală,
+Tax Withholding Rates,Ratele de reținere fiscală,
+Rates,Tarife,
+Tax Withholding Rate,Rata reținerii fiscale,
+Single Transaction Threshold,Singurul prag de tranzacție,
+Cumulative Transaction Threshold,Valoarea cumulată a tranzacției,
+Agriculture Analysis Criteria,Criterii de analiză a agriculturii,
+Linked Doctype,Legate de Doctype,
+Water Analysis,Analiza apei,
+Soil Analysis,Analiza solului,
+Plant Analysis,Analiza plantelor,
+Fertilizer,Îngrăşământ,
+Soil Texture,Textura solului,
+Weather,Vreme,
+Agriculture Manager,Directorul Agriculturii,
+Agriculture User,Utilizator agricol,
+Agriculture Task,Agricultura,
+Task Name,Sarcina Nume,
+Start Day,Ziua de început,
+End Day,Sfârșitul zilei,
+Holiday Management,Gestionarea concediului,
+Ignore holidays,Ignorați sărbătorile,
+Previous Business Day,Ziua lucrătoare anterioară,
+Next Business Day,Ziua următoare de lucru,
+Urgent,De urgență,
+Crop,A decupa,
+Crop Name,Numele plantei,
+Scientific Name,Nume stiintific,
+"You can define all the tasks which need to carried out for this crop here. The day field is used to mention the day on which the task needs to be carried out, 1 being the 1st day, etc.. ","Puteți defini toate sarcinile care trebuie îndeplinite pentru această recoltă aici. Câmpul de zi este folosit pentru a menționa ziua în care sarcina trebuie efectuată, 1 fiind prima zi, etc.",
+Crop Spacing,Decuparea culturii,
+Crop Spacing UOM,Distanțarea culturii UOM,
+Row Spacing,Spațierea rândului,
+Row Spacing UOM,Rândul de spațiu UOM,
+Perennial,peren,
+Biennial,Bienal,
+Planting UOM,Plantarea UOM,
+Planting Area,Zona de plantare,
+Yield UOM,Randamentul UOM,
+Materials Required,Materiale necesare,
+Produced Items,Articole produse,
+Produce,Legume şi fructe,
+Byproducts,produse secundare,
+Linked Location,Locație conectată,
+A link to all the Locations in which the Crop is growing,O legătură către toate locațiile în care cultura este în creștere,
+This will be day 1 of the crop cycle,Aceasta va fi prima zi a ciclului de cultură,
+ISO 8601 standard,Standardul ISO 8601,
+Cycle Type,Tip ciclu,
+Less than a year,Mai putin de un an,
+The minimum length between each plant in the field for optimum growth,Lungimea minimă dintre fiecare plantă din câmp pentru creștere optimă,
+The minimum distance between rows of plants for optimum growth,Distanța minimă dintre rânduri de plante pentru creștere optimă,
+Detected Diseases,Au detectat bolile,
+List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,"Lista bolilor detectate pe teren. Când este selectată, va adăuga automat o listă de sarcini pentru a face față bolii",
+Detected Disease,Boala detectată,
+LInked Analysis,Analiza analizată,
+Disease,boală,
+Tasks Created,Sarcini create,
+Common Name,Denumire Comună,
+Treatment Task,Sarcina de tratament,
+Treatment Period,Perioada de tratament,
+Fertilizer Name,Denumirea îngrășămintelor,
+Density (if liquid),Densitatea (dacă este lichidă),
+Fertilizer Contents,Conținutul de îngrășăminte,
+Fertilizer Content,Conținut de îngrășăminte,
+Linked Plant Analysis,Analiza plantelor conectate,
+Linked Soil Analysis,Analiza solului conectat,
+Linked Soil Texture,Textură de sol conectată,
+Collection Datetime,Data colecției,
+Laboratory Testing Datetime,Timp de testare a laboratorului,
+Result Datetime,Rezultat Datatime,
+Plant Analysis Criterias,Condiții de analiză a plantelor,
+Plant Analysis Criteria,Criterii de analiză a plantelor,
+Minimum Permissible Value,Valoarea minimă admisă,
+Maximum Permissible Value,Valoarea maximă admisă,
+Ca/K,Ca / K,
+Ca/Mg,Ca / Mg,
+Mg/K,Mg / K,
+(Ca+Mg)/K,(Ca + Mg) / K,
+Ca/(K+Ca+Mg),Ca / (K + Ca + Mg),
+Soil Analysis Criterias,Criterii de analiză a solului,
+Soil Analysis Criteria,Criterii de analiză a solului,
+Soil Type,Tipul de sol,
+Loamy Sand,Nisip argilos,
+Sandy Loam,Sandy Loam,
+Loam,Lut,
+Silt Loam,Silt Loam,
+Sandy Clay Loam,Sandy Clay Loam,
+Clay Loam,Argilos,
+Silty Clay Loam,Silty Clay Loam,
+Sandy Clay,Sandy Clay,
+Silty Clay,Lut de râu,
+Clay Composition (%),Compoziția de lut (%),
+Sand Composition (%),Compoziția nisipului (%),
+Silt Composition (%),Compoziția Silt (%),
+Ternary Plot,Ternar Plot,
+Soil Texture Criteria,Criterii de textură a solului,
+Type of Sample,Tipul de eșantion,
+Container,recipient,
+Origin,Origine,
+Collection Temperature ,Temperatura colecției,
+Storage Temperature,Temperatura de depozitare,
+Appearance,Aspect,
+Person Responsible,Persoană responsabilă,
+Water Analysis Criteria,Criterii de analiză a apei,
+Weather Parameter,Parametrul vremii,
+ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
+Asset Owner,Proprietarul de proprietar,
+Asset Owner Company,Societatea de proprietari de active,
+Custodian,Custode,
+Disposal Date,eliminare Data,
+Journal Entry for Scrap,Intrare Jurnal pentru Deșeuri,
+Available-for-use Date,Data disponibilă pentru utilizare,
+Calculate Depreciation,Calculează Amortizare,
+Allow Monthly Depreciation,Permite amortizarea lunară,
+Number of Depreciations Booked,Numărul de Deprecieri rezervat,
+Finance Books,Cărți de finanțare,
+Straight Line,Linie dreapta,
+Double Declining Balance,Dublu degresive,
+Manual,Manual,
+Value After Depreciation,Valoarea după amortizare,
+Total Number of Depreciations,Număr total de Deprecieri,
+Frequency of Depreciation (Months),Frecventa de amortizare (Luni),
+Next Depreciation Date,Data următoarei amortizări,
+Depreciation Schedule,Program de amortizare,
+Depreciation Schedules,Orarele de amortizare,
+Insurance details,Detalii de asigurare,
+Policy number,Numărul politicii,
+Insurer,Asiguratorul,
+Insured value,Valoarea asigurată,
+Insurance Start Date,Data de începere a asigurării,
+Insurance End Date,Data de încheiere a asigurării,
+Comprehensive Insurance,Asigurare completă,
+Maintenance Required,Mentenanță Necesară,
+Check if Asset requires Preventive Maintenance or Calibration,Verificați dacă activul necesită întreținere preventivă sau calibrare,
+Booked Fixed Asset,Carte imobilizată rezervată,
+Purchase Receipt Amount,Suma chitanței de cumpărare,
+Default Finance Book,Cartea de finanțare implicită,
+Quality Manager,Manager de calitate,
+Asset Category Name,Nume activ Categorie,
+Depreciation Options,Opțiunile de amortizare,
+Enable Capital Work in Progress Accounting,Activați activitatea de capital în contabilitate în curs,
+Finance Book Detail,Detaliile cărții de finanțe,
+Asset Category Account,Cont activ Categorie,
+Fixed Asset Account,Cont activ fix,
+Accumulated Depreciation Account,Cont Amortizarea cumulată,
+Depreciation Expense Account,Contul de amortizare de cheltuieli,
+Capital Work In Progress Account,Activitatea de capital în curs de desfășurare,
+Asset Finance Book,Cartea de finanțare a activelor,
+Written Down Value,Valoarea scrise în jos,
+Expected Value After Useful Life,Valoarea așteptată după viață utilă,
+Rate of Depreciation,Rata de depreciere,
+In Percentage,În procent,
+Maintenance Team,Echipă de Mentenanță,
+Maintenance Manager Name,Nume Manager Mentenanță,
+Maintenance Tasks,Sarcini de Mentenanță,
+Manufacturing User,Producție de utilizare,
+Asset Maintenance Log,Jurnalul de întreținere a activelor,
+ACC-AML-.YYYY.-,ACC-CSB-.YYYY.-,
+Maintenance Type,Tip Mentenanta,
+Maintenance Status,Stare Mentenanta,
+Planned,Planificat,
+Has Certificate ,Are certificat,
+Certificate,Certificat,
+Actions performed,Acțiuni efectuate,
+Asset Maintenance Task,Activitatea de întreținere a activelor,
+Maintenance Task,Activitate Mentenanță,
+Preventive Maintenance,Mentenanță preventivă,
+Calibration,Calibrare,
+2 Yearly,2 Anual,
+Certificate Required,Certificat necesar,
+Assign to Name,Atribuiți la Nume,
+Next Due Date,Data următoare,
+Last Completion Date,Ultima dată de finalizare,
+Asset Maintenance Team,Echipa de întreținere a activelor,
+Maintenance Team Name,Nume Echipă de Mentenanță,
+Maintenance Team Members,Membri Echipă de Mentenanță,
+Purpose,Scopul,
+Stock Manager,Stock Manager,
+Asset Movement Item,Element de mișcare a activelor,
+Source Location,Locația sursei,
+From Employee,Din Angajat,
+Target Location,Locația țintă,
+To Employee,Pentru angajat,
+Asset Repair,Repararea activelor,
+ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
+Failure Date,Dată de nerespectare,
+Assign To Name,Alocați nume,
+Repair Status,Stare de reparare,
+Error Description,Descrierea erorii,
+Downtime,downtime,
+Repair Cost,Costul reparațiilor,
+Manufacturing Manager,Manager de Producție,
+Current Asset Value,Valoarea activului curent,
+New Asset Value,Valoare nouă a activelor,
+Make Depreciation Entry,Asigurați-vă Amortizarea Intrare,
+Finance Book Id,Numărul cărții de credit,
+Location Name,Numele locatiei,
+Parent Location,Locația părintească,
+Is Container,Este Container,
+Check if it is a hydroponic unit,Verificați dacă este o unitate hidroponică,
+Location Details,Detalii despre locație,
+Latitude,Latitudine,
+Longitude,Longitudine,
+Area,Zonă,
+Area UOM,Zona UOM,
+Tree Details,copac Detalii,
+Maintenance Team Member,Membru Echipă de Mentenanță,
+Team Member,Membru al echipei,
+Maintenance Role,Rol de Mentenanță,
+Buying Settings,Configurări cumparare,
+Settings for Buying Module,Setări pentru cumparare Modulul,
+Supplier Naming By,Furnizor de denumire prin,
+Default Supplier Group,Grupul prestabilit de furnizori,
+Default Buying Price List,Lista de POrețuri de Cumparare Implicita,
+Backflush Raw Materials of Subcontract Based On,Materiile de bază din substratul bazat pe,
+Material Transferred for Subcontract,Material transferat pentru subcontractare,
+Over Transfer Allowance (%),Indemnizație de transfer peste (%),
+Percentage you are allowed to transfer more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to transfer 110 units.,"Procentaj pe care vi se permite să transferați mai mult în raport cu cantitatea comandată. De exemplu: Dacă ați comandat 100 de unități. iar alocația dvs. este de 10%, atunci vi se permite să transferați 110 unități.",
+PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
+Get Items from Open Material Requests,Obține elemente din materiale Cereri deschide,
+Fetch items based on Default Supplier.,Obțineți articole pe baza furnizorului implicit.,
+Required By,Cerute de,
+Order Confirmation No,Confirmarea nr,
+Order Confirmation Date,Data de confirmare a comenzii,
+Customer Mobile No,Client Mobile Nu,
+Customer Contact Email,Contact Email client,
+Set Target Warehouse,Stabilește Depozitul țintă,
+Sets 'Warehouse' in each row of the Items table.,Setează „Depozit” în fiecare rând al tabelului Elemente.,
+Supply Raw Materials,Aprovizionarea cu materii prime,
+Purchase Order Pricing Rule,Regula de preț a comenzii de achiziție,
+Set Reserve Warehouse,Set Rezerva Depozit,
+In Words will be visible once you save the Purchase Order.,În cuvinte va fi vizibil după ce a salva Ordinul de cumparare.,
+Advance Paid,Avans plătit,
+Tracking,Urmărirea,
+% Billed,% Facurat,
+% Received,% Primit,
+Ref SQ,Ref SQ,
+Inter Company Order Reference,Referință de comandă între companii,
+Supplier Part Number,Furnizor Număr,
+Billed Amt,Suma facturată,
+Warehouse and Reference,Depozit și Referință,
+To be delivered to customer,Pentru a fi livrat clientului,
+Material Request Item,Material Cerere Articol,
+Supplier Quotation Item,Furnizor ofertă Articol,
+Against Blanket Order,Împotriva ordinului pătură,
+Blanket Order,Ordinul de ștergere,
+Blanket Order Rate,Rata de comandă a plicului,
+Returned Qty,Cant. Returnată,
+Purchase Order Item Supplied,Comandă de aprovizionare Articol Livrat,
+BOM Detail No,Detaliu BOM nr.,
+Stock Uom,Stoc UOM,
+Raw Material Item Code,Cod Articol Materie Prima,
+Supplied Qty,Furnizat Cantitate,
+Purchase Receipt Item Supplied,Primirea de cumpărare Articol Livrat,
+Current Stock,Stoc curent,
+PUR-RFQ-.YYYY.-,PUR-RFQ-.YYYY.-,
+For individual supplier,Pentru furnizor individual,
+Link to Material Requests,Link către cereri de materiale,
+Message for Supplier,Mesaj pentru Furnizor,
+Request for Quotation Item,Articol Cerere de Oferta,
+Required Date,Data de livrare ceruta,
+Request for Quotation Supplier,Furnizor Cerere de Ofertă,
+Send Email,Trimiteți-ne email,
+Quote Status,Citat Stare,
+Download PDF,descarcă PDF,
+Supplier of Goods or Services.,Furnizor de bunuri sau servicii.,
+Name and Type,Numele și tipul,
+SUP-.YYYY.-,SUP-.YYYY.-,
+Default Bank Account,Cont Bancar Implicit,
+Is Transporter,Este Transporter,
+Represents Company,Reprezintă Compania,
+Supplier Type,Furnizor Tip,
+Allow Purchase Invoice Creation Without Purchase Order,Permiteți crearea facturii de cumpărare fără comandă de achiziție,
+Allow Purchase Invoice Creation Without Purchase Receipt,Permiteți crearea facturii de cumpărare fără chitanță de cumpărare,
+Warn RFQs,Aflați RFQ-urile,
+Warn POs,Avertizează PO-urile,
+Prevent RFQs,Preveniți RFQ-urile,
+Prevent POs,Preveniți PO-urile,
+Billing Currency,Moneda de facturare,
+Default Payment Terms Template,Șablonul Termenii de plată standard,
+Block Supplier,Furnizorul de blocuri,
+Hold Type,Tineți tip,
+Leave blank if the Supplier is blocked indefinitely,Lăsați necompletat dacă Furnizorul este blocat pe o perioadă nedeterminată,
+Default Payable Accounts,Implicit conturi de plătit,
+Mention if non-standard payable account,Menționați dacă contul de plată non-standard,
+Default Tax Withholding Config,Config,
+Supplier Details,Detalii furnizor,
+Statutory info and other general information about your Supplier,Info statutar și alte informații generale despre dvs. de Furnizor,
+PUR-SQTN-.YYYY.-,PUR-SQTN-.YYYY.-,
+Supplier Address,Furnizor Adresa,
+Link to material requests,Link la cererile de materiale,
+Rounding Adjustment (Company Currency,Rotunjire ajustare (moneda companiei,
+Auto Repeat Section,Se repetă secțiunea Auto,
+Is Subcontracted,Este subcontractată,
+Lead Time in days,Timp Pistă în zile,
+Supplier Score,Scorul furnizorului,
+Indicator Color,Indicator Culoare,
+Evaluation Period,Perioada de evaluare,
+Per Week,Pe saptamana,
+Per Month,Pe luna,
+Per Year,Pe an,
+Scoring Setup,Punctul de configurare,
+Weighting Function,Funcție de ponderare,
+"Scorecard variables can be used, as well as:\n{total_score} (the total score from that period),\n{period_number} (the number of periods to present day)\n","Variabilele caracterelor pot fi utilizate, precum și: {total_score} (scorul total din acea perioadă), {period_number} (numărul de perioade până în prezent)",
+Scoring Standings,Puncte de scor,
+Criteria Setup,Setarea criteriilor,
+Load All Criteria,Încărcați toate criteriile,
+Scoring Criteria,Criterii de evaluare,
+Scorecard Actions,Caracteristicile Scorecard,
+Warn for new Request for Quotations,Avertizare pentru o nouă solicitare de ofertă,
+Warn for new Purchase Orders,Avertizați pentru comenzi noi de achiziție,
+Notify Supplier,Notificați Furnizor,
+Notify Employee,Notificați angajatul,
+Supplier Scorecard Criteria,Criteriile Scorecard pentru furnizori,
+Criteria Name,Numele de criterii,
+Max Score,Scor maxim,
+Criteria Formula,Criterii Formula,
+Criteria Weight,Criterii Greutate,
+Supplier Scorecard Period,Perioada de evaluare a furnizorului,
+PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
+Period Score,Scorul perioadei,
+Calculations,Calculele,
+Criteria,criterii,
+Variables,variabile,
+Supplier Scorecard Setup,Setarea Scorecard pentru furnizori,
+Supplier Scorecard Scoring Criteria,Criteriile de evaluare a Scorecard-ului furnizorului,
+Score,Scor,
+Supplier Scorecard Scoring Standing,Scorecard pentru Scorecard furnizor,
+Standing Name,Numele permanent,
+Purple,Violet,
+Yellow,Galben,
+Orange,portocale,
+Min Grade,Gradul minim,
+Max Grade,Max Grad,
+Warn Purchase Orders,Avertizați comenzile de cumpărare,
+Prevent Purchase Orders,Împiedicați comenzile de achiziție,
+Employee ,Angajat,
+Supplier Scorecard Scoring Variable,Scorul variabil al scorului de performanță al furnizorului,
+Variable Name,Numele variabil,
+Parameter Name,Nume parametru,
+Supplier Scorecard Standing,Graficul Scorecard pentru furnizori,
+Notify Other,Notificați alta,
+Supplier Scorecard Variable,Variabila tabelului de variabile pentru furnizori,
+Call Log,Jurnal de Apel,
+Received By,Primit de,
+Caller Information,Informații despre apelant,
+Contact Name,Nume Persoana de Contact,
+Lead ,Conduce,
+Lead Name,Nume Pistă,
+Ringing,țiuit,
+Missed,Pierdute,
+Call Duration in seconds,Durata apelului în câteva secunde,
+Recording URL,Înregistrare URL,
+Communication Medium,Comunicare Mediu,
+Communication Medium Type,Tip mediu de comunicare,
+Voice,Voce,
+Catch All,Prindele pe toate,
+"If there is no assigned timeslot, then communication will be handled by this group","Dacă nu există un interval de timp alocat, comunicarea va fi gestionată de acest grup",
+Timeslots,Intervale de timp,
+Communication Medium Timeslot,Timeslot mediu de comunicare,
+Employee Group,Grupul de angajați,
+Appointment,Programare,
+Scheduled Time,Timpul programat,
+Unverified,neverificat,
+Customer Details,Detalii Client,
+Phone Number,Numar de telefon,
+Skype ID,ID Skype,
+Linked Documents,Documente legate,
+Appointment With,Programare cu,
+Calendar Event,Calendar Eveniment,
+Appointment Booking Settings,Setări rezervare numire,
+Enable Appointment Scheduling,Activați programarea programării,
+Agent Details,Detalii agent,
+Availability Of Slots,Disponibilitatea sloturilor,
+Number of Concurrent Appointments,Numărul de întâlniri simultane,
+Agents,agenţi,
+Appointment Details,Detalii despre numire,
+Appointment Duration (In Minutes),Durata numirii (în proces-verbal),
+Notify Via Email,Notificați prin e-mail,
+Notify customer and agent via email on the day of the appointment.,Notificați clientul și agentul prin e-mail în ziua programării.,
+Number of days appointments can be booked in advance,Numărul de întâlniri de zile poate fi rezervat în avans,
+Success Settings,Setări de succes,
+Success Redirect URL,Adresa URL de redirecționare,
+"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Lăsați gol pentru casă. Aceasta este relativă la adresa URL a site-ului, de exemplu „despre” se va redirecționa la „https://yoursitename.com/about”",
+Appointment Booking Slots,Rezervare pentru sloturi de rezervare,
+Day Of Week,Zi a Săptămânii,
+From Time ,Din Time,
+Campaign Email Schedule,Program de e-mail al campaniei,
+Send After (days),Trimite După (zile),
+Signed,Semnat,
+Party User,Utilizator de petreceri,
+Unsigned,Nesemnat,
+Fulfilment Status,Starea de îndeplinire,
+N/A,N / A,
+Unfulfilled,neîmplinit,
+Partially Fulfilled,Parțial îndeplinite,
+Fulfilled,Fulfilled,
+Lapsed,caducă,
+Contract Period,Perioada contractuala,
+Signee Details,Signee Detalii,
+Signee,Signee,
+Signed On,Signed On,
+Contract Details,Detaliile contractului,
+Contract Template,Model de contract,
+Contract Terms,Termenii contractului,
+Fulfilment Details,Detalii de execuție,
+Requires Fulfilment,Necesită îndeplinirea,
+Fulfilment Deadline,Termenul de îndeplinire,
+Fulfilment Terms,Condiții de îndeplinire,
+Contract Fulfilment Checklist,Lista de verificare a executării contului,
+Requirement,Cerinţă,
+Contract Terms and Conditions,Termeni și condiții contractuale,
+Fulfilment Terms and Conditions,Condiții și condiții de îndeplinire,
+Contract Template Fulfilment Terms,Termenii de îndeplinire a modelului de contract,
+Email Campaign,Campania de e-mail,
+Email Campaign For ,Campanie prin e-mail,
+Lead is an Organization,Pista este o Organizație,
+CRM-LEAD-.YYYY.-,CRM-LEAD-.YYYY.-,
+Person Name,Nume persoană,
+Lost Quotation,ofertă pierdută,
+Interested,Interesat,
+Converted,Transformat,
+Do Not Contact,Nu contactati,
+From Customer,De la Client,
+Campaign Name,Denumire campanie,
+Follow Up,Urmare,
+Next Contact By,Următor Contact Prin,
+Next Contact Date,Următor Contact Data,
+Ends On,Se termină pe,
+Address & Contact,Adresă și contact,
+Mobile No.,Numar de mobil,
+Lead Type,Tip Pistă,
+Channel Partner,Partner Canal,
+Consultant,Consultant,
+Market Segment,Segmentul de piață,
+Industry,Industrie,
+Request Type,Tip Cerere,
+Product Enquiry,Intrebare produs,
+Request for Information,Cerere de informații,
+Suggestions,Sugestii,
+Blog Subscriber,Abonat blog,
+LinkedIn Settings,Setări LinkedIn,
+Company ID,ID-ul companiei,
+OAuth Credentials,Acreditări OAuth,
+Consumer Key,Cheia consumatorului,
+Consumer Secret,Secretul consumatorului,
+User Details,Detalii utilizator,
+Person URN,Persoana URN,
+Session Status,Starea sesiunii,
+Lost Reason Detail,Detaliu ratiune pierduta,
+Opportunity Lost Reason,Motivul pierdut din oportunitate,
+Potential Sales Deal,Oferta potențiale Vânzări,
+CRM-OPP-.YYYY.-,CRM-OPP-.YYYY.-,
+Opportunity From,Oportunitate de la,
+Customer / Lead Name,Client / Nume Principal,
+Opportunity Type,Tip de oportunitate,
+Converted By,Convertit de,
+Sales Stage,Stadiu Vânzări,
+Lost Reason,Motiv Pierdere,
+Expected Closing Date,Data de închidere preconizată,
+To Discuss,Pentru a discuta,
+With Items,Cu articole,
+Probability (%),Probabilitate (%),
+Contact Info,Informaţii Persoana de Contact,
+Customer / Lead Address,Client / Adresa principala,
+Contact Mobile No,Nr. Mobil Persoana de Contact,
+Enter name of campaign if source of enquiry is campaign,Introduceți numele de campanie dacă sursa de anchetă este campanie,
+Opportunity Date,Oportunitate Data,
+Opportunity Item,Oportunitate Articol,
+Basic Rate,Rată elementară,
+Stage Name,Nume de Scenă,
+Social Media Post,Postare pe rețelele sociale,
+Post Status,Stare postare,
+Posted,Postat,
+Share On,Distribuie pe,
+Twitter,Stare de nervozitate,
+LinkedIn,LinkedIn,
+Twitter Post Id,Codul postării pe Twitter,
+LinkedIn Post Id,Cod postare LinkedIn,
+Tweet,Tweet,
+Twitter Settings,Setări Twitter,
+API Secret Key,Cheia secretă API,
+Term Name,Nume termen,
+Term Start Date,Termenul Data de începere,
+Term End Date,Termenul Data de încheiere,
+Academics User,Utilizator cadru pedagogic,
+Academic Year Name,Nume An Universitar,
+Article,Articol,
+LMS User,Utilizator LMS,
+Assessment Criteria Group,Grup de criterii de evaluare,
+Assessment Group Name,Numele grupului de evaluare,
+Parent Assessment Group,Grup părinte de evaluare,
+Assessment Name,Nume evaluare,
+Grading Scale,Scala de notare,
+Examiner,Examinator,
+Examiner Name,Nume examinator,
+Supervisor,supraveghetor,
+Supervisor Name,Nume supervizor,
+Evaluate,A evalua,
+Maximum Assessment Score,Scor maxim de evaluare,
+Assessment Plan Criteria,Criterii Plan de evaluare,
+Maximum Score,Scor maxim,
+Result,Rezultat,
+Total Score,Scorul total,
+Grade,calitate,
+Assessment Result Detail,Detalii rezultat evaluare,
+Assessment Result Tool,Instrument de Evaluare Rezultat,
+Result HTML,rezultat HTML,
+Content Activity,Activitate de conținut,
+Last Activity ,Ultima activitate,
+Content Question,Întrebare de conținut,
+Question Link,Link de întrebări,
+Course Name,Numele cursului,
+Topics,Subiecte,
+Hero Image,Imaginea eroului,
+Default Grading Scale,Scale Standard Standard folosit,
+Education Manager,Director de educație,
+Course Activity,Activitate de curs,
+Course Enrollment,Înscriere la curs,
+Activity Date,Data activității,
+Course Assessment Criteria,Criterii de evaluare a cursului,
+Weightage,Weightage,
+Course Content,Conținutul cursului,
+Quiz,chestionare,
+Program Enrollment,programul de înscriere,
+Enrollment Date,Data de inscriere,
+Instructor Name,Nume instructor,
+EDU-CSH-.YYYY.-,EDU-CSH-.YYYY.-,
+Course Scheduling Tool,Instrument curs de programare,
+Course Start Date,Data începerii cursului,
+To TIme,La timp,
+Course End Date,Desigur Data de încheiere,
+Course Topic,Subiectul cursului,
+Topic,Subiect,
+Topic Name,Nume subiect,
+Education Settings,Setări educaționale,
+Current Academic Year,Anul academic curent,
+Current Academic Term,Termen academic actual,
+Attendance Freeze Date,Data de înghețare a prezenței,
+Validate Batch for Students in Student Group,Validați lotul pentru elevii din grupul de studenți,
+"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.","Pentru grupul de studenți bazat pe loturi, lotul student va fi validat pentru fiecare student din înscrierea în program.",
+Validate Enrolled Course for Students in Student Group,Validați cursul înscris pentru elevii din grupul de studenți,
+"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.","Pentru grupul de studenți bazat pe cursuri, cursul va fi validat pentru fiecare student din cursurile înscrise în înscrierea în program.",
+Make Academic Term Mandatory,Asigurați-obligatoriu termenul academic,
+"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Dacă este activată, domeniul Academic Term va fi obligatoriu în Instrumentul de înscriere în program.",
+Skip User creation for new Student,Omiteți crearea utilizatorului pentru noul student,
+"By default, a new User is created for every new Student. If enabled, no new User will be created when a new Student is created.","În mod implicit, este creat un nou utilizator pentru fiecare student nou. Dacă este activat, nu va fi creat niciun utilizator nou atunci când este creat un nou student.",
+Instructor Records to be created by,Instructor de înregistrări care urmează să fie create de către,
+Employee Number,Numar angajat,
+Fee Category,Taxă Categorie,
+Fee Component,Taxa de Component,
+Fees Category,Taxele de Categoria,
+Fee Schedule,Taxa de Program,
+Fee Structure,Structura Taxa de,
+EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
+Fee Creation Status,Starea de creare a taxelor,
+In Process,În procesul de,
+Send Payment Request Email,Trimiteți e-mail de solicitare de plată,
+Student Category,Categoria de student,
+Fee Breakup for each student,Taxă pentru fiecare student,
+Total Amount per Student,Suma totală pe student,
+Institution,Instituţie,
+Fee Schedule Program,Programul programului de plăți,
+Student Batch,Lot de student,
+Total Students,Total studenți,
+Fee Schedule Student Group,Taxă Schedule Student Group,
+EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
+EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
+Include Payment,Includeți plata,
+Send Payment Request,Trimiteți Cerere de Plată,
+Student Details,Detalii studențești,
+Student Email,Student Email,
+Grading Scale Name,Standard Nume Scala,
+Grading Scale Intervals,Intervale de notare Scala,
+Intervals,intervale,
+Grading Scale Interval,Clasificarea Scala Interval,
+Grade Code,Cod grad,
+Threshold,Prag,
+Grade Description,grad Descriere,
+Guardian,gardian,
+Guardian Name,Nume tutore,
+Alternate Number,Număr alternativ,
+Occupation,Ocupaţie,
+Work Address,Adresa de,
+Guardian Of ,Guardian Of,
+Students,Elevi,
+Guardian Interests,Guardian Interese,
+Guardian Interest,Interes tutore,
+Interest,Interes,
+Guardian Student,Guardian Student,
+EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
+Instructor Log,Jurnalul instructorului,
+Other details,Alte detalii,
+Option,Opțiune,
+Is Correct,Este corect,
+Program Name,Numele programului,
+Program Abbreviation,Abreviere de program,
+Courses,cursuri,
+Is Published,Este publicat,
+Allow Self Enroll,Permiteți înscrierea de sine,
+Is Featured,Este prezentat,
+Intro Video,Introducere video,
+Program Course,Curs Program,
+School House,School House,
+Boarding Student,Student de internare,
+Check this if the Student is residing at the Institute's Hostel.,Verificați dacă studentul este rezident la Hostelul Institutului.,
+Walking,mers,
+Institute's Bus,Biblioteca Institutului,
+Public Transport,Transport public,
+Self-Driving Vehicle,Vehicul cu autovehicul,
+Pick/Drop by Guardian,Pick / Drop de Guardian,
+Enrolled courses,Cursuri înscrise,
+Program Enrollment Course,Curs de înscriere la curs,
+Program Enrollment Fee,Programul de înscriere Taxa,
+Program Enrollment Tool,Programul Instrumentul de înscriere,
+Get Students From,Elevii de la a lua,
+Student Applicant,Solicitantul elev,
+Get Students,Studenți primi,
+Enrollment Details,Detalii de înscriere,
+New Program,programul nou,
+New Student Batch,Noul lot de studenți,
+Enroll Students,Studenți Enroll,
+New Academic Year,Anul universitar nou,
+New Academic Term,Termen nou academic,
+Program Enrollment Tool Student,Programul de înscriere Instrumentul Student,
+Student Batch Name,Nume elev Lot,
+Program Fee,Taxa de program,
+Question,Întrebare,
+Single Correct Answer,Un singur răspuns corect,
+Multiple Correct Answer,Răspuns corect multiplu,
+Quiz Configuration,Configurarea testului,
+Passing Score,Scor de trecere,
+Score out of 100,Scor din 100,
+Max Attempts,Încercări maxime,
+Enter 0 to waive limit,Introduceți 0 până la limita de renunțare,
+Grading Basis,Bazele gradării,
+Latest Highest Score,Cel mai mare scor,
+Latest Attempt,Ultima încercare,
+Quiz Activity,Activitate de testare,
+Enrollment,înrolare,
+Pass,Trece,
+Quiz Question,Întrebare întrebare,
+Quiz Result,Rezultatul testului,
+Selected Option,Opțiunea selectată,
+Correct,Corect,
+Wrong,Gresit,
+Room Name,Nume Cameră,
+Room Number,Număr Cameră,
+Seating Capacity,Numărul de locuri,
+House Name,Numele casei,
+EDU-STU-.YYYY.-,EDU-STU-.YYYY.-,
+Student Mobile Number,Elev Număr mobil,
+Joining Date,Data Angajării,
+Blood Group,Grupă de sânge,
+A+,A+,
+A-,A-,
+B+,B +,
+B-,B-,
+O+,O +,
+O-,O-,
+AB+,AB+,
+AB-,AB-,
+Nationality,Naţionalitate,
+Home Address,Adresa de acasa,
+Guardian Details,Detalii tutore,
+Guardians,tutorii,
+Sibling Details,Detalii sibling,
+Siblings,siblings,
+Exit,Iesire,
+Date of Leaving,Data Părăsirii,
+Leaving Certificate Number,Părăsirea Număr certificat,
+Reason For Leaving,Motivul plecării,
+Student Admission,Admiterea studenților,
+Admission Start Date,Data de începere a Admiterii,
+Admission End Date,Data de încheiere Admiterii,
+Publish on website,Publica pe site-ul,
+Eligibility and Details,Eligibilitate și detalii,
+Student Admission Program,Programul de Admitere în Studenți,
+Minimum Age,Varsta minima,
+Maximum Age,Vârsta maximă,
+Application Fee,Taxă de aplicare,
+Naming Series (for Student Applicant),Seria de denumire (pentru Student Solicitant),
+LMS Only,Numai LMS,
+EDU-APP-.YYYY.-,EDU-APP-.YYYY.-,
+Application Status,Starea aplicației,
+Application Date,Data aplicării,
+Student Attendance Tool,Instrumentul de student Participarea,
+Group Based On,Grup pe baza,
+Students HTML,HTML studenții,
+Group Based on,Grup bazat pe,
+Student Group Name,Numele grupului studențesc,
+Max Strength,Putere max,
+Set 0 for no limit,0 pentru a seta nici o limită,
+Instructors,instructorii,
+Student Group Creation Tool,Instrumentul de creare a grupului de student,
+Leave blank if you make students groups per year,Lăsați necompletat dacă faceți grupuri de elevi pe an,
+Get Courses,Cursuri de a lua,
+Separate course based Group for every Batch,Separați un grup bazat pe cursuri pentru fiecare lot,
+Leave unchecked if you don't want to consider batch while making course based groups. ,Lăsați necontrolabil dacă nu doriți să luați în considerare lotul în timp ce faceți grupuri bazate pe curs.,
+Student Group Creation Tool Course,Curs de grup studențesc instrument de creare,
+Course Code,Codul cursului,
+Student Group Instructor,Student Grup Instructor,
+Student Group Student,Student Group Student,
+Group Roll Number,Numărul rolurilor de grup,
+Student Guardian,student la Guardian,
+Relation,Relație,
+Mother,Mamă,
+Father,tată,
+Student Language,Limba Student,
+Student Leave Application,Aplicație elev Concediul,
+Mark as Present,Marcați ca prezent,
+Student Log,Jurnal de student,
+Academic,Academic,
+Achievement,Realizare,
+Student Report Generation Tool,Instrumentul de generare a rapoartelor elevilor,
+Include All Assessment Group,Includeți tot grupul de evaluare,
+Show Marks,Afișați marcajele,
+Add letterhead,Adăugă Antet,
+Print Section,Imprimare secțiune,
+Total Parents Teacher Meeting,Întâlnire între profesorii de părinți,
+Attended by Parents,Participat de părinți,
+Assessment Terms,Termeni de evaluare,
+Student Sibling,elev Sibling,
+Studying in Same Institute,Studiind în același Institut,
+NO,NU,
+YES,Da,
+Student Siblings,Siblings Student,
+Topic Content,Conținut subiect,
+Amazon MWS Settings,Amazon MWS Settings,
+ERPNext Integrations,Integrări ERPNext,
+Enable Amazon,Activați Amazon,
+MWS Credentials,Certificatele MWS,
+Seller ID,ID-ul vânzătorului,
+AWS Access Key ID,Codul AWS Access Key,
+MWS Auth Token,MWS Auth Token,
+Market Place ID,ID-ul pieței,
+AE,AE,
+AU,AU,
+BR,BR,
+CA,CA,
+CN,CN,
+DE,DE,
+ES,ES,
+FR,FR,
+IN,ÎN,
+JP,JP,
+IT,ACEASTA,
+MX,MX,
+UK,Regatul Unit,
+US,S.U.A.,
+Customer Type,tip de client,
+Market Place Account Group,Grupul de cont de pe piață,
+After Date,După data,
+Amazon will synch data updated after this date,Amazon va sincroniza datele actualizate după această dată,
+Sync Taxes and Charges,Sincronizați taxele și taxele,
+Get financial breakup of Taxes and charges data by Amazon ,Obțineți despărțirea financiară a datelor fiscale și taxe de către Amazon,
+Sync Products,Produse de sincronizare,
+Always sync your products from Amazon MWS before synching the Orders details,Sincronizați întotdeauna produsele dvs. de la Amazon MWS înainte de a sincroniza detaliile comenzilor,
+Sync Orders,Sincronizați comenzile,
+Click this button to pull your Sales Order data from Amazon MWS.,Faceți clic pe acest buton pentru a vă trage datele de comandă de vânzări de la Amazon MWS.,
+Enable Scheduled Sync,Activați sincronizarea programată,
+Check this to enable a scheduled Daily synchronization routine via scheduler,Verificați acest lucru pentru a activa o rutină zilnică de sincronizare programată prin programator,
+Max Retry Limit,Max Retry Limit,
+Exotel Settings,Setări Exotel,
+Account SID,Cont SID,
+API Token,Token API,
+GoCardless Mandate,GoCardless Mandate,
+Mandate,Mandat,
+GoCardless Customer,Clientul GoCardless,
+GoCardless Settings,Setări GoCardless,
+Webhooks Secret,Webhooks Secret,
+Plaid Settings,Setări Plaid,
+Synchronize all accounts every hour,Sincronizați toate conturile în fiecare oră,
+Plaid Client ID,Cod client Plaid,
+Plaid Secret,Plaid Secret,
+Plaid Environment,Mediu plaid,
+sandbox,Sandbox,
+development,dezvoltare,
+production,producție,
+QuickBooks Migrator,QuickBooks Migrator,
+Application Settings,Setările aplicației,
+Token Endpoint,Token Endpoint,
+Scope,domeniu,
+Authorization Settings,Setările de autorizare,
+Authorization Endpoint,Autorizație,
+Authorization URL,Adresa de autorizare,
+Quickbooks Company ID,Coduri de identificare rapidă a companiei,
+Company Settings,Setări Company,
+Default Shipping Account,Contul de transport implicit,
+Default Warehouse,Depozit Implicit,
+Default Cost Center,Centru Cost Implicit,
+Undeposited Funds Account,Contul fondurilor nedeclarate,
+Shopify Log,Magazinul de jurnal,
+Request Data,Solicită Date,
+Shopify Settings,Rafinați setările,
+status html,starea html,
+Enable Shopify,Activați Shopify,
+App Type,Tipul aplicației,
+Last Sync Datetime,Ultima dată de sincronizare,
+Shop URL,Adresa URL magazin,
+eg: frappe.myshopify.com,de ex .: frappe.myshopify.com,
+Shared secret,Secret împărtășit,
+Webhooks Details,Detaliile Webhooks,
+Webhooks,Webhooks,
+Customer Settings,Setările clientului,
+Default Customer,Client Implicit,
+Customer Group will set to selected group while syncing customers from Shopify,Grupul de clienți va seta grupul selectat în timp ce va sincroniza clienții din Shopify,
+For Company,Pentru Companie,
+Cash Account will used for Sales Invoice creation,Contul de numerar va fi utilizat pentru crearea facturii de vânzări,
+Update Price from Shopify To ERPNext Price List,Actualizați prețul de la Shopify la lista de prețuri ERP următoare,
+Default Warehouse to to create Sales Order and Delivery Note,Warehouse implicit pentru a crea o comandă de vânzări și o notă de livrare,
+Sales Order Series,Seria de comandă de vânzări,
+Import Delivery Notes from Shopify on Shipment,Importă note de livrare de la Shopify la expediere,
+Delivery Note Series,Seria de note de livrare,
+Import Sales Invoice from Shopify if Payment is marked,Importă factura de vânzare din Shopify dacă este marcată plata,
+Sales Invoice Series,Seria de facturi de vânzări,
+Shopify Tax Account,Achiziționați contul fiscal,
+Shopify Tax/Shipping Title,Achiziționați titlul fiscal / transport,
+ERPNext Account,Contul ERPNext,
+Shopify Webhook Detail,Bucurați-vă de detaliile Webhook,
+Webhook ID,ID-ul Webhook,
+Tally Migration,Migrația de tip Tally,
+Master Data,Date Master,
+"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Date exportate de la Tally care constă din Planul de conturi, clienți, furnizori, adrese, articole și UOM-uri",
+Is Master Data Processed,Sunt prelucrate datele master,
+Is Master Data Imported,Sunt importate datele de master,
+Tally Creditors Account,Contul creditorilor Tally,
+Creditors Account set in Tally,Contul creditorilor stabilit în Tally,
+Tally Debtors Account,Contul debitorilor,
+Debtors Account set in Tally,Contul debitorilor stabilit în Tally,
+Tally Company,Tally Company,
+Company Name as per Imported Tally Data,Numele companiei conform datelor importate Tally,
+Default UOM,UOM implicit,
+UOM in case unspecified in imported data,UOM în cazul nespecificat în datele importate,
+ERPNext Company,Compania ERPNext,
+Your Company set in ERPNext,Compania dvs. a fost setată în ERPNext,
+Processed Files,Fișiere procesate,
+Parties,Petreceri,
+UOMs,UOMs,
+Vouchers,Bonuri,
+Round Off Account,Rotunji cont,
+Day Book Data,Date despre cartea de zi,
+Day Book Data exported from Tally that consists of all historic transactions,"Date din agenda de zi exportate din Tally, care constă în toate tranzacțiile istorice",
+Is Day Book Data Processed,Sunt prelucrate datele despre cartea de zi,
+Is Day Book Data Imported,Sunt importate datele despre cartea de zi,
+Woocommerce Settings,Setări Woocommerce,
+Enable Sync,Activați sincronizarea,
+Woocommerce Server URL,Adresa URL a serverului Woocommerce,
+Secret,Secret,
+API consumer key,Cheia pentru consumatori API,
+API consumer secret,Secretul consumatorului API,
+Tax Account,Contul fiscal,
+Freight and Forwarding Account,Contul de expediere și de expediere,
+Creation User,Utilizator creație,
+"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Utilizatorul care va fi utilizat pentru a crea clienți, articole și comenzi de vânzare. Acest utilizator ar trebui să aibă permisiunile relevante.",
+"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Acest depozit va fi folosit pentru a crea comenzi de vânzare. Depozitul în retragere este „Magazine”.,
+"The fallback series is ""SO-WOO-"".",Seria Fallback este „SO-WOO-”.,
+This company will be used to create Sales Orders.,Această companie va fi folosită pentru a crea comenzi de vânzare.,
+Delivery After (Days),Livrare după (zile),
+This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,Aceasta este compensarea implicită (zile) pentru data livrării în comenzile de vânzare. Decalarea compensării este de 7 zile de la data plasării comenzii.,
+"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Acesta este UOM-ul implicit utilizat pentru articole și comenzi de vânzări. UOM-ul în rezervă este „Nos”.,
+Endpoints,Endpoints,
+Endpoint,Punct final,
+Antibiotic Name,Numele antibioticului,
+Healthcare Administrator,Administrator de asistență medicală,
+Laboratory User,Utilizator de laborator,
+Is Inpatient,Este internat,
+Default Duration (In Minutes),Durata implicită (în minute),
+Body Part,Parte a corpului,
+Body Part Link,Legătura părții corpului,
+HLC-CPR-.YYYY.-,HLC-CPR-.YYYY.-,
+Procedure Template,Șablon de procedură,
+Procedure Prescription,Procedura de prescriere,
+Service Unit,Unitate de service,
+Consumables,Consumabile,
+Consume Stock,Consumați stocul,
+Invoice Consumables Separately,Consumabile facturate separat,
+Consumption Invoiced,Consum facturat,
+Consumable Total Amount,Suma totală consumabilă,
+Consumption Details,Detalii despre consum,
+Nursing User,Utilizator Nursing,
+Clinical Procedure Item,Articol de procedură clinică,
+Invoice Separately as Consumables,Factureaza distinct ca si consumabile,
+Transfer Qty,Cantitate transfer,
+Actual Qty (at source/target),Cant. efectivă (la sursă/destinaţie),
+Is Billable,Este facturabil,
+Allow Stock Consumption,Permiteți consumul de stoc,
+Sample UOM,Exemplu UOM,
+Collection Details,Detaliile colecției,
+Change In Item,Modificare element,
+Codification Table,Tabelul de codificare,
+Complaints,Reclamații,
+Dosage Strength,Dozabilitate,
+Strength,Putere,
+Drug Prescription,Droguri de prescripție,
+Drug Name / Description,Denumirea / descrierea medicamentului,
+Dosage,Dozare,
+Dosage by Time Interval,Dozaj după intervalul de timp,
+Interval,Interval,
+Interval UOM,Interval UOM,
+Hour,Oră,
+Update Schedule,Actualizați programul,
+Exercise,Exercițiu,
+Difficulty Level,Nivel de dificultate,
+Counts Target,Numără ținta,
+Counts Completed,Număruri finalizate,
+Assistance Level,Nivelul de asistență,
+Active Assist,Asistență activă,
+Exercise Name,Numele exercițiului,
+Body Parts,Parti ale corpului,
+Exercise Instructions,Instrucțiuni de exerciții,
+Exercise Video,Video de exerciții,
+Exercise Steps,Pași de exerciții,
+Steps,Pași,
+Steps Table,Tabelul Pașilor,
+Exercise Type Step,Tipul exercițiului Pas,
+Max number of visit,Numărul maxim de vizite,
+Visited yet,Vizitată încă,
+Reference Appointments,Programări de referință,
+Valid till,Valabil până la,
+Fee Validity Reference,Referința valabilității taxei,
+Basic Details,Detalii de bază,
+HLC-PRAC-.YYYY.-,HLC-PRAC-.YYYY.-,
+Mobile,Mobil,
+Phone (R),Telefon (R),
+Phone (Office),Telefon (Office),
+Employee and User Details,Detalii despre angajat și utilizator,
+Hospital,Spital,
+Appointments,Programari,
+Practitioner Schedules,Practitioner Schedules,
+Charges,Taxe,
+Out Patient Consulting Charge,Taxă de consultanță pentru pacienți,
+Default Currency,Monedă Implicită,
+Healthcare Schedule Time Slot,Programul de îngrijire a sănătății Time Slot,
+Parent Service Unit,Serviciul pentru părinți,
+Service Unit Type,Tip de unitate de service,
+Allow Appointments,Permiteți întâlnirilor,
+Allow Overlap,Permiteți suprapunerea,
+Inpatient Occupancy,Ocuparea locului de muncă,
+Occupancy Status,Starea ocupației,
+Vacant,Vacant,
+Occupied,Ocupat,
+Item Details,Detalii despre articol,
+UOM Conversion in Hours,Conversie UOM în ore,
+Rate / UOM,Rata / UOM,
+Change in Item,Modificați articolul,
+Out Patient Settings,Setări pentru pacient,
+Patient Name By,Nume pacient,
+Patient Name,Numele pacientului,
+Link Customer to Patient,Conectați clientul la pacient,
+"If checked, a customer will be created, mapped to Patient.\nPatient Invoices will be created against this Customer. You can also select existing Customer while creating Patient.","Dacă este bifată, va fi creat un client, cartografiat pacientului. Facturile de pacienți vor fi create împotriva acestui Client. De asemenea, puteți selecta Clientul existent în timp ce creați pacientul.",
+Default Medical Code Standard,Standardul medical standard standard,
+Collect Fee for Patient Registration,Colectați taxa pentru înregistrarea pacientului,
+Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,Verificând acest lucru se vor crea noi pacienți cu starea Dezactivat în mod implicit și vor fi activate numai după facturarea Taxei de înregistrare.,
+Registration Fee,Taxă de Înregistrare,
+Automate Appointment Invoicing,Automatizați facturarea programării,
+Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Gestionați trimiterea și anularea facturii de întâlnire în mod automat pentru întâlnirea cu pacienții,
+Enable Free Follow-ups,Activați urmăriri gratuite,
+Number of Patient Encounters in Valid Days,Numărul de întâlniri cu pacienți în zilele valabile,
+The number of free follow ups (Patient Encounters in valid days) allowed,Numărul de urmăriri gratuite (întâlniri cu pacienții în zile valide) permis,
+Valid Number of Days,Număr valid de zile,
+Time period (Valid number of days) for free consultations,Perioada de timp (număr valid de zile) pentru consultări gratuite,
+Default Healthcare Service Items,Articole prestabilite pentru serviciile medicale,
+"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Puteți configura articole implicite pentru facturarea taxelor de consultare, a articolelor de consum procedură și a vizitelor internate",
+Clinical Procedure Consumable Item,Procedura clinică Consumabile,
+Default Accounts,Conturi implicite,
+Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,Conturile de venit implicite care trebuie utilizate dacă nu sunt stabilite în practicienii din domeniul sănătății pentru a rezerva taxele de numire.,
+Default receivable accounts to be used to book Appointment charges.,Conturi de creanță implicite care urmează să fie utilizate pentru rezervarea cheltuielilor pentru programare.,
+Out Patient SMS Alerts,Alerte SMS ale pacientului,
+Patient Registration,Inregistrarea pacientului,
+Registration Message,Mesaj de înregistrare,
+Confirmation Message,Mesaj de confirmare,
+Avoid Confirmation,Evitați confirmarea,
+Do not confirm if appointment is created for the same day,Nu confirmați dacă se creează o întâlnire pentru aceeași zi,
+Appointment Reminder,Memento pentru numire,
+Reminder Message,Mesaj Memento,
+Remind Before,Memento Înainte,
+Laboratory Settings,Setări de laborator,
+Create Lab Test(s) on Sales Invoice Submission,Creați teste de laborator la trimiterea facturilor de vânzări,
+Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,Verificând acest lucru se vor crea teste de laborator specificate în factura de vânzare la trimitere.,
+Create Sample Collection document for Lab Test,Creați un document de colectare a probelor pentru testul de laborator,
+Checking this will create a Sample Collection document  every time you create a Lab Test,"Verificând acest lucru, veți crea un document de colectare a probelor de fiecare dată când creați un test de laborator",
+Employee name and designation in print,Numele și denumirea angajatului în imprimat,
+Check this if you want the Name and Designation of the Employee associated with the User who submits the document to be printed in the Lab Test Report.,Bifați acest lucru dacă doriți ca numele și denumirea angajatului asociate cu utilizatorul care trimite documentul să fie tipărite în raportul de testare de laborator.,
+Do not print or email Lab Tests without Approval,Nu imprimați sau trimiteți prin e-mail testele de laborator fără aprobare,
+Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,"Verificarea acestui lucru va restricționa imprimarea și trimiterea prin e-mail a documentelor de test de laborator, cu excepția cazului în care acestea au statutul de Aprobat.",
+Custom Signature in Print,Semnătură personalizată în imprimare,
+Laboratory SMS Alerts,Alerte SMS de laborator,
+Result Printed Message,Rezultat Mesaj tipărit,
+Result Emailed Message,Rezultat Mesaj prin e-mail,
+Check In,Verifica,
+Check Out,Verifică,
+HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
+A Positive,A Pozitive,
+A Negative,Un negativ,
+AB Positive,AB pozitiv,
+AB Negative,AB Negativ,
+B Positive,B pozitiv,
+B Negative,B Negativ,
+O Positive,O pozitiv,
+O Negative,O Negativ,
+Date of birth,Data Nașterii,
+Admission Scheduled,Admiterea programată,
+Discharge Scheduled,Descărcarea programată,
+Discharged,evacuate,
+Admission Schedule Date,Data calendarului de admitere,
+Admitted Datetime,Timpul admis,
+Expected Discharge,Descărcarea anticipată,
+Discharge Date,Data descărcării,
+Lab Prescription,Lab prescription,
+Lab Test Name,Numele testului de laborator,
+Test Created,Testul a fost creat,
+Submitted Date,Data transmisă,
+Approved Date,Data aprobarii,
+Sample ID,ID-ul probelor,
+Lab Technician,Tehnician de laborator,
+Report Preference,Raportați raportul,
+Test Name,Numele testului,
+Test Template,Șablon de testare,
+Test Group,Grupul de testare,
+Custom Result,Rezultate personalizate,
+LabTest Approver,LabTest Approver,
+Add Test,Adăugați test,
+Normal Range,Interval normal,
+Result Format,Formatul rezultatelor,
+Single,Celibatar,
+Compound,Compus,
+Descriptive,Descriptiv,
+Grouped,grupate,
+No Result,Nici un rezultat,
+This value is updated in the Default Sales Price List.,Această valoare este actualizată în lista prestabilită a prețurilor de vânzare.,
+Lab Routine,Laboratorul de rutină,
+Result Value,Valoare Rezultat,
+Require Result Value,Necesita valoarea rezultatului,
+Normal Test Template,Șablonul de test normal,
+Patient Demographics,Demografia pacientului,
+HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
+Middle Name (optional),Prenume (opțional),
+Inpatient Status,Starea staționarului,
+"If ""Link Customer to Patient"" is checked in Healthcare Settings and an existing Customer is not selected then, a Customer will be created for this Patient for recording transactions in Accounts module.","Dacă „Link Client to Pacient” este bifat în Setările asistenței medicale și un Client existent nu este selectat, atunci va fi creat un Client pentru acest Pacient pentru înregistrarea tranzacțiilor în modulul Conturi.",
+Personal and Social History,Istoria personală și socială,
+Marital Status,Stare civilă,
+Married,Căsătorit,
+Divorced,Divorțat/a,
+Widow,Văduvă,
+Patient Relation,Relația pacientului,
+"Allergies, Medical and Surgical History","Alergii, Istorie medicală și chirurgicală",
+Allergies,Alergii,
+Medication,Medicament,
+Medical History,Istoricul medical,
+Surgical History,Istorie chirurgicală,
+Risk Factors,Factori de Risc,
+Occupational Hazards and Environmental Factors,Riscuri Ocupaționale și Factori de Mediu,
+Other Risk Factors,Alți factori de risc,
+Patient Details,Detalii pacient,
+Additional information regarding the patient,Informații suplimentare privind pacientul,
+HLC-APP-.YYYY.-,HLC-APP-.YYYY.-,
+Patient Age,Vârsta pacientului,
+Get Prescribed Clinical Procedures,Obțineți proceduri clinice prescrise,
+Therapy,Terapie,
+Get Prescribed Therapies,Obțineți terapii prescrise,
+Appointment Datetime,Data programării,
+Duration (In Minutes),Durata (în minute),
+Reference Sales Invoice,Factură de vânzare de referință,
+More Info,Mai multe informatii,
+Referring Practitioner,Practicant referitor,
+Reminded,Reamintit,
+HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
+Assessment Template,Șablon de evaluare,
+Assessment Datetime,Evaluare Datetime,
+Assessment Description,Evaluare Descriere,
+Assessment Sheet,Fișa de evaluare,
+Total Score Obtained,Scorul total obținut,
+Scale Min,Scală Min,
+Scale Max,Scală Max,
+Patient Assessment Detail,Detaliu evaluare pacient,
+Assessment Parameter,Parametru de evaluare,
+Patient Assessment Parameter,Parametrul de evaluare a pacientului,
+Patient Assessment Sheet,Fișa de evaluare a pacientului,
+Patient Assessment Template,Șablon de evaluare a pacientului,
+Assessment Parameters,Parametrii de evaluare,
+Parameters,Parametrii,
+Assessment Scale,Scara de evaluare,
+Scale Minimum,Scala minimă,
+Scale Maximum,Scală maximă,
+HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
+Encounter Date,Data întâlnirii,
+Encounter Time,Întâlniți timpul,
+Encounter Impression,Întâlniți impresiile,
+Symptoms,Simptome,
+In print,În imprimare,
+Medical Coding,Codificarea medicală,
+Procedures,Proceduri,
+Therapies,Terapii,
+Review Details,Detalii de examinare,
+Patient Encounter Diagnosis,Diagnosticul întâlnirii pacientului,
+Patient Encounter Symptom,Simptomul întâlnirii pacientului,
+HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
+Attach Medical Record,Atașați fișa medicală,
+Reference DocType,DocType de referință,
+Spouse,soț,
+Family,Familie,
+Schedule Details,Detalii program,
+Schedule Name,Numele programului,
+Time Slots,Intervale de timp,
+Practitioner Service Unit Schedule,Unitatea Serviciului de Practician,
+Procedure Name,Numele procedurii,
+Appointment Booked,Numirea rezervată,
+Procedure Created,Procedura creată,
+HLC-SC-.YYYY.-,HLC-SC-.YYYY.-,
+Collected By,Colectată de,
+Particulars,Particularități,
+Result Component,Componenta Rezultat,
+HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
+Therapy Plan Details,Detalii despre planul de terapie,
+Total Sessions,Total sesiuni,
+Total Sessions Completed,Total sesiuni finalizate,
+Therapy Plan Detail,Detaliu plan de terapie,
+No of Sessions,Nr de sesiuni,
+Sessions Completed,Sesiuni finalizate,
+Tele,Tele,
+Exercises,Exerciții,
+Therapy For,Terapie pt,
+Add Exercises,Adăugați exerciții,
+Body Temperature,Temperatura corpului,
+Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),"Prezența febrei (temperatură&gt; 38,5 ° C sau temperatură susținută&gt; 38 ° C / 100,4 ° F)",
+Heart Rate / Pulse,Ritm cardiac / puls,
+Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Rata pulsului adulților este între 50 și 80 de bătăi pe minut.,
+Respiratory rate,Rata respiratorie,
+Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Intervalul normal de referință pentru un adult este de 16-20 respirații / minut (RCP 2012),
+Tongue,Limbă,
+Coated,Acoperit,
+Very Coated,Foarte acoperit,
+Normal,Normal,
+Furry,Cu blană,
+Cuts,Bucăți,
+Abdomen,Abdomen,
+Bloated,Umflat,
+Fluid,Fluid,
+Constipated,Constipat,
+Reflexes,reflexe,
+Hyper,Hyper,
+Very Hyper,Foarte Hyper,
+One Sided,O singură față,
+Blood Pressure (systolic),Tensiunea arterială (sistolică),
+Blood Pressure (diastolic),Tensiunea arterială (diastolică),
+Blood Pressure,Tensiune arteriala,
+"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","Tensiunea arterială normală de repaus la un adult este de aproximativ 120 mmHg sistolică și 80 mmHg diastolică, abreviată &quot;120/80 mmHg&quot;",
+Nutrition Values,Valorile nutriției,
+Height (In Meter),Înălțime (în metri),
+Weight (In Kilogram),Greutate (în kilograme),
+BMI,IMC,
+Hotel Room,Cameră de hotel,
+Hotel Room Type,Tip camera de hotel,
+Capacity,Capacitate,
+Extra Bed Capacity,Capacitatea patului suplimentar,
+Hotel Manager,Hotel Manager,
+Hotel Room Amenity,Hotel Amenity Room,
+Billable,Facturabil,
+Hotel Room Package,Pachetul de camere hotel,
+Amenities,dotări,
+Hotel Room Pricing,Pretul camerei hotelului,
+Hotel Room Pricing Item,Hotel Pricing Room Item,
+Hotel Room Pricing Package,Pachetul pentru tarifarea camerei hotelului,
+Hotel Room Reservation,Rezervarea camerelor hotelului,
+Guest Name,Numele oaspetelui,
+Late Checkin,Încearcă târziu,
+Booked,rezervat,
+Hotel Reservation User,Utilizator rezervare hotel,
+Hotel Room Reservation Item,Rezervare cameră cameră,
+Hotel Settings,Setările hotelului,
+Default Taxes and Charges,Impozite și taxe prestabilite,
+Default Invoice Naming Series,Seria implicită de numire a facturilor,
+Additional Salary,Salariu suplimentar,
+HR,HR,
+HR-ADS-.YY.-.MM.-,HR-ADS-.YY .-. MM.-,
+Salary Component,Componenta de salarizare,
+Overwrite Salary Structure Amount,Suprascrieți suma structurii salariilor,
+Deduct Full Tax on Selected Payroll Date,Reduceți impozitul complet pe data de salarizare selectată,
+Payroll Date,Data salarizării,
+Date on which this component is applied,Data la care se aplică această componentă,
+Salary Slip,Salariul Slip,
+Salary Component Type,Tipul componentei salariale,
+HR User,Utilizator HR,
+Appointment Letter,Scrisoare de programare,
+Job Applicant,Solicitant loc de muncă,
+Applicant Name,Nume solicitant,
+Appointment Date,Data de intalnire,
+Appointment Letter Template,Model de scrisoare de numire,
+Body,Corp,
+Closing Notes,Note de închidere,
+Appointment Letter content,Numire scrisoare conținut,
+Appraisal,Expertiză,
+HR-APR-.YY.-.MM.,HR-APR-.YY.-.MM.,
+Appraisal Template,Model expertiză,
+For Employee Name,Pentru Numele Angajatului,
+Goals,Obiective,
+Total Score (Out of 5),Scor total (din 5),
+"Any other remarks, noteworthy effort that should go in the records.","Orice alte observații, efort remarcabil care ar trebui înregistrate.",
+Appraisal Goal,Obiectiv expertiză,
+Key Responsibility Area,Domeni de Responsabilitate Cheie,
+Weightage (%),Weightage (%),
+Score (0-5),Scor (0-5),
+Score Earned,Scor Earned,
+Appraisal Template Title,Titlu model expertivă,
+Appraisal Template Goal,Obiectiv model expertivă,
+KRA,KRA,
+Key Performance Area,Domeniu de Performanță Cheie,
+HR-ATT-.YYYY.-,HR-ATT-.YYYY.-,
+On Leave,La plecare,
+Work From Home,Lucru de acasă,
+Leave Application,Aplicatie pentru Concediu,
+Attendance Date,Dată prezenţă,
+Attendance Request,Cererea de participare,
+Late Entry,Intrare târzie,
+Early Exit,Iesire timpurie,
+Half Day Date,Jumatate de zi Data,
+On Duty,La datorie,
+Explanation,Explicaţie,
+Compensatory Leave Request,Solicitare de plecare compensatorie,
+Leave Allocation,Alocare Concediu,
+Worked On Holiday,Lucrat în vacanță,
+Work From Date,Lucrul de la data,
+Work End Date,Data terminării lucrării,
+Email Sent To,Email trimis catre,
+Select Users,Selectați Utilizatori,
+Send Emails At,Trimite email-uri La,
+Reminder,Memento,
+Daily Work Summary Group User,Utilizatorul grupului zilnic de lucru sumar,
+email,e-mail,
+Parent Department,Departamentul părinților,
+Leave Block List,Lista Concedii Blocate,
+Days for which Holidays are blocked for this department.,Zile pentru care Sărbătorile sunt blocate pentru acest departament.,
+Leave Approver,Aprobator Concediu,
+Expense Approver,Aprobator Cheltuieli,
+Department Approver,Departamentul Aprobare,
+Approver,Aprobator,
+Required Skills,Aptitudini necesare,
+Skills,Aptitudini,
+Designation Skill,Indemanare de desemnare,
+Skill,Calificare,
+Driver,Conducător auto,
+HR-DRI-.YYYY.-,HR-DRI-.YYYY.-,
+Suspended,Suspendat,
+Transporter,Transporter,
+Applicable for external driver,Aplicabil pentru driverul extern,
+Cellphone Number,Număr de Telefon Mobil,
+License Details,Detalii privind licența,
+License Number,Numărul de licență,
+Issuing Date,Data emiterii,
+Driving License Categories,Categorii de licență de conducere,
+Driving License Category,Categoria permiselor de conducere,
+Fleet Manager,Manager de flotă,
+Driver licence class,Clasa permisului de conducere,
+HR-EMP-,HR-vorba sunt,
+Employment Type,Tip angajare,
+Emergency Contact,Contact de Urgență,
+Emergency Contact Name,Nume de contact de urgență,
+Emergency Phone,Telefon de Urgență,
+ERPNext User,Utilizator ERPNext,
+"System User (login) ID. If set, it will become default for all HR forms.","ID Utilizator Sistem (conectare). Dacă este setat, va deveni implicit pentru toate formularele de resurse umane.",
+Create User Permission,Creați permisiunea utilizatorului,
+This will restrict user access to other employee records,Acest lucru va restricționa accesul utilizatorilor la alte înregistrări ale angajaților,
+Joining Details,Detalii Angajare,
+Offer Date,Oferta Date,
+Confirmation Date,Data de Confirmare,
+Contract End Date,Data de Incheiere Contract,
+Notice (days),Preaviz (zile),
+Date Of Retirement,Data Pensionării,
+Department and Grade,Departamentul și Gradul,
+Reports to,Rapoartează către,
+Attendance and Leave Details,Detalii de participare și concediu,
+Leave Policy,Lasati politica,
+Attendance Device ID (Biometric/RF tag ID),Prezentarea dispozitivului de identificare (biometric / RF tag tag),
+Applicable Holiday List,Listă de concedii aplicabile,
+Default Shift,Schimbare implicită,
+Salary Details,Detalii salariu,
+Salary Mode,Mod de salariu,
+Bank A/C No.,Bancă A/C nr.,
+Health Insurance,Asigurare de sanatate,
+Health Insurance Provider,Asigurari de sanatate,
+Health Insurance No,Asigurări de sănătate nr,
+Prefered Email,E-mail Preferam,
+Personal Email,Personal de e-mail,
+Permanent Address Is,Adresa permanentă este,
+Rented,Închiriate,
+Owned,Deținut,
+Permanent Address,Permanent Adresa,
+Prefered Contact Email,Contact Email Preferam,
+Company Email,E-mail Companie,
+Provide Email Address registered in company,Furnizarea Adresa de email inregistrata in companie,
+Current Address Is,Adresa Actuală Este,
+Current Address,Adresa actuală,
+Personal Bio,Personal Bio,
+Bio / Cover Letter,Bio / Cover Letter,
+Short biography for website and other publications.,Scurta biografie pentru site-ul web și alte publicații.,
+Passport Number,Numărul de pașaport,
+Date of Issue,Data Problemei,
+Place of Issue,Locul eliberării,
+Widowed,Văduvit,
+Family Background,Context familial,
+"Here you can maintain family details like name and occupation of parent, spouse and children","Aici puteți stoca detalii despre familie, cum ar fi numele și ocupația parintelui, sotului/sotiei și copiilor",
+Health Details,Detalii Sănătate,
+"Here you can maintain height, weight, allergies, medical concerns etc","Aici puteți stoca informatii despre inaltime, greutate, alergii, probleme medicale etc",
+Educational Qualification,Detalii Calificare de Învățământ,
+Previous Work Experience,Anterior Work Experience,
+External Work History,Istoricul lucrului externă,
+History In Company,Istoric In Companie,
+Internal Work History,Istoria interne de lucru,
+Resignation Letter Date,Dată Scrisoare de Demisie,
+Relieving Date,Alinarea Data,
+Reason for Leaving,Motiv pentru plecare,
+Leave Encashed?,Concediu Incasat ?,
+Encashment Date,Data plata in Numerar,
+New Workplace,Nou loc de muncă,
+HR-EAD-.YYYY.-,HR-EAD-.YYYY.-,
+Returned Amount,Suma restituită,
+Claimed,Revendicat,
+Advance Account,Advance Account,
+Employee Attendance Tool,Instrumentul Participarea angajat,
+Unmarked Attendance,Participarea nemarcat,
+Employees HTML,Angajații HTML,
+Marked Attendance,Participarea marcat,
+Marked Attendance HTML,Participarea marcat HTML,
+Employee Benefit Application,Aplicația pentru beneficiile angajaților,
+Max Benefits (Yearly),Beneficii maxime (anual),
+Remaining Benefits (Yearly),Alte beneficii (anuale),
+Payroll Period,Perioada de salarizare,
+Benefits Applied,Beneficii aplicate,
+Dispensed Amount (Pro-rated),Sumă distribuită (Pro-evaluată),
+Employee Benefit Application Detail,Detaliile aplicației pentru beneficiile angajaților,
+Earning Component,Componenta câștigurilor,
+Pay Against Benefit Claim,Plătiți împotriva revendicării beneficiilor,
+Max Benefit Amount,Suma maximă a beneficiilor,
+Employee Benefit Claim,Revendicarea beneficiilor pentru angajați,
+Claim Date,Data revendicării,
+Benefit Type and Amount,Tip de prestație și sumă,
+Claim Benefit For,Revendicați beneficiul pentru,
+Max Amount Eligible,Sumă maximă eligibilă,
+Expense Proof,Cheltuieli de probă,
+Employee Boarding Activity,Activitatea de îmbarcare a angajaților,
+Activity Name,Nume Activitate,
+Task Weight,sarcina Greutate,
+Required for Employee Creation,Necesar pentru crearea angajaților,
+Applicable in the case of Employee Onboarding,Aplicabil în cazul angajării angajaților,
+Employee Checkin,Verificarea angajatilor,
+Log Type,Tip jurnal,
+OUT,OUT,
+Location / Device ID,Locație / ID dispozitiv,
+Skip Auto Attendance,Treci la prezența automată,
+Shift Start,Start Shift,
+Shift End,Shift End,
+Shift Actual Start,Shift Start inițial,
+Shift Actual End,Schimbare finală efectivă,
+Employee Education,Educație Angajat,
+School/University,Școlar / universitar,
+Graduate,Absolvent,
+Post Graduate,Postuniversitar,
+Under Graduate,Sub Absolvent,
+Year of Passing,Ani de la promovarea,
+Class / Percentage,Clasă / Procent,
+Major/Optional Subjects,Subiecte Majore / Opționale,
+Employee External Work History,Istoric Extern Locuri de Munca Angajat,
+Total Experience,Experiența totală,
+Default Leave Policy,Implicit Politica de plecare,
+Default Salary Structure,Structura salarială implicită,
+Employee Group Table,Tabelul grupului de angajați,
+ERPNext User ID,ID utilizator ERPNext,
+Employee Health Insurance,Angajarea Asigurărilor de Sănătate,
+Health Insurance Name,Nume de Asigurări de Sănătate,
+Employee Incentive,Angajament pentru angajați,
+Incentive Amount,Sumă stimulativă,
+Employee Internal Work History,Istoric Intern Locuri de Munca Angajat,
+Employee Onboarding,Angajarea la bord,
+Notify users by email,Notifica utilizatorii prin e-mail,
+Employee Onboarding Template,Formularul de angajare a angajatului,
+Activities,Activități,
+Employee Onboarding Activity,Activitatea de angajare a angajaților,
+Employee Other Income,Alte venituri ale angajaților,
+Employee Promotion,Promovarea angajaților,
+Promotion Date,Data promoției,
+Employee Promotion Details,Detaliile de promovare a angajaților,
+Employee Promotion Detail,Detaliile de promovare a angajaților,
+Employee Property History,Istoricul proprietății angajatului,
+Employee Separation,Separarea angajaților,
+Employee Separation Template,Șablon de separare a angajaților,
+Exit Interview Summary,Exit Interviu Rezumat,
+Employee Skill,Indemanarea angajatilor,
+Proficiency,Experiență,
+Evaluation Date,Data evaluării,
+Employee Skill Map,Harta de îndemânare a angajaților,
+Employee Skills,Abilități ale angajaților,
+Trainings,instruiri,
+Employee Tax Exemption Category,Angajament categoria de scutire fiscală,
+Max Exemption Amount,Suma maximă de scutire,
+Employee Tax Exemption Declaration,Declarația de scutire fiscală a angajaților,
+Declarations,Declaraţii,
+Total Declared Amount,Suma totală declarată,
+Total Exemption Amount,Valoarea totală a scutirii,
+Employee Tax Exemption Declaration Category,Declarația de scutire fiscală a angajaților,
+Exemption Sub Category,Scutirea subcategoria,
+Exemption Category,Categoria de scutire,
+Maximum Exempted Amount,Suma maximă scutită,
+Declared Amount,Suma declarată,
+Employee Tax Exemption Proof Submission,Sustine gratuitatea acestui serviciu si acceseaza,
+Submission Date,Data depunerii,
+Tax Exemption Proofs,Dovezi privind scutirea de taxe,
+Total Actual Amount,Suma totală reală,
+Employee Tax Exemption Proof Submission Detail,Angajamentul de scutire fiscală Detaliu de prezentare a probelor,
+Maximum Exemption Amount,Suma maximă de scutire,
+Type of Proof,Tip de probă,
+Actual Amount,Suma reală,
+Employee Tax Exemption Sub Category,Scutirea de impozit pe categorii de angajați,
+Tax Exemption Category,Categoria de scutire de taxe,
+Employee Training,Instruirea angajaților,
+Training Date,Data formării,
+Employee Transfer,Transfer de angajați,
+Transfer Date,Data transferului,
+Employee Transfer Details,Detaliile transferului angajatului,
+Employee Transfer Detail,Detalii despre transferul angajatului,
+Re-allocate Leaves,Re-alocarea frunzelor,
+Create New Employee Id,Creați un nou număr de angajați,
+New Employee ID,Codul angajatului nou,
+Employee Transfer Property,Angajamentul transferului de proprietate,
+HR-EXP-.YYYY.-,HR-EXP-.YYYY.-,
+Expense Taxes and Charges,Cheltuiește impozite și taxe,
+Total Sanctioned Amount,Suma totală sancționat,
+Total Advance Amount,Suma totală a avansului,
+Total Claimed Amount,Total suma pretinsă,
+Total Amount Reimbursed,Total suma rambursată,
+Vehicle Log,vehicul Log,
+Employees Email Id,Id Email Angajat,
+More Details,Mai multe detalii,
+Expense Claim Account,Cont Solicitare Cheltuială,
+Expense Claim Advance,Avans Solicitare Cheltuială,
+Unclaimed amount,Sumă nerevendicată,
+Expense Claim Detail,Detaliu Solicitare Cheltuială,
+Expense Date,Data cheltuieli,
+Expense Claim Type,Tip Solicitare Cheltuială,
+Holiday List Name,Denumire Lista de Vacanță,
+Total Holidays,Total sărbători,
+Add Weekly Holidays,Adăugă Sărbători Săptămânale,
+Weekly Off,Săptămânal Off,
+Add to Holidays,Adăugă la Sărbători,
+Holidays,Concedii,
+Clear Table,Sterge Masa,
+HR Settings,Setări Resurse Umane,
+Employee Settings,Setări Angajat,
+Retirement Age,Vârsta de pensionare,
+Enter retirement age in years,Introdu o vârsta de pensionare în anii,
+Stop Birthday Reminders,De oprire de naștere Memento,
+Expense Approver Mandatory In Expense Claim,Aprobator Cheltuieli Obligatoriu în Solicitare Cheltuială,
+Payroll Settings,Setări de salarizare,
+Leave,Părăsi,
+Max working hours against Timesheet,Max ore de lucru împotriva Pontaj,
+Include holidays in Total no. of Working Days,Includ vacanțe în total nr. de zile lucrătoare,
+"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","In cazul in care se bifeaza, nr. total de zile lucratoare va include si sarbatorile, iar acest lucru va reduce valoarea Salariul pe Zi",
+"If checked, hides and disables Rounded Total field in Salary Slips","Dacă este bifat, ascunde și dezactivează câmpul total rotunjit din Slips-uri de salariu",
+The fraction of daily wages to be paid for half-day attendance,Fracțiunea salariilor zilnice care trebuie plătită pentru participarea la jumătate de zi,
+Email Salary Slip to Employee,E-mail Salariu Slip angajatului,
+Emails salary slip to employee based on preferred email selected in Employee,alunecare email-uri salariul angajatului în funcție de e-mail preferat selectat în Angajat,
+Encrypt Salary Slips in Emails,Criptați diapozitive de salariu în e-mailuri,
+"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","Fișa de salariu trimisă către angajat va fi protejată prin parolă, parola va fi generată pe baza politicii de parolă.",
+Password Policy,Politica de parolă,
+<b>Example:</b> SAL-{first_name}-{date_of_birth.year} <br>This will generate a password like SAL-Jane-1972,<b>Exemplu:</b> SAL- {first_name} - {date_of_birth.year} <br> Aceasta va genera o parolă precum SAL-Jane-1972,
+Leave Settings,Lăsați Setările,
+Leave Approval Notification Template,Lăsați șablonul de notificare de aprobare,
+Leave Status Notification Template,Părăsiți șablonul de notificare a statutului,
+Role Allowed to Create Backdated Leave Application,Rolul permis pentru a crea o cerere de concediu retardat,
+Leave Approver Mandatory In Leave Application,Concedierea obligatorie la cerere,
+Show Leaves Of All Department Members In Calendar,Afișați frunzele tuturor membrilor departamentului în calendar,
+Auto Leave Encashment,Auto Encashment,
+Hiring Settings,Setări de angajare,
+Check Vacancies On Job Offer Creation,Verificați posturile vacante pentru crearea ofertei de locuri de muncă,
+Identification Document Type,Tipul documentului de identificare,
+Effective from,Efectiv de la,
+Allow Tax Exemption,Permiteți scutirea de taxe,
+"If enabled, Tax Exemption Declaration will be considered for income tax calculation.","Dacă este activată, Declarația de scutire de impozit va fi luată în considerare pentru calcularea impozitului pe venit.",
+Standard Tax Exemption Amount,Suma standard de scutire de impozit,
+Taxable Salary Slabs,Taxe salariale,
+Taxes and Charges on Income Tax,Impozite și taxe pe impozitul pe venit,
+Other Taxes and Charges,Alte impozite și taxe,
+Income Tax Slab Other Charges,Impozitul pe venit Slab Alte taxe,
+Min Taxable Income,Venit minim impozabil,
+Max Taxable Income,Venitul maxim impozabil,
+Applicant for a Job,Solicitant pentru un loc de muncă,
+Accepted,Acceptat,
+Job Opening,Loc de munca disponibil,
+Cover Letter,Scrisoare de intenție,
+Resume Attachment,CV-Atașamentul,
+Job Applicant Source,Sursă Solicitant Loc de Muncă,
+Applicant Email Address,Adresa de e-mail a solicitantului,
+Awaiting Response,Se aşteaptă răspuns,
+Job Offer Terms,Condiții Ofertă de Muncă,
+Select Terms and Conditions,Selectați Termeni și condiții,
+Printing Details,Imprimare Detalii,
+Job Offer Term,Termen Ofertă de Muncă,
+Offer Term,Termen oferta,
+Value / Description,Valoare / Descriere,
+Description of a Job Opening,Descrierea unei slujbe,
+Job Title,Denumire Post,
+Staffing Plan,Planul de personal,
+Planned number of Positions,Număr planificat de poziții,
+"Job profile, qualifications required etc.","Profilul postului, calificări necesare, etc",
+HR-LAL-.YYYY.-,HR-LAL-.YYYY.-,
+Allocation,Alocare,
+New Leaves Allocated,Cereri noi de concediu alocate,
+Add unused leaves from previous allocations,Adăugați zile de concediu neutilizate de la alocări anterioare,
+Unused leaves,Frunze neutilizate,
+Total Leaves Allocated,Totalul Frunze alocate,
+Total Leaves Encashed,Frunze totale încorporate,
+Leave Period,Lăsați perioada,
+Carry Forwarded Leaves,Trasmite Concedii Inaintate,
+Apply / Approve Leaves,Aplicați / aprobaţi concedii,
+HR-LAP-.YYYY.-,HR-LAP-.YYYY.-,
+Leave Balance Before Application,Balanta Concediu Inainte de Aplicare,
+Total Leave Days,Total de zile de concediu,
+Leave Approver Name,Lăsați Nume aprobator,
+Follow via Email,Urmați prin e-mail,
+Block Holidays on important days.,Blocaţi zile de sărbătoare în zilele importante.,
+Leave Block List Name,Denumire Lista Concedii Blocate,
+Applies to Company,Se aplică companiei,
+"If not checked, the list will have to be added to each Department where it has to be applied.","In cazul in care este debifat, lista va trebui să fie adăugata fiecarui Departament unde trebuie sa fie aplicată.",
+Block Days,Zile de blocare,
+Stop users from making Leave Applications on following days.,Opri utilizatorii de la a face aplicații concediu pentru următoarele zile.,
+Leave Block List Dates,Date Lista Concedii Blocate,
+Allow Users,Permiteți utilizatori,
+Allow the following users to approve Leave Applications for block days.,Permiteţi următorilor utilizatori să aprobe cereri de concediu pentru zile blocate.,
+Leave Block List Allowed,Lista Concedii Blocate Permise,
+Leave Block List Allow,Permite Lista Concedii Blocate,
+Allow User,Permiteţi utilizator,
+Leave Block List Date,Data Lista Concedii Blocate,
+Block Date,Dată blocare,
+Leave Control Panel,Panou de Control Concediu,
+Select Employees,Selectați angajati,
+Employment Type (optional),Tip de angajare (opțional),
+Branch (optional),Sucursală (opțional),
+Department (optional),Departamentul (opțional),
+Designation (optional),Desemnare (opțional),
+Employee Grade (optional),Gradul angajatului (opțional),
+Employee (optional),Angajat (opțional),
+Allocate Leaves,Alocați frunzele,
+Carry Forward,Transmite Inainte,
+Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Vă rugăm să selectați reporta dacă doriți și să includă echilibrul de anul precedent fiscal lasă în acest an fiscal,
+New Leaves Allocated (In Days),Cereri noi de concediu alocate (în zile),
+Allocate,Alocaţi,
+Leave Balance,Lasă balanța,
+Encashable days,Zile încorporate,
+Encashment Amount,Suma de încasare,
+Leave Ledger Entry,Lăsați intrarea în evidență,
+Transaction Name,Numele tranzacției,
+Is Carry Forward,Este Carry Forward,
+Is Expired,Este expirat,
+Is Leave Without Pay,Este concediu fără plată,
+Holiday List for Optional Leave,Lista de vacanță pentru concediul opțional,
+Leave Allocations,Lăsați alocările,
+Leave Policy Details,Lăsați detaliile politicii,
+Leave Policy Detail,Lăsați detaliile politicii,
+Annual Allocation,Alocarea anuală,
+Leave Type Name,Denumire Tip Concediu,
+Max Leaves Allowed,Frunzele maxime sunt permise,
+Applicable After (Working Days),Aplicabil după (zile lucrătoare),
+Maximum Continuous Days Applicable,Zilele maxime continue sunt aplicabile,
+Is Optional Leave,Este concediu opțională,
+Allow Negative Balance,Permiteţi sold negativ,
+Include holidays within leaves as leaves,Includ zilele de sărbătoare în frunze ca frunze,
+Is Compensatory,Este compensatorie,
+Maximum Carry Forwarded Leaves,Frunze transmise maxim transportat,
+Expire Carry Forwarded Leaves (Days),Expirați transportați frunzele transmise (zile),
+Calculated in days,Calculat în zile,
+Encashment,Încasare,
+Allow Encashment,Permiteți încorporarea,
+Encashment Threshold Days,Zilele pragului de încasare,
+Earned Leave,Salariu câștigat,
+Is Earned Leave,Este lăsat câștigat,
+Earned Leave Frequency,Frecvența de plecare câștigată,
+Rounding,Rotunjire,
+Payroll Employee Detail,Detaliile salariaților salariați,
+Payroll Frequency,Frecventa de salarizare,
+Fortnightly,bilunară,
+Bimonthly,Bilunar,
+Employees,Numar de angajati,
+Number Of Employees,Numar de angajati,
+Employee Details,Detalii angajaților,
+Validate Attendance,Validați participarea,
+Salary Slip Based on Timesheet,Bazat pe salariu Slip Pontaj,
+Select Payroll Period,Perioada de selectare Salarizare,
+Deduct Tax For Unclaimed Employee Benefits,Deducerea Impozitelor Pentru Beneficiile Nerecuperate ale Angajaților,
+Deduct Tax For Unsubmitted Tax Exemption Proof,Deducerea impozitului pentru dovada scutirii fiscale neimpozitate,
+Select Payment Account to make Bank Entry,Selectați Cont de plăți pentru a face Banca de intrare,
+Salary Slips Created,Slipsuri salariale create,
+Salary Slips Submitted,Salariile trimise,
+Payroll Periods,Perioade de salarizare,
+Payroll Period Date,Data perioadei de salarizare,
+Purpose of Travel,Scopul călătoriei,
+Retention Bonus,Bonus de Retenție,
+Bonus Payment Date,Data de plată Bonus,
+Bonus Amount,Bonus Suma,
+Abbr,Presc,
+Depends on Payment Days,Depinde de Zilele de plată,
+Is Tax Applicable,Taxa este aplicabilă,
+Variable Based On Taxable Salary,Variabilă pe salariu impozabil,
+Exempted from Income Tax,Scutit de impozitul pe venit,
+Round to the Nearest Integer,Rotund la cel mai apropiat număr întreg,
+Statistical Component,Componenta statistică,
+"If selected, the value specified or calculated in this component will not contribute to the earnings or deductions. However, it's value can be referenced by other components that can be added or deducted. ","Dacă este selectată, valoarea specificată sau calculată în această componentă nu va contribui la câștigurile sau deducerile. Cu toate acestea, valoarea sa poate fi menționată de alte componente care pot fi adăugate sau deduse.",
+Do Not Include in Total,Nu includeți în total,
+Flexible Benefits,Beneficii flexibile,
+Is Flexible Benefit,Este benefică flexibilă,
+Max Benefit Amount (Yearly),Sumă maximă pentru beneficiu (anual),
+Only Tax Impact (Cannot Claim But Part of Taxable Income),"Numai impactul fiscal (nu poate fi revendicat, ci parte din venitul impozabil)",
+Create Separate Payment Entry Against Benefit Claim,Creați o intrare separată de plată împotriva revendicării beneficiilor,
+Condition and Formula,Condiție și formulă,
+Amount based on formula,Suma bazată pe formula generală,
+Formula,Formulă,
+Salary Detail,Detalii salariu,
+Component,component,
+Do not include in total,Nu includeți în total,
+Default Amount,Sumă Implicită,
+Additional Amount,Suma suplimentară,
+Tax on flexible benefit,Impozitul pe beneficii flexibile,
+Tax on additional salary,Impozit pe salariu suplimentar,
+Salary Structure,Structura salariu,
+Working Days,Zile lucratoare,
+Salary Slip Timesheet,Salariu alunecare Pontaj,
+Total Working Hours,Numărul total de ore de lucru,
+Hour Rate,Rata Oră,
+Bank Account No.,Cont bancar nr.,
+Earning & Deduction,Câștig Salarial si Deducere,
+Earnings,Câștiguri,
+Deductions,Deduceri,
+Loan repayment,Rambursare a creditului,
+Employee Loan,angajat de împrumut,
+Total Principal Amount,Sumă totală principală,
+Total Interest Amount,Suma totală a dobânzii,
+Total Loan Repayment,Rambursarea totală a creditului,
+net pay info,info net pay,
+Gross Pay - Total Deduction - Loan Repayment,Plata brută - Deducerea totală - rambursare a creditului,
+Total in words,Total în cuvinte,
+Net Pay (in words) will be visible once you save the Salary Slip.,Pay net (în cuvinte) vor fi vizibile după ce salvați fluturasul de salariu.,
+Salary Component for timesheet based payroll.,Componenta de salarizare pentru salarizare bazate pe timesheet.,
+Leave Encashment Amount Per Day,Părăsiți Suma de Invenție pe Zi,
+Max Benefits (Amount),Beneficii maxime (suma),
+Salary breakup based on Earning and Deduction.,Salariul despartire bazat privind câștigul salarial și deducere.,
+Total Earning,Câștigul salarial total de,
+Salary Structure Assignment,Structura salarială,
+Shift Assignment,Schimbare asignare,
+Shift Type,Tip Shift,
+Shift Request,Cerere de schimbare,
+Enable Auto Attendance,Activați prezența automată,
+Mark attendance based on 'Employee Checkin' for Employees assigned to this shift.,Marcați prezența pe baza „Verificării angajaților” pentru angajații repartizați în această schimbă.,
+Auto Attendance Settings,Setări de prezență automată,
+Determine Check-in and Check-out,Determinați check-in și check-out,
+Alternating entries as IN and OUT during the same shift,Alternarea intrărilor ca IN și OUT în timpul aceleiași deplasări,
+Strictly based on Log Type in Employee Checkin,Strict bazat pe tipul de jurnal în verificarea angajaților,
+Working Hours Calculation Based On,Calculul orelor de lucru bazat pe,
+First Check-in and Last Check-out,Primul check-in și ultimul check-out,
+Every Valid Check-in and Check-out,Fiecare check-in și check-out valabil,
+Begin check-in before shift start time (in minutes),Începeți check-in-ul înainte de ora de începere a schimbului (în minute),
+The time before the shift start time during which Employee Check-in is considered for attendance.,Timpul înainte de ora de începere a schimbului în timpul căruia se consideră check-in-ul angajaților pentru participare.,
+Allow check-out after shift end time (in minutes),Permite check-out după ora de încheiere a schimbului (în minute),
+Time after the end of shift during which check-out is considered for attendance.,Timpul după încheierea turei în timpul căreia se face check-out pentru participare.,
+Working Hours Threshold for Half Day,Prag de lucru pentru o jumătate de zi,
+Working hours below which Half Day is marked. (Zero to disable),Ore de lucru sub care este marcată jumătate de zi. (Zero dezactivat),
+Working Hours Threshold for Absent,Prag de lucru pentru orele absente,
+Working hours below which Absent is marked. (Zero to disable),Ore de lucru sub care este marcat absentul. (Zero dezactivat),
+Process Attendance After,Prezență la proces după,
+Attendance will be marked automatically only after this date.,Participarea va fi marcată automat numai după această dată.,
+Last Sync of Checkin,Ultima sincronizare a checkin-ului,
+Last Known Successful Sync of Employee Checkin. Reset this only if you are sure that all Logs are synced from all the locations. Please don't modify this if you are unsure.,Ultima sincronizare cunoscută cu succes a verificării angajaților. Resetați acest lucru numai dacă sunteți sigur că toate jurnalele sunt sincronizate din toate locațiile. Vă rugăm să nu modificați acest lucru dacă nu sunteți sigur.,
+Grace Period Settings For Auto Attendance,Setări pentru perioada de grație pentru prezența automată,
+Enable Entry Grace Period,Activați perioada de grație de intrare,
+Late Entry Grace Period,Perioada de grație de intrare târzie,
+The time after the shift start time when check-in is considered as late (in minutes).,"Ora după ora de începere a schimbului, când check-in este considerată întârziată (în minute).",
+Enable Exit Grace Period,Activați Perioada de grație de ieșire,
+Early Exit Grace Period,Perioada de grație de ieșire timpurie,
+The time before the shift end time when check-out is considered as early (in minutes).,"Timpul înainte de ora de încheiere a schimbului, când check-out-ul este considerat mai devreme (în minute).",
+Skill Name,Nume de îndemânare,
+Staffing Plan Details,Detaliile planului de personal,
+Staffing Plan Detail,Detaliile planului de personal,
+Total Estimated Budget,Bugetul total estimat,
+Vacancies,Posturi vacante,
+Estimated Cost Per Position,Costul estimat pe poziție,
+Total Estimated Cost,Costul total estimat,
+Current Count,Contorul curent,
+Current Openings,Deschideri curente,
+Number Of Positions,Numărul de poziții,
+Taxable Salary Slab,Taxable Salary Slab,
+From Amount,Din Sumă,
+To Amount,La suma,
+Percent Deduction,Deducție procentuală,
+Training Program,Program de antrenament,
+Event Status,Stare eveniment,
+Has Certificate,Are certificat,
+Seminar,Seminar,
+Theory,Teorie,
+Workshop,Atelier,
+Conference,Conferinţă,
+Exam,Examen,
+Internet,Internet,
+Self-Study,Studiu individual,
+Advance,Avans,
+Trainer Name,Nume formator,
+Trainer Email,trainer e-mail,
+Attendees,Participanți,
+Employee Emails,E-mailuri ale angajaților,
+Training Event Employee,Eveniment de formare Angajat,
+Invited,invitați,
+Feedback Submitted,Feedbackul a fost trimis,
+Optional,facultativ,
+Training Result Employee,Angajat de formare Rezultat,
+Travel Itinerary,Itinerariul de călătorie,
+Travel From,Călătorie de la,
+Travel To,Călători în,
+Mode of Travel,Modul de călătorie,
+Flight,Zbor,
+Train,Tren,
+Taxi,Taxi,
+Rented Car,Mașină închiriată,
+Meal Preference,Preferința de mâncare,
+Vegetarian,Vegetarian,
+Non-Vegetarian,Non vegetarian,
+Gluten Free,Fara gluten,
+Non Diary,Non-jurnal,
+Travel Advance Required,Advance Travel Required,
+Departure Datetime,Data plecării,
+Arrival Datetime,Ora de sosire,
+Lodging Required,Cazare solicitată,
+Preferred Area for Lodging,Zonă preferată de cazare,
+Check-in Date,Data înscrierii,
+Check-out Date,Verifica data,
+Travel Request,Cerere de călătorie,
+Travel Type,Tip de călătorie,
+Domestic,Intern,
+International,Internaţional,
+Travel Funding,Finanțarea turismului,
+Require Full Funding,Solicitați o finanțare completă,
+Fully Sponsored,Sponsorizat complet,
+"Partially Sponsored, Require Partial Funding","Parțial sponsorizat, necesită finanțare parțială",
+Copy of Invitation/Announcement,Copia invitatiei / anuntului,
+"Details of Sponsor (Name, Location)","Detalii despre sponsor (nume, locație)",
+Identification Document Number,Cod Numeric Personal,
+Any other details,Orice alte detalii,
+Costing Details,Costul detaliilor,
+Costing,Cost,
+Event Details,detaliile evenimentului,
+Name of Organizer,Numele organizatorului,
+Address of Organizer,Adresa organizatorului,
+Travel Request Costing,Costul cererii de călătorie,
+Expense Type,Tipul de cheltuieli,
+Sponsored Amount,Suma sponsorizată,
+Funded Amount,Sumă finanțată,
+Upload Attendance,Încărcați Spectatori,
+Attendance From Date,Prezenţa de la data,
+Attendance To Date,Prezenţa până la data,
+Get Template,Obține șablon,
+Import Attendance,Import Spectatori,
+Upload HTML,Încărcați HTML,
+Vehicle,Vehicul,
+License Plate,Înmatriculare,
+Odometer Value (Last),Valoarea contorului de parcurs (Ultimul),
+Acquisition Date,Data achiziției,
+Chassis No,Nr. Șasiu,
+Vehicle Value,Valoarea vehiculului,
+Insurance Details,Detalii de asigurare,
+Insurance Company,Companie de asigurari,
+Policy No,Politica nr,
+Additional Details,Detalii suplimentare,
+Fuel Type,Tipul combustibilului,
+Petrol,Benzină,
+Diesel,Diesel,
+Natural Gas,Gaz natural,
+Electric,Electric,
+Fuel UOM,combustibil UOM,
+Last Carbon Check,Ultima Verificare carbon,
+Wheels,roţi,
+Doors,Usi,
+HR-VLOG-.YYYY.-,HR-VLOG-.YYYY.-,
+Odometer Reading,Kilometrajul,
+Current Odometer value ,Valoarea actuală a contorului,
+last Odometer Value ,ultima valoare Odometru,
+Refuelling Details,Detalii de realimentare,
+Invoice Ref,Ref factură,
+Service Details,Detalii de serviciu,
+Service Detail,Detaliu serviciu,
+Vehicle Service,Serviciu de vehicule,
+Service Item,Postul de servicii,
+Brake Oil,Ulei de frână,
+Brake Pad,Pad de frână,
+Clutch Plate,Placă de ambreiaj,
+Engine Oil,Ulei de motor,
+Oil Change,Schimbare de ulei,
+Inspection,Inspecţie,
+Mileage,distanță parcursă,
+Hub Tracked Item,Articol urmărit,
+Hub Node,Hub Node,
+Image List,Listă de imagini,
+Item Manager,Postul de manager,
+Hub User,Utilizator Hub,
+Hub Password,Parola Hub,
+Hub Users,Hub utilizatori,
+Marketplace Settings,Setări pentru piață,
+Disable Marketplace,Dezactivați Marketplace,
+Marketplace URL (to hide and update label),Adresa URL de pe piață (pentru ascunderea și actualizarea etichetei),
+Registered,Înregistrat,
+Sync in Progress,Sincronizați în curs,
+Hub Seller Name,Numele vânzătorului Hub,
+Custom Data,Date personalizate,
+Member,Membru,
+Partially Disbursed,parţial Se eliberează,
+Loan Closure Requested,Solicitare de închidere a împrumutului,
+Repay From Salary,Rambursa din salariu,
+Loan Details,Creditul Detalii,
+Loan Type,Tip credit,
+Loan Amount,Sumă împrumutată,
+Is Secured Loan,Este împrumut garantat,
+Rate of Interest (%) / Year,Rata dobânzii (%) / An,
+Disbursement Date,debursare,
+Disbursed Amount,Suma plătită,
+Is Term Loan,Este împrumut pe termen,
+Repayment Method,Metoda de rambursare,
+Repay Fixed Amount per Period,Rambursa Suma fixă pentru fiecare perioadă,
+Repay Over Number of Periods,Rambursa Peste Număr de Perioade,
+Repayment Period in Months,Rambursarea Perioada în luni,
+Monthly Repayment Amount,Suma de rambursare lunar,
+Repayment Start Date,Data de începere a rambursării,
+Loan Security Details,Detalii privind securitatea împrumutului,
+Maximum Loan Value,Valoarea maximă a împrumutului,
+Account Info,Informaţii cont,
+Loan Account,Contul împrumutului,
+Interest Income Account,Contul Interes Venit,
+Penalty Income Account,Cont de venituri din penalități,
+Repayment Schedule,rambursare Program,
+Total Payable Amount,Suma totală de plată,
+Total Principal Paid,Total plătit principal,
+Total Interest Payable,Dobânda totală de plată,
+Total Amount Paid,Suma totală plătită,
+Loan Manager,Managerul de împrumut,
+Loan Info,Creditul Info,
+Rate of Interest,Rata Dobânzii,
+Proposed Pledges,Promisiuni propuse,
+Maximum Loan Amount,Suma maximă a împrumutului,
+Repayment Info,Info rambursarea,
+Total Payable Interest,Dobânda totală de plată,
+Against Loan ,Împotriva împrumutului,
+Loan Interest Accrual,Dobândirea dobânzii împrumutului,
+Amounts,sume,
+Pending Principal Amount,Suma pendintei principale,
+Payable Principal Amount,Suma principală plătibilă,
+Paid Principal Amount,Suma principală plătită,
+Paid Interest Amount,Suma dobânzii plătite,
+Process Loan Interest Accrual,Procesul de dobândă de împrumut,
+Repayment Schedule Name,Numele programului de rambursare,
+Regular Payment,Plată regulată,
+Loan Closure,Închiderea împrumutului,
+Payment Details,Detalii de plata,
+Interest Payable,Dobândi de plătit,
+Amount Paid,Sumă plătită,
+Principal Amount Paid,Suma principală plătită,
+Repayment Details,Detalii de rambursare,
+Loan Repayment Detail,Detaliu rambursare împrumut,
+Loan Security Name,Numele securității împrumutului,
+Unit Of Measure,Unitate de măsură,
+Loan Security Code,Codul de securitate al împrumutului,
+Loan Security Type,Tip de securitate împrumut,
+Haircut %,Tunsori%,
+Loan  Details,Detalii despre împrumut,
+Unpledged,Unpledged,
+Pledged,gajat,
+Partially Pledged,Parțial Gajat,
+Securities,Titluri de valoare,
+Total Security Value,Valoarea totală a securității,
+Loan Security Shortfall,Deficitul de securitate al împrumutului,
+Loan ,Împrumut,
+Shortfall Time,Timpul neajunsurilor,
+America/New_York,America / New_York,
+Shortfall Amount,Suma deficiențelor,
+Security Value ,Valoarea de securitate,
+Process Loan Security Shortfall,Deficitul de securitate a împrumutului de proces,
+Loan To Value Ratio,Raportul împrumut / valoare,
+Unpledge Time,Timp de neîncărcare,
+Loan Name,Nume de împrumut,
+Rate of Interest (%) Yearly,Rata Dobânzii (%) Anual,
+Penalty Interest Rate (%) Per Day,Rata dobânzii de penalizare (%) pe zi,
+Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,Rata dobânzii pentru penalități este percepută zilnic pe valoarea dobânzii în curs de rambursare întârziată,
+Grace Period in Days,Perioada de har în zile,
+No. of days from due date until which penalty won't be charged in case of delay in loan repayment,Numărul de zile de la data scadenței până la care nu se va percepe penalitatea în cazul întârzierii rambursării împrumutului,
+Pledge,Angajament,
+Post Haircut Amount,Postează cantitatea de tuns,
+Process Type,Tipul procesului,
+Update Time,Timpul de actualizare,
+Proposed Pledge,Gajă propusă,
+Total Payment,Plată totală,
+Balance Loan Amount,Soldul Suma creditului,
+Is Accrued,Este acumulat,
+Salary Slip Loan,Salariu Slip împrumut,
+Loan Repayment Entry,Intrarea rambursării împrumutului,
+Sanctioned Loan Amount,Suma de împrumut sancționată,
+Sanctioned Amount Limit,Limita sumei sancționate,
+Unpledge,Unpledge,
+Haircut,Tunsoare,
+MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
+Generate Schedule,Generează orar,
+Schedules,Orarele,
+Maintenance Schedule Detail,Detalii Program Mentenanta,
+Scheduled Date,Data programată,
+Actual Date,Data efectiva,
+Maintenance Schedule Item,Articol Program Mentenanță,
+Random,aleatoriu,
+No of Visits,Nu de vizite,
+MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
+Maintenance Date,Dată Mentenanță,
+Maintenance Time,Timp Mentenanta,
+Completion Status,Stare Finalizare,
+Partially Completed,Parțial finalizate,
+Fully Completed,Finalizat,
+Unscheduled,Neprogramat,
+Breakdown,Avarie,
+Purposes,Scopuri,
+Customer Feedback,Feedback Client,
+Maintenance Visit Purpose,Scop Vizită Mentenanță,
+Work Done,Activitatea desfășurată,
+Against Document No,Împotriva documentul nr,
+Against Document Detail No,Comparativ detaliilor documentului nr.,
+MFG-BLR-.YYYY.-,MFG-BLR-.YYYY.-,
+Order Type,Tip comandă,
+Blanket Order Item,Articol de comandă pentru plicuri,
+Ordered Quantity,Ordonat Cantitate,
+Item to be manufactured or repacked,Articol care urmează să fie fabricat sau reambalat,
+Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Cantitatea de produs obținut după fabricarea / reambalare de la cantități date de materii prime,
+Set rate of sub-assembly item based on BOM,Viteza setată a elementului subansamblu bazat pe BOM,
+Allow Alternative Item,Permiteți un element alternativ,
+Item UOM,Articol FDM,
+Conversion Rate,Rata de conversie,
+Rate Of Materials Based On,Rate de materiale bazate pe,
+With Operations,Cu Operațiuni,
+Manage cost of operations,Gestionează costul operațiunilor,
+Transfer Material Against,Transfer material contra,
+Routing,Rutare,
+Materials,Materiale,
+Quality Inspection Required,Inspecție de calitate necesară,
+Quality Inspection Template,Model de inspecție a calității,
+Scrap,Resturi,
+Scrap Items,resturi Articole,
+Operating Cost,Costul de operare,
+Raw Material Cost,Cost Materie Primă,
+Scrap Material Cost,Cost resturi de materiale,
+Operating Cost (Company Currency),Costul de operare (Companie Moneda),
+Raw Material Cost (Company Currency),Costul materiei prime (moneda companiei),
+Scrap Material Cost(Company Currency),Cost resturi de material (companie Moneda),
+Total Cost,Cost total,
+Total Cost (Company Currency),Cost total (moneda companiei),
+Materials Required (Exploded),Materiale necesare (explodat),
+Exploded Items,Articole explozibile,
+Show in Website,Afișați pe site,
+Item Image (if not slideshow),Imagine Articol (dacă nu exista prezentare),
+Thumbnail,Miniatură,
+Website Specifications,Site-ul Specificații,
+Show Items,Afișare articole,
+Show Operations,Afișați Operații,
+Website Description,Site-ul Descriere,
+BOM Explosion Item,Explozie articol BOM,
+Qty Consumed Per Unit,Cantitate consumata pe unitatea,
+Include Item In Manufacturing,Includeți articole în fabricație,
+BOM Item,Articol BOM,
+Item operation,Operarea elementului,
+Rate & Amount,Rata și suma,
+Basic Rate (Company Currency),Rată elementară (moneda companiei),
+Scrap %,Resturi%,
+Original Item,Articolul original,
+BOM Operation,Operațiune BOM,
+Operation Time ,Timpul de funcționare,
+In minutes,În câteva minute,
+Batch Size,Mărimea lotului,
+Base Hour Rate(Company Currency),Rata de bază ore (companie Moneda),
+Operating Cost(Company Currency),Costul de operare (Companie Moneda),
+BOM Scrap Item,BOM Resturi Postul,
+Basic Amount (Company Currency),Suma de bază (Companie Moneda),
+BOM Update Tool,Instrument Actualizare BOM,
+"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM.\nIt also updates latest price in all the BOMs.","Înlocuiți un BOM particular în toate celelalte BOM unde este utilizat. Acesta va înlocui vechiul link BOM, va actualiza costul și va regenera tabelul &quot;BOM Explosion Item&quot; ca pe noul BOM. Actualizează, de asemenea, ultimul preț în toate BOM-urile.",
+Replace BOM,Înlocuiește BOM,
+Current BOM,FDM curent,
+The BOM which will be replaced,BOM care va fi înlocuit,
+The new BOM after replacement,Noul BOM după înlocuirea,
+Replace,Înlocuiește,
+Update latest price in all BOMs,Actualizați cel mai recent preț în toate BOM-urile,
+BOM Website Item,Site-ul BOM Articol,
+BOM Website Operation,Site-ul BOM Funcționare,
+Operation Time,Funcționare Ora,
+PO-JOB.#####,PO-JOB. #####,
+Timing Detail,Detalii detaliate,
+Time Logs,Timp Busteni,
+Total Time in Mins,Timp total în mină,
+Operation ID,ID operațiune,
+Transferred Qty,Transferat Cantitate,
+Job Started,Job a început,
+Started Time,Timpul început,
+Current Time,Ora curentă,
+Job Card Item,Cartelă de posturi,
+Job Card Time Log,Jurnalul de timp al cărții de lucru,
+Time In Mins,Timpul în min,
+Completed Qty,Cantitate Finalizata,
+Manufacturing Settings,Setări de Fabricație,
+Raw Materials Consumption,Consumul de materii prime,
+Allow Multiple Material Consumption,Permiteți consumul mai multor materiale,
+Backflush Raw Materials Based On,Backflush Materii Prime bazat pe,
+Material Transferred for Manufacture,Material Transferat pentru fabricarea,
+Capacity Planning,Planificarea capacității,
+Disable Capacity Planning,Dezactivează planificarea capacității,
+Allow Overtime,Permiteți ore suplimentare,
+Allow Production on Holidays,Permiteţi operaţii de producție pe durata sărbătorilor,
+Capacity Planning For (Days),Planificarea capacitate de (zile),
+Default Warehouses for Production,Depozite implicite pentru producție,
+Default Work In Progress Warehouse,Implicit Lucrări în depozit Progress,
+Default Finished Goods Warehouse,Implicite terminat Marfuri Warehouse,
+Default Scrap Warehouse,Depozitul de resturi implicit,
+Overproduction Percentage For Sales Order,Procentaj de supraproducție pentru comandă de vânzări,
+Overproduction Percentage For Work Order,Procentul de supraproducție pentru comanda de lucru,
+Other Settings,alte setări,
+Update BOM Cost Automatically,Actualizați costul BOM automat,
+Material Request Plan Item,Material Cerere plan plan,
+Material Request Type,Material Cerere tip,
+Material Issue,Problema de material,
+Customer Provided,Client oferit,
+Minimum Order Quantity,Cantitatea minima pentru comanda,
+Default Workstation,Implicit Workstation,
+Production Plan,Plan de productie,
+MFG-PP-.YYYY.-,MFG-PP-.YYYY.-,
+Get Items From,Obține elemente din,
+Get Sales Orders,Obține comenzile de vânzări,
+Material Request Detail,Detalii privind solicitarea materialului,
+Get Material Request,Material Cerere obțineți,
+Material Requests,Cereri de materiale,
+Get Items For Work Order,Obțineți comenzi pentru lucru,
+Material Request Planning,Planificarea solicitărilor materiale,
+Include Non Stock Items,Includeți articole din stoc,
+Include Subcontracted Items,Includeți articole subcontractate,
+Ignore Existing Projected Quantity,Ignorați cantitatea proiectată existentă,
+"To know more about projected quantity, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">click here</a>.","Pentru a afla mai multe despre cantitatea proiectată, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">faceți clic aici</a> .",
+Download Required Materials,Descărcați materialele necesare,
+Get Raw Materials For Production,Obțineți materii prime pentru producție,
+Total Planned Qty,Cantitatea totală planificată,
+Total Produced Qty,Cantitate total produsă,
+Material Requested,Material solicitat,
+Production Plan Item,Planul de producție Articol,
+Make Work Order for Sub Assembly Items,Realizați comanda de lucru pentru articolele de subansamblare,
+"If enabled, system will create the work order for the exploded items against which BOM is available.","Dacă este activat, sistemul va crea ordinea de lucru pentru elementele explodate pentru care este disponibilă BOM.",
+Planned Start Date,Start data planificată,
+Quantity and Description,Cantitate și descriere,
+material_request_item,material_request_item,
+Product Bundle Item,Produs Bundle Postul,
+Production Plan Material Request,Producția Plan de material Cerere,
+Production Plan Sales Order,Planul de producție comandă de vânzări,
+Sales Order Date,Comandă de vânzări Data,
+Routing Name,Numele de rutare,
+MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
+Item To Manufacture,Articol pentru Fabricare,
+Material Transferred for Manufacturing,Materii Transferate pentru fabricarea,
+Manufactured Qty,Cantitate Produsă,
+Use Multi-Level BOM,Utilizarea Multi-Level BOM,
+Plan material for sub-assemblies,Material Plan de subansambluri,
+Skip Material Transfer to WIP Warehouse,Treceți transferul de materiale la WIP Warehouse,
+Check if material transfer entry is not required,Verificați dacă nu este necesară introducerea transferului de materiale,
+Backflush Raw Materials From Work-in-Progress Warehouse,Materii prime de tip backflush din depozitul &quot;work-in-progress&quot;,
+Update Consumed Material Cost In Project,Actualizați costurile materialelor consumate în proiect,
+Warehouses,Depozite,
+This is a location where raw materials are available.,Acesta este un loc unde materiile prime sunt disponibile.,
+Work-in-Progress Warehouse,Depozit Lucru-în-Progres,
+This is a location where operations are executed.,Aceasta este o locație în care se execută operațiuni.,
+This is a location where final product stored.,Aceasta este o locație în care este depozitat produsul final.,
+Scrap Warehouse,Depozit fier vechi,
+This is a location where scraped materials are stored.,Aceasta este o locație în care sunt depozitate materiale razuite.,
+Required Items,Articole cerute,
+Actual Start Date,Dată Efectivă de Început,
+Planned End Date,Planificate Data de încheiere,
+Actual End Date,Data efectiva de finalizare,
+Operation Cost,Funcționare cost,
+Planned Operating Cost,Planificate cost de operare,
+Actual Operating Cost,Cost efectiv de operare,
+Additional Operating Cost,Costuri de operare adiţionale,
+Total Operating Cost,Cost total de operare,
+Manufacture against Material Request,Fabricare împotriva Cerere Material,
+Work Order Item,Postul de comandă de lucru,
+Available Qty at Source Warehouse,Cantitate disponibilă la Warehouse sursă,
+Available Qty at WIP Warehouse,Cantitate disponibilă la WIP Warehouse,
+Work Order Operation,Comandă de comandă de lucru,
+Operation Description,Operație Descriere,
+Operation completed for how many finished goods?,Funcționare completat de cât de multe bunuri finite?,
+Work in Progress,Lucrări în curs,
+Estimated Time and Cost,Timpul estimat și cost,
+Planned Start Time,Planificate Ora de începere,
+Planned End Time,Planificate End Time,
+in Minutes,In cateva minute,
+Actual Time and Cost,Timp și cost efective,
+Actual Start Time,Timpul efectiv de începere,
+Actual End Time,Timp efectiv de sfârşit,
+Updated via 'Time Log',"Actualizat prin ""Ora Log""",
+Actual Operation Time,Timp efectiv de funcționare,
+in Minutes\nUpdated via 'Time Log',"în procesul-verbal \n Actualizat prin ""Ora Log""",
+(Hour Rate / 60) * Actual Operation Time,(Tarif orar / 60) * Timp efectiv de operare,
+Workstation Name,Stație de lucru Nume,
+Production Capacity,Capacitatea de producție,
+Operating Costs,Costuri de operare,
+Electricity Cost,Cost energie electrică,
+per hour,pe oră,
+Consumable Cost,Cost Consumabile,
+Rent Cost,Cost Chirie,
+Wages,Salarizare,
+Wages per hour,Salarii pe oră,
+Net Hour Rate,Net Rata de ore,
+Workstation Working Hour,Statie de lucru de ore de lucru,
+Certification Application,Cerere de certificare,
+Name of Applicant,Numele aplicantului,
+Certification Status,Stare Certificare,
+Yet to appear,"Totuși, să apară",
+Certified,Certificat,
+Not Certified,Nu este certificată,
+USD,USD,
+INR,INR,
+Certified Consultant,Consultant Certificat,
+Name of Consultant,Numele consultantului,
+Certification Validity,Valabilitatea Certificare,
+Discuss ID,Discutați ID-ul,
+GitHub ID,ID-ul GitHub,
+Non Profit Manager,Manager non-profit,
+Chapter Head,Capitolul Cap,
+Meetup Embed HTML,Meetup Embed HTML,
+chapters/chapter_name\nleave blank automatically set after saving chapter.,capitole / nume_capitale lasă setul automat să fie setat automat după salvarea capitolului.,
+Chapter Members,Capitolul Membri,
+Members,Membrii,
+Chapter Member,Membru de capitol,
+Website URL,Website URL,
+Leave Reason,Lăsați rațiunea,
+Donor Name,Numele donatorului,
+Donor Type,Tipul donatorului,
+Withdrawn,retrasă,
+Grant Application Details ,Detalii privind cererile de finanțare,
+Grant Description,Descrierea granturilor,
+Requested Amount,Suma solicitată,
+Has any past Grant Record,Are vreun dosar Grant trecut,
+Show on Website,Afișați pe site,
+Assessment  Mark (Out of 10),Marca de evaluare (din 10),
+Assessment  Manager,Manager de evaluare,
+Email Notification Sent,Trimiterea notificării prin e-mail,
+NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
+Membership Expiry Date,Data expirării membrilor,
+Razorpay Details,Detalii Razorpay,
+Subscription ID,ID-ul abonamentului,
+Customer ID,Număr de înregistrare client,
+Subscription Activated,Abonament activat,
+Subscription Start ,Începere abonament,
+Subscription End,Încheierea abonamentului,
+Non Profit Member,Membru non-profit,
+Membership Status,Statutul de membru,
+Member Since,Membru din,
+Payment ID,ID de plată,
+Membership Settings,Setări de membru,
+Enable RazorPay For Memberships,Activați RazorPay pentru calitatea de membru,
+RazorPay Settings,Setări RazorPay,
+Billing Cycle,Ciclu de facturare,
+Billing Frequency,Frecvența de facturare,
+"The number of billing cycles for which the customer should be charged. For example, if a customer is buying a 1-year membership that should be billed on a monthly basis, this value should be 12.","Numărul de cicluri de facturare pentru care ar trebui să fie taxat clientul. De exemplu, dacă un client cumpără un abonament de 1 an care ar trebui să fie facturat lunar, această valoare ar trebui să fie 12.",
+Razorpay Plan ID,ID-ul planului Razorpay,
+Volunteer Name,Nume de voluntar,
+Volunteer Type,Tipul de voluntari,
+Availability and Skills,Disponibilitate și abilități,
+Availability,Disponibilitate,
+Weekends,Weekend-uri,
+Availability Timeslot,Disponibilitatea Timeslot,
+Morning,Dimineaţă,
+Afternoon,Dupa amiaza,
+Evening,Seară,
+Anytime,Oricând,
+Volunteer Skills,Abilități de voluntariat,
+Volunteer Skill,Abilități de voluntariat,
+Homepage,Pagina Principală,
+Hero Section Based On,Secția Eroilor Bazată pe,
+Homepage Section,Secțiunea Prima pagină,
+Hero Section,Secția Eroilor,
+Tag Line,Eticheta linie,
+Company Tagline for website homepage,Firma Tagline pentru pagina de start site,
+Company Description for website homepage,Descriere companie pentru pagina de start site,
+Homepage Slideshow,Prezentare Slideshow a paginii de start,
+"URL for ""All Products""",URL-ul pentru &quot;Toate produsele&quot;,
+Products to be shown on website homepage,Produsele care urmează să fie afișate pe pagina de pornire site,
+Homepage Featured Product,Pagina de intrare de produse recomandate,
+route,traseu,
+Section Based On,Secțiune bazată pe,
+Section Cards,Cărți de secțiune,
+Number of Columns,Numar de coloane,
+Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Numărul de coloane pentru această secțiune. 3 cărți vor fi afișate pe rând dacă selectați 3 coloane.,
+Section HTML,Secțiunea HTML,
+Use this field to render any custom HTML in the section.,Utilizați acest câmp pentru a reda orice HTML personalizat în secțiune.,
+Section Order,Comanda secțiunii,
+"Order in which sections should appear. 0 is first, 1 is second and so on.","Ordinea în care ar trebui să apară secțiunile. 0 este primul, 1 este al doilea și așa mai departe.",
+Homepage Section Card,Pagina de secțiune Card de secțiune,
+Subtitle,Subtitlu,
+Products Settings,produse Setări,
+Home Page is Products,Pagina Principală este Produse,
+"If checked, the Home page will be the default Item Group for the website","Dacă este bifată, pagina de pornire va fi implicit postul Grupului pentru site-ul web",
+Show Availability Status,Afișați starea de disponibilitate,
+Product Page,Pagina produsului,
+Products per Page,Produse pe Pagină,
+Enable Field Filters,Activați filtrele de câmp,
+Item Fields,Câmpurile articolului,
+Enable Attribute Filters,Activați filtrele de atribute,
+Attributes,Atribute,
+Hide Variants,Ascundeți variantele,
+Website Attribute,Atribut site web,
+Attribute,Atribute,
+Website Filter Field,Câmpul de filtrare a site-ului web,
+Activity Cost,Cost activitate,
+Billing Rate,Tarif de facturare,
+Costing Rate,Costing Rate,
+title,titlu,
+Projects User,Utilizator Proiecte,
+Default Costing Rate,Rată Cost Implicit,
+Default Billing Rate,Tarif de Facturare Implicit,
+Dependent Task,Sarcina dependent,
+Project Type,Tip de proiect,
+% Complete Method,% Metoda completă,
+Task Completion,sarcina Finalizarea,
+Task Progress,Progresul sarcină,
+% Completed,% Finalizat,
+From Template,Din șablon,
+Project will be accessible on the website to these users,Proiectul va fi accesibil pe site-ul acestor utilizatori,
+Copied From,Copiat de la,
+Start and End Dates,Începere și de încheiere Date,
+Actual Time (in Hours),Ora reală (în ore),
+Costing and Billing,Calculație a cheltuielilor și veniturilor,
+Total Costing Amount (via Timesheets),Suma totală a costurilor (prin intermediul foilor de pontaj),
+Total Expense Claim (via Expense Claims),Revendicarea Total cheltuieli (prin formularele de decont),
+Total Purchase Cost (via Purchase Invoice),Cost total de achiziție (prin cumparare factură),
+Total Sales Amount (via Sales Order),Suma totală a vânzărilor (prin comandă de vânzări),
+Total Billable Amount (via Timesheets),Sumă totală facturată (prin intermediul foilor de pontaj),
+Total Billed Amount (via Sales Invoices),Suma facturată totală (prin facturi de vânzare),
+Total Consumed Material Cost  (via Stock Entry),Costul total al materialelor consumate (prin intrarea în stoc),
+Gross Margin,Marja Brută,
+Gross Margin %,Marja Bruta%,
+Monitor Progress,Monitorizați progresul,
+Collect Progress,Collect Progress,
+Frequency To Collect Progress,Frecventa de colectare a progresului,
+Twice Daily,De doua ori pe zi,
+First Email,Primul e-mail,
+Second Email,Al doilea e-mail,
+Time to send,Este timpul să trimiteți,
+Day to Send,Zi de Trimis,
+Message will be sent to the users to get their status on the Project,Mesajul va fi trimis utilizatorilor pentru a obține starea lor în Proiect,
+Projects Manager,Manager Proiecte,
+Project Template,Model de proiect,
+Project Template Task,Sarcina șablonului de proiect,
+Begin On (Days),Începeți (zile),
+Duration (Days),Durata (zile),
+Project Update,Actualizarea proiectului,
+Project User,utilizator proiect,
+View attachments,Vizualizați atașamentele,
+Projects Settings,Setări pentru proiecte,
+Ignore Workstation Time Overlap,Ignorați suprapunerea timpului de lucru al stației,
+Ignore User Time Overlap,Ignorați timpul suprapunerii utilizatorului,
+Ignore Employee Time Overlap,Ignorați suprapunerea timpului angajatului,
+Weight,Greutate,
+Parent Task,Activitatea părintească,
+Timeline,Cronologie,
+Expected Time (in hours),Timp de așteptat (în ore),
+% Progress,% Progres,
+Is Milestone,Este Milestone,
+Task Description,Descrierea sarcinii,
+Dependencies,dependenţe,
+Dependent Tasks,Sarcini dependente,
+Depends on Tasks,Depinde de Sarcini,
+Actual Start Date (via Time Sheet),Data Efectiva de Început (prin Pontaj),
+Actual Time (in hours),Timpul efectiv (în ore),
+Actual End Date (via Time Sheet),Dată de Încheiere Efectivă (prin Pontaj),
+Total Costing Amount (via Time Sheet),Suma totală de calculație a costurilor (prin timp Sheet),
+Total Expense Claim (via Expense Claim),Revendicarea Total cheltuieli (prin cheltuieli revendicarea),
+Total Billing Amount (via Time Sheet),Suma totală de facturare (prin timp Sheet),
+Review Date,Data Comentariului,
+Closing Date,Data de Inchidere,
+Task Depends On,Sarcina Depinde,
+Task Type,Tipul sarcinii,
+TS-.YYYY.-,TS-.YYYY.-,
+Employee Detail,Detaliu angajat,
+Billing Details,Detalii de facturare,
+Total Billable Hours,Numărul total de ore facturabile,
+Total Billed Hours,Numărul total de ore facturate,
+Total Costing Amount,Suma totală Costing,
+Total Billable Amount,Suma totală Taxabil,
+Total Billed Amount,Suma totală Billed,
+% Amount Billed,% Suma facturata,
+Hrs,ore,
+Costing Amount,Costing Suma,
+Corrective/Preventive,Corectivă / preventivă,
+Corrective,corectiv,
+Preventive,Preventiv,
+Resolution,Rezoluție,
+Resolutions,rezoluţiile,
+Quality Action Resolution,Rezolvare acțiuni de calitate,
+Quality Feedback Parameter,Parametru de feedback al calității,
+Quality Feedback Template Parameter,Parametrul șablonului de feedback al calității,
+Quality Goal,Obiectivul de calitate,
+Monitoring Frequency,Frecvența de monitorizare,
+Weekday,zi de lucru,
+Objectives,Obiective,
+Quality Goal Objective,Obiectivul calității,
+Objective,Obiectiv,
+Agenda,Agendă,
+Minutes,Minute,
+Quality Meeting Agenda,Agenda întâlnirii de calitate,
+Quality Meeting Minutes,Proces-verbal de calitate al întâlnirii,
+Minute,Minut,
+Parent Procedure,Procedura părinților,
+Processes,procese,
+Quality Procedure Process,Procesul procedurii de calitate,
+Process Description,Descrierea procesului,
+Link existing Quality Procedure.,Conectați procedura de calitate existentă.,
+Additional Information,informatii suplimentare,
+Quality Review Objective,Obiectivul revizuirii calității,
+DATEV Settings,Setări DATEV,
+Regional,Regional,
+Consultant ID,ID-ul consultantului,
+GST HSN Code,Codul GST HSN,
+HSN Code,Codul HSN,
+GST Settings,Setări GST,
+GST Summary,Rezumatul GST,
+GSTIN Email Sent On,GSTIN Email trimis pe,
+GST Accounts,Conturi GST,
+B2C Limit,Limita B2C,
+Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Setați valoarea facturii pentru B2C. B2CL și B2CS calculate pe baza acestei valori de facturare.,
+GSTR 3B Report,Raportul GSTR 3B,
+January,ianuarie,
+February,februarie,
+March,Martie,
+April,Aprilie,
+May,Mai,
+June,iunie,
+July,iulie,
+August,August,
+September,Septembrie,
+October,octombrie,
+November,noiembrie,
+December,decembrie,
+JSON Output,Ieșire JSON,
+Invoices with no Place Of Supply,Facturi fără loc de furnizare,
+Import Supplier Invoice,Import factură furnizor,
+Invoice Series,Seria facturilor,
+Upload XML Invoices,Încărcați facturile XML,
+Zip File,Fișier Zip,
+Import Invoices,Importul facturilor,
+Click on Import Invoices button once the zip file has been attached to the document. Any errors related to processing will be shown in the Error Log.,Faceți clic pe butonul Import facturi după ce fișierul zip a fost atașat la document. Orice erori legate de procesare vor fi afișate în Jurnalul de erori.,
+Lower Deduction Certificate,Certificat de deducere inferior,
+Certificate Details,Detalii certificat,
+194A,194A,
+194C,194C,
+194D,194D,
+194H,194H,
+194I,194I,
+194J,194J,
+194LA,194LA,
+194LBB,194LBB,
+194LBC,194LBC,
+Certificate No,număr de certificat,
+Deductee Details,Detalii despre deducere,
+PAN No,PAN nr,
+Validity Details,Detalii de valabilitate,
+Rate Of TDS As Per Certificate,Rata TDS conform certificatului,
+Certificate Limit,Limita certificatului,
+Invoice Series Prefix,Prefixul seriei de facturi,
+Active Menu,Meniul activ,
+Restaurant Menu,Meniu Restaurant,
+Price List (Auto created),Listă Prețuri (creată automat),
+Restaurant Manager,Manager Restaurant,
+Restaurant Menu Item,Articol Meniu Restaurant,
+Restaurant Order Entry,Intrare comandă de restaurant,
+Restaurant Table,Masă Restaurant,
+Click Enter To Add,Faceți clic pe Enter to Add,
+Last Sales Invoice,Ultima factură de vânzare,
+Current Order,Comanda actuală,
+Restaurant Order Entry Item,Articol de intrare pentru comandă pentru restaurant,
+Served,servit,
+Restaurant Reservation,Rezervare la restaurant,
+Waitlisted,waitlisted,
+No Show,Neprezentare,
+No of People,Nr de oameni,
+Reservation Time,Timp de rezervare,
+Reservation End Time,Timp de terminare a rezervării,
+No of Seats,Numărul de scaune,
+Minimum Seating,Scaunele minime,
+"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Păstra Tractor de campanii de vanzari. Țineți evidența de afaceri, Cotațiile, comandă de vânzări, etc de la Campanii pentru a evalua Return on Investment.",
+SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
+Campaign Schedules,Programele campaniei,
+Buyer of Goods and Services.,Cumpărător de produse și servicii.,
+CUST-.YYYY.-,CUST-.YYYY.-,
+Default Company Bank Account,Cont bancar al companiei implicite,
+From Lead,Din Pistă,
+Account Manager,Manager Conturi,
+Allow Sales Invoice Creation Without Sales Order,Permiteți crearea facturilor de vânzare fără comandă de vânzare,
+Allow Sales Invoice Creation Without Delivery Note,Permiteți crearea facturilor de vânzare fără notă de livrare,
+Default Price List,Lista de Prețuri Implicita,
+Primary Address and Contact Detail,Adresa principală și detaliile de contact,
+"Select, to make the customer searchable with these fields","Selectați, pentru a face ca clientul să poată fi căutat în aceste câmpuri",
+Customer Primary Contact,Contact primar client,
+"Reselect, if the chosen contact is edited after save",Resetați dacă contactul ales este editat după salvare,
+Customer Primary Address,Adresa primară a clientului,
+"Reselect, if the chosen address is edited after save",Resetați dacă adresa editată este editată după salvare,
+Primary Address,adresa primara,
+Mention if non-standard receivable account,Mentionati daca non-standard cont de primit,
+Credit Limit and Payment Terms,Limita de credit și termenii de plată,
+Additional information regarding the customer.,Informații suplimentare cu privire la client.,
+Sales Partner and Commission,Partener de vânzări și a Comisiei,
+Commission Rate,Rata de Comision,
+Sales Team Details,Detalii de vânzări Echipa,
+Customer POS id,ID POS client,
+Customer Credit Limit,Limita de creditare a clienților,
+Bypass Credit Limit Check at Sales Order,Treceți la verificarea limită de credit la Comandă de vânzări,
+Industry Type,Industrie Tip,
+MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
+Installation Date,Data de instalare,
+Installation Time,Timp de instalare,
+Installation Note Item,Instalare Notă Postul,
+Installed Qty,Instalat Cantitate,
+Lead Source,Sursa de plumb,
+Period Start Date,Data de începere a perioadei,
+Period End Date,Perioada de sfârșit a perioadei,
+Cashier,Casier,
+Difference,Diferență,
+Modes of Payment,Moduri de plată,
+Linked Invoices,Linked Factures,
+POS Closing Voucher Details,Detalii Voucher de închidere POS,
+Collected Amount,Suma colectată,
+Expected Amount,Suma așteptată,
+POS Closing Voucher Invoices,Facturi pentru voucherele de închidere de la POS,
+Quantity of Items,Cantitatea de articole,
+"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. \n\nThe package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".\n\nFor Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Product Bundle Item.\n\nNote: BOM = Bill of Materials","Grup agregat de articole ** ** în alt articol ** **. Acest lucru este util dacă gruparea de anumite elemente ** ** într-un pachet și să mențină un bilanț al ambalate ** ** Elemente și nu agregate ** Postul **. Pachetul ** Postul ** va avea &quot;Este Piesa&quot; ca &quot;No&quot; și &quot;Este punctul de vânzare&quot;, ca &quot;Da&quot;. De exemplu: dacă sunteți de vânzare Laptop-uri și Rucsacuri separat și au un preț special dacă clientul cumpără atât, atunci laptop + rucsac va fi un nou Bundle produs Postul. Notă: BOM = Bill de materiale",
+Parent Item,Părinte Articol,
+List items that form the package.,Listeaza articole care formează pachetul.,
+SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
+Quotation To,Ofertă Pentru a,
+Rate at which customer's currency is converted to company's base currency,Rata la care moneda clientului este convertită în valuta de bază a companiei,
+Rate at which Price list currency is converted to company's base currency,Rata la care lista de prețuri moneda este convertit în moneda de bază a companiei,
+Additional Discount and Coupon Code,Cod suplimentar de reducere și cupon,
+Referral Sales Partner,Partener de vânzări de recomandări,
+In Words will be visible once you save the Quotation.,În cuvinte va fi vizibil după ce salvați citat.,
+Term Details,Detalii pe termen,
+Quotation Item,Ofertă Articol,
+Against Doctype,Comparativ tipului documentului,
+Against Docname,Comparativ denumirii documentului,
+Additional Notes,Note Aditionale,
+SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
+Skip Delivery Note,Salt nota de livrare,
+In Words will be visible once you save the Sales Order.,În cuvinte va fi vizibil după ce a salva comanda de vânzări.,
+Track this Sales Order against any Project,Urmareste acest Ordin de vânzări față de orice proiect,
+Billing and Delivery Status,Facturare și stare livrare,
+Not Delivered,Nu Pronunțată,
+Fully Delivered,Livrat complet,
+Partly Delivered,Parțial livrate,
+Not Applicable,Nu se aplică,
+%  Delivered,% Livrat,
+% of materials delivered against this Sales Order,% de materiale livrate versus aceasta Comanda,
+% of materials billed against this Sales Order,% de materiale facturate versus această Comandă de Vânzări,
+Not Billed,Nu Taxat,
+Fully Billed,Complet Taxat,
+Partly Billed,Parțial Taxat,
+Ensure Delivery Based on Produced Serial No,Asigurați livrarea pe baza numărului de serie produs,
+Supplier delivers to Customer,Furnizor livrează la client,
+Delivery Warehouse,Depozit de livrare,
+Planned Quantity,Planificate Cantitate,
+For Production,Pentru Producție,
+Work Order Qty,Numărul comenzilor de lucru,
+Produced Quantity,Produs Cantitate,
+Used for Production Plan,Folosit pentru Planul de producție,
+Sales Partner Type,Tip de partener de vânzări,
+Contact No.,Nr. Persoana de Contact,
+Contribution (%),Contribuție (%),
+Contribution to Net Total,Contribuție la Total Net,
+Selling Settings,Setări Vânzare,
+Settings for Selling Module,Setări pentru vânzare Modulul,
+Customer Naming By,Numire Client de catre,
+Campaign Naming By,Campanie denumita de,
+Default Customer Group,Grup Clienți Implicit,
+Default Territory,Teritoriu Implicit,
+Close Opportunity After Days,Închide oportunitate După zile,
+Default Quotation Validity Days,Valabilitatea zilnică a cotațiilor,
+Sales Update Frequency,Frecventa actualizarii vanzarilor,
+Each Transaction,Fiecare tranzacție,
+SMS Center,SMS Center,
+Send To,Trimite la,
+All Contact,Toate contactele,
+All Customer Contact,Toate contactele clienților,
+All Supplier Contact,Toate contactele furnizorului,
+All Sales Partner Contact,Toate contactele partenerului de vânzări,
+All Lead (Open),Toate Pistele (Deschise),
+All Employee (Active),Toți angajații (activi),
+All Sales Person,Toate persoanele de vânzăril,
+Create Receiver List,Creare Lista Recipienti,
+Receiver List,Receptor Lista,
+Messages greater than 160 characters will be split into multiple messages,Mesaje mai mari de 160 de caractere vor fi împărțite în mai multe mesaje,
+Total Characters,Total de caractere,
+Total Message(s),Total mesaj(e),
+Authorization Control,Control de autorizare,
+Authorization Rule,Regulă de autorizare,
+Average Discount,Discount mediiu,
+Customerwise Discount,Reducere Client,
+Itemwise Discount,Reducere Articol-Avizat,
+Customer or Item,Client sau un element,
+Customer / Item Name,Client / Denumire articol,
+Authorized Value,Valoarea autorizată,
+Applicable To (Role),Aplicabil pentru (rol),
+Applicable To (Employee),Aplicabil pentru (angajat),
+Applicable To (User),Aplicabil pentru (utilizator),
+Applicable To (Designation),Aplicabil pentru (destinaţie),
+Approving Role (above authorized value),Aprobarea Rol (mai mare decât valoarea autorizată),
+Approving User  (above authorized value),Aprobarea utilizator (mai mare decât valoarea autorizată),
+Brand Defaults,Valorile implicite ale mărcii,
+Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Entitate Juridică / Filială cu o Diagramă de Conturi separată aparținând Organizației.,
+Change Abbreviation,Schimbă Abreviere,
+Parent Company,Compania mamă,
+Default Values,Valori implicite,
+Default Holiday List,Implicit Listă de vacanță,
+Default Selling Terms,Condiții de vânzare implicite,
+Default Buying Terms,Condiții de cumpărare implicite,
+Create Chart Of Accounts Based On,"Creează Diagramă de Conturi, Bazată pe",
+Standard Template,Format standard,
+Existing Company,Companie existentă,
+Chart Of Accounts Template,Diagramă de Șablon Conturi,
+Existing Company ,companie existentă,
+Date of Establishment,Data Înființării,
+Sales Settings,Setări de vânzări,
+Monthly Sales Target,Vânzări lunare,
+Sales Monthly History,Istoric Lunar de Vânzări,
+Transactions Annual History,Istoricul tranzacțiilor anuale,
+Total Monthly Sales,Vânzări totale lunare,
+Default Cash Account,Cont de Numerar Implicit,
+Default Receivable Account,Implicit cont de încasat,
+Round Off Cost Center,Rotunji cost Center,
+Discount Allowed Account,Cont permis de reducere,
+Discount Received Account,Reducerea contului primit,
+Exchange Gain / Loss Account,Cont Cheltuiala / Venit din diferente de curs valutar,
+Unrealized Exchange Gain/Loss Account,Contul de câștig / pierdere din contul nerealizat,
+Allow Account Creation Against Child Company,Permite crearea de cont împotriva companiei pentru copii,
+Default Payable Account,Implicit cont furnizori,
+Default Employee Advance Account,Implicit Cont Advance Advance Employee,
+Default Cost of Goods Sold Account,Cont Implicit Cost Bunuri Vândute,
+Default Income Account,Contul Venituri Implicit,
+Default Deferred Revenue Account,Implicit Contul cu venituri amânate,
+Default Deferred Expense Account,Implicit contul amânat de cheltuieli,
+Default Payroll Payable Account,Implicit Salarizare cont de plati,
+Default Expense Claim Payable Account,Cont Predefinit Solicitare Cheltuială Achitată,
+Stock Settings,Setări stoc,
+Enable Perpetual Inventory,Activați inventarul perpetuu,
+Default Inventory Account,Contul de inventar implicit,
+Stock Adjustment Account,Cont Ajustarea stoc,
+Fixed Asset Depreciation Settings,Setări de amortizare fixă Activ,
+Series for Asset Depreciation Entry (Journal Entry),Seria pentru intrarea în amortizarea activelor (intrare în jurnal),
+Gain/Loss Account on Asset Disposal,Cont câștig / Pierdere de eliminare a activelor,
+Asset Depreciation Cost Center,Centru de cost Amortizare Activ,
+Budget Detail,Detaliu buget,
+Exception Budget Approver Role,Rolul de abordare a bugetului de excepție,
+Company Info,Informaţii Companie,
+For reference only.,Numai Pentru referință.,
+Company Logo,Logoul companiei,
+Date of Incorporation,Data Încorporării,
+Date of Commencement,Data începerii,
+Phone No,Nu telefon,
+Company Description,Descrierea Companiei,
+Registration Details,Detalii de Înregistrare,
+Company registration numbers for your reference. Tax numbers etc.,Numerele de înregistrare companie pentru referință. Numerele fiscale etc,
+Delete Company Transactions,Ștergeți Tranzacții de Firma,
+Currency Exchange,Curs Valutar,
+Specify Exchange Rate to convert one currency into another,Precizați Rata de schimb a converti o monedă în alta,
+From Currency,Din moneda,
+To Currency,Pentru a valutar,
+For Buying,Pentru cumparare,
+For Selling,Pentru vânzări,
+Customer Group Name,Nume Group Client,
+Parent Customer Group,Părinte Grup Clienți,
+Only leaf nodes are allowed in transaction,Numai noduri frunze sunt permise în tranzacție,
+Mention if non-standard receivable account applicable,Menționa dacă non-standard de cont primit aplicabil,
+Credit Limits,Limitele de credit,
+Email Digest,Email Digest,
+Send regular summary reports via Email.,Trimite rapoarte de sinteză periodice prin e-mail.,
+Email Digest Settings,Setari Email Digest,
+How frequently?,Cât de frecvent?,
+Next email will be sent on:,Următorul email va fi trimis la:,
+Note: Email will not be sent to disabled users,Notă: Adresa de email nu va fi trimis la utilizatorii cu handicap,
+Profit & Loss,Pierderea profitului,
+New Income,noul venit,
+New Expenses,Cheltuieli noi,
+Annual Income,Venit anual,
+Annual Expenses,Cheltuielile anuale,
+Bank Balance,Banca Balance,
+Bank Credit Balance,Soldul creditului bancar,
+Receivables,Creanțe,
+Payables,Datorii,
+Sales Orders to Bill,Comenzi de vânzare către Bill,
+Purchase Orders to Bill,Achiziționați comenzi către Bill,
+New Sales Orders,Noi comenzi de vânzări,
+New Purchase Orders,Noi comenzi de aprovizionare,
+Sales Orders to Deliver,Comenzi de livrare pentru livrare,
+Purchase Orders to Receive,Comenzi de cumpărare pentru a primi,
+New Purchase Invoice,Factură de achiziție nouă,
+New Quotations,Noi Oferte,
+Open Quotations,Oferte deschise,
+Open Issues,Probleme deschise,
+Open Projects,Proiecte deschise,
+Purchase Orders Items Overdue,Elementele comenzilor de cumpărare sunt restante,
+Upcoming Calendar Events,Evenimente calendaristice viitoare,
+Open To Do,Deschis de făcut,
+Add Quote,Adaugă Citat,
+Global Defaults,Valori Implicite Globale,
+Default Company,Companie Implicită,
+Current Fiscal Year,An Fiscal Curent,
+Default Distance Unit,Unitatea de distanță standard,
+Hide Currency Symbol,Ascunde simbol moneda,
+Do not show any symbol like $ etc next to currencies.,Nu afisa nici un simbol de genul $ etc alături de valute.,
+"If disable, 'Rounded Total' field will not be visible in any transaction","Dacă este dezactivat, câmpul 'Total Rotunjit' nu va fi vizibil in nici o tranzacție",
+Disable In Words,Nu fi de acord în cuvinte,
+"If disable, 'In Words' field will not be visible in any transaction","În cazul în care dezactivați, &quot;în cuvinte&quot; câmp nu vor fi vizibile în orice tranzacție",
+Item Classification,Postul Clasificare,
+General Settings,Setări generale,
+Item Group Name,Denumire Grup Articol,
+Parent Item Group,Părinte Grupa de articole,
+Item Group Defaults,Setări implicite pentru grupul de articole,
+Item Tax,Taxa Articol,
+Check this if you want to show in website,Bifati dacă doriți să fie afisat în site,
+Show this slideshow at the top of the page,Arată această prezentare în partea de sus a paginii,
+HTML / Banner that will show on the top of product list.,"HTML / Banner, care va arăta pe partea de sus a listei de produse.",
+Set prefix for numbering series on your transactions,Set prefix pentru seria de numerotare pe tranzacțiile dvs.,
+Setup Series,Seria de configurare,
+Select Transaction,Selectați Transaction,
+Help HTML,Ajutor HTML,
+Series List for this Transaction,Lista de serie pentru această tranzacție,
+User must always select,Utilizatorul trebuie să selecteze întotdeauna,
+Check this if you want to force the user to select a series before saving. There will be no default if you check this.,"Bifati dacă doriți sa fortati utilizatorul să selecteze o serie înainte de a salva. Nu va exista nici o valoare implicita dacă se bifeaza aici.""",
+Update Series,Actualizare Series,
+Change the starting / current sequence number of an existing series.,Schimbați secventa de numar de inceput / curent a unei serii existente.,
+Prefix,Prefix,
+Current Value,Valoare curenta,
+This is the number of the last created transaction with this prefix,Acesta este numărul ultimei tranzacții create cu acest prefix,
+Update Series Number,Actualizare Serii Număr,
+Quotation Lost Reason,Ofertă pierdut rațiunea,
+A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Un distribuitor terță parte / dealer / agent comisionar / afiliat / re-vânzător care vinde produsele companiei pentru un comision.,
+Sales Partner Name,Numele Partner Sales,
+Partner Type,Tip partener,
+Address & Contacts,Adresă şi contacte,
+Address Desc,Adresă Desc,
+Contact Desc,Persoana de Contact Desc,
+Sales Partner Target,Vânzări Partner țintă,
+Targets,Obiective,
+Show In Website,Arata pe site-ul,
+Referral Code,Codul de recomandare,
+To Track inbound purchase,Pentru a urmări achiziția de intrare,
+Logo,Logo,
+Partner website,site-ul partenerului,
+All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Toate tranzacțiile de vânzări pot fi etichetate comparativ mai multor **Persoane de vânzări** pentru ca dvs. sa puteţi configura și monitoriza obiective.,
+Name and Employee ID,Nume și ID angajat,
+Sales Person Name,Sales Person Nume,
+Parent Sales Person,Mamă Sales Person,
+Select company name first.,Selectați numele companiei în primul rând.,
+Sales Person Targets,Ținte Persoane Vânzări,
+Set targets Item Group-wise for this Sales Person.,Stabilească obiective Articol Grupa-înțelept pentru această persoană de vânzări.,
+Supplier Group Name,Numele grupului de furnizori,
+Parent Supplier Group,Grupul furnizorilor-mamă,
+Target Detail,Țintă Detaliu,
+Target Qty,Țintă Cantitate,
+Target  Amount,Suma țintă,
+Target Distribution,Țintă Distribuție,
+"Standard Terms and Conditions that can be added to Sales and Purchases.\n\nExamples:\n\n1. Validity of the offer.\n1. Payment Terms (In Advance, On Credit, part advance etc).\n1. What is extra (or payable by the Customer).\n1. Safety / usage warning.\n1. Warranty if any.\n1. Returns Policy.\n1. Terms of shipping, if applicable.\n1. Ways of addressing disputes, indemnity, liability, etc.\n1. Address and Contact of your Company.","Termeni și Condiții care pot fi adăugate la vânzările și achizițiile standard.\n\n Exemple: \n\n 1. Perioada de valabilitate a ofertei.\n 1. Conditii de plata (in avans, pe credit, parte în avans etc.).\n 1. Ce este în plus (sau de plătit de către Client).\n 1. Siguranța / avertizare utilizare.\n 1. Garantie dacă este cazul.\n 1. Politica de Returnare.\n 1. Condiții de transport maritim, dacă este cazul.\n 1. Modalitati de litigii de adresare, indemnizație, răspunderea, etc. \n 1. Adresa și de contact ale companiei.",
+Applicable Modules,Module aplicabile,
+Terms and Conditions Help,Termeni și Condiții Ajutor,
+Classification of Customers by region,Clasificarea clienți în funcție de regiune,
+Territory Name,Teritoriului Denumire,
+Parent Territory,Teritoriul părinte,
+Territory Manager,Teritoriu Director,
+For reference,Pentru referință,
+Territory Targets,Obiective Territory,
+Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,"Set bugetelor Grupa înțelept Articol de pe acest teritoriu. Puteți include, de asemenea, sezonier prin setarea distribuție.",
+UOM Name,Numele UOM,
+Check this to disallow fractions. (for Nos),Bifati pentru a nu permite fracțiuni. (Pentru Nos),
+Website Item Group,Site-ul Grupa de articole,
+Cross Listing of Item in multiple groups,Crucea Listarea de punctul în mai multe grupuri,
+Default settings for Shopping Cart,Setările implicite pentru Cosul de cumparaturi,
+Enable Shopping Cart,Activați cosul de cumparaturi,
+Display Settings,Display Settings,
+Show Public Attachments,Afișați atașamentele publice,
+Show Price,Afișați prețul,
+Show Stock Availability,Afișați disponibilitatea stocului,
+Show Contact Us Button,Afișați butonul de contactare,
+Show Stock Quantity,Afișați cantitatea stocului,
+Show Apply Coupon Code,Afișați Aplicați codul de cupon,
+Allow items not in stock to be added to cart,Permiteți adăugarea în coș a articolelor care nu sunt în stoc,
+Prices will not be shown if Price List is not set,Prețurile nu vor fi afișate în cazul în care Prețul de listă nu este setat,
+Quotation Series,Ofertă Series,
+Checkout Settings,setările checkout pentru,
+Enable Checkout,activaţi Checkout,
+Payment Success Url,Plată de succes URL,
+After payment completion redirect user to selected page.,După finalizarea plății redirecționați utilizatorul la pagina selectată.,
+Batch Details,Detalii lot,
+Batch ID,ID-ul lotului,
+image,imagine,
+Parent Batch,Lotul părinte,
+Manufacturing Date,Data Fabricației,
+Batch Quantity,Cantitatea lotului,
+Batch UOM,Lot UOM,
+Source Document Type,Tipul documentului sursă,
+Source Document Name,Numele sursei de document,
+Batch Description,Descriere lot,
+Bin,Coş,
+Reserved Quantity,Cantitate rezervata,
+Actual Quantity,Cantitate Efectivă,
+Requested Quantity,Cantitate Solicitată,
+Reserved Qty for sub contract,Cantitate rezervată pentru subcontract,
+Moving Average Rate,Rata medie mobilă,
+FCFS Rate,Rata FCFS,
+Customs Tariff Number,Tariful vamal Număr,
+Tariff Number,Tarif Număr,
+Delivery To,De Livrare la,
+MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
+Is Return,Este de returnare,
+Issue Credit Note,Eliberați nota de credit,
+Return Against Delivery Note,Reveni Împotriva livrare Nota,
+Customer's Purchase Order No,Nr. Comanda de Aprovizionare Client,
+Billing Address Name,Numele din adresa de facturare,
+Required only for sample item.,Necesar numai pentru articolul de probă.,
+"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Dacă ați creat un model standard la taxele de vânzare și taxe Format, selectați una și faceți clic pe butonul de mai jos.",
+In Words will be visible once you save the Delivery Note.,În cuvinte va fi vizibil după ce a salva de livrare Nota.,
+In Words (Export) will be visible once you save the Delivery Note.,În cuvinte (de export) va fi vizibil după ce a salva de livrare Nota.,
+Transporter Info,Info Transporter,
+Driver Name,Numele șoferului,
+Track this Delivery Note against any Project,Urmareste acest Livrare Note împotriva oricărui proiect,
+Inter Company Reference,Referință între companii,
+Print Without Amount,Imprima Fără Suma,
+% Installed,% Instalat,
+% of materials delivered against this Delivery Note,% de materiale livrate versus acest Aviz de Expeditie,
+Installation Status,Starea de instalare,
+Excise Page Number,Numărul paginii accize,
+Instructions,Instrucţiuni,
+From Warehouse,Din Depozit,
+Against Sales Order,Contra comenzii de vânzări,
+Against Sales Order Item,Contra articolului comenzii de vânzări,
+Against Sales Invoice,Comparativ facturii de vânzări,
+Against Sales Invoice Item,Comparativ articolului facturii de vânzări,
+Available Batch Qty at From Warehouse,Disponibil lot Cantitate puțin din Warehouse,
+Available Qty at From Warehouse,Cantitate Disponibil la Depozitul,
+Delivery Settings,Setări de livrare,
+Dispatch Settings,Dispecerat Setări,
+Dispatch Notification Template,Șablonul de notificare pentru expediere,
+Dispatch Notification Attachment,Expedierea notificării atașament,
+Leave blank to use the standard Delivery Note format,Lăsați necompletat pentru a utiliza formatul standard de livrare,
+Send with Attachment,Trimiteți cu atașament,
+Delay between Delivery Stops,Întârziere între opririle de livrare,
+Delivery Stop,Livrare Stop,
+Lock,Lacăt,
+Visited,Vizitat,
+Order Information,Informații despre comandă,
+Contact Information,Informatii de contact,
+Email sent to,Email trimis catre,
+Dispatch Information,Informații despre expediere,
+Estimated Arrival,Sosirea estimată,
+MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
+Initial Email Notification Sent,Notificarea inițială de e-mail trimisă,
+Delivery Details,Detalii Livrare,
+Driver Email,E-mail șofer,
+Driver Address,Adresa șoferului,
+Total Estimated Distance,Distanța totală estimată,
+Distance UOM,Distanță UOM,
+Departure Time,Timp de plecare,
+Delivery Stops,Livrarea se oprește,
+Calculate Estimated Arrival Times,Calculează Timp de Sosire Estimat,
+Use Google Maps Direction API to calculate estimated arrival times,Utilizați Google Maps Direction API pentru a calcula orele de sosire estimate,
+Optimize Route,Optimizați ruta,
+Use Google Maps Direction API to optimize route,Utilizați Google Maps Direction API pentru a optimiza ruta,
+In Transit,În trecere,
+Fulfillment User,Utilizator de încredere,
+"A Product or a Service that is bought, sold or kept in stock.","Un produs sau un serviciu care este cumpărat, vândut sau păstrat în stoc.",
+STO-ITEM-.YYYY.-,STO-ELEMENT-.YYYY.-,
+Variant Of,Varianta de,
+"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Dacă elementul este o variantă de un alt element atunci descriere, imagine, de stabilire a prețurilor, impozite etc vor fi stabilite de șablon dacă nu se specifică în mod explicit",
+Is Item from Hub,Este element din Hub,
+Default Unit of Measure,Unitatea de Măsură Implicita,
+Maintain Stock,Articol Stocabil,
+Standard Selling Rate,Standard de vânzare Rata,
+Auto Create Assets on Purchase,Creați active automate la achiziție,
+Asset Naming Series,Serie de denumire a activelor,
+Over Delivery/Receipt Allowance (%),Indemnizație de livrare / primire (%),
+Barcodes,Coduri de bare,
+Shelf Life In Days,Perioada de valabilitate în zile,
+End of Life,Sfârsitul vieții,
+Default Material Request Type,Implicit Material Tip de solicitare,
+Valuation Method,Metoda de evaluare,
+FIFO,FIFO,
+Moving Average,Mutarea medie,
+Warranty Period (in days),Perioada de garanție (în zile),
+Auto re-order,Re-comandă automată,
+Reorder level based on Warehouse,Nivel pentru re-comanda bazat pe Magazie,
+Will also apply for variants unless overrridden,Se va aplica și pentru variantele cu excepția cazului în overrridden,
+Units of Measure,Unitati de masura,
+Will also apply for variants,"Va aplică, de asemenea pentru variante",
+Serial Nos and Batches,Numere și loturi seriale,
+Has Batch No,Are nr. de Lot,
+Automatically Create New Batch,Creare automată Lot nou,
+Batch Number Series,Seria numerelor serii,
+"Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings.","Exemplu: ABCD. #####. Dacă seria este setată și numărul lotului nu este menționat în tranzacții, atunci numărul lotului automat va fi creat pe baza acestei serii. Dacă doriți întotdeauna să menționați în mod explicit numărul lotului pentru acest articol, lăsați acest lucru necompletat. Notă: această setare va avea prioritate față de Prefixul Seriei de Nomenclatoare din Setările de stoc.",
+Has Expiry Date,Are data de expirare,
+Retain Sample,Păstrați eșantionul,
+Max Sample Quantity,Cantitate maximă de probă,
+Maximum sample quantity that can be retained,Cantitatea maximă de mostră care poate fi reținută,
+Has Serial No,Are nr. de serie,
+Serial Number Series,Serial Number Series,
+"Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Exemplu:. ABCD ##### \n Dacă seria este setat și nu de serie nu este menționat în tranzacții, numărul de atunci automat de serie va fi creat pe baza acestei serii. Dacă întotdeauna doriți să se menționeze explicit Serial nr de acest articol. părăsi acest gol.",
+Variants,Variante,
+Has Variants,Are variante,
+"If this item has variants, then it cannot be selected in sales orders etc.","Dacă acest element are variante, atunci nu poate fi selectat în comenzile de vânzări, etc.",
+Variant Based On,Varianta Bazat pe,
+Item Attribute,Postul Atribut,
+"Sales, Purchase, Accounting Defaults","Vânzări, Cumpărare, Definiții de contabilitate",
+Item Defaults,Elemente prestabilite,
+"Purchase, Replenishment Details","Detalii de achiziție, reconstituire",
+Is Purchase Item,Este de cumparare Articol,
+Default Purchase Unit of Measure,Unitatea de măsură prestabilită a măsurii,
+Minimum Order Qty,Comanda minima Cantitate,
+Minimum quantity should be as per Stock UOM,Cantitatea minimă ar trebui să fie conform UOM-ului de stoc,
+Average time taken by the supplier to deliver,Timpul mediu luate de către furnizor de a livra,
+Is Customer Provided Item,Este articol furnizat de client,
+Delivered by Supplier (Drop Ship),Livrate de Furnizor (Drop navelor),
+Supplier Items,Furnizor Articole,
+Foreign Trade Details,Detalii Comerț Exterior,
+Country of Origin,Tara de origine,
+Sales Details,Detalii Vânzări,
+Default Sales Unit of Measure,Unitatea de vânzare standard de măsură,
+Is Sales Item,Este produs de vânzări,
+Max Discount (%),Max Discount (%),
+No of Months,Numărul de luni,
+Customer Items,Articole clientului,
+Inspection Criteria,Criteriile de inspecție,
+Inspection Required before Purchase,Necesar de inspecție înainte de achiziționare,
+Inspection Required before Delivery,Necesar de inspecție înainte de livrare,
+Default BOM,FDM Implicit,
+Supply Raw Materials for Purchase,Materii prime de alimentare pentru cumparare,
+If subcontracted to a vendor,Dacă subcontractat la un furnizor,
+Customer Code,Cod client,
+Default Item Manufacturer,Producător de articole implicit,
+Default Manufacturer Part No,Cod producător implicit,
+Show in Website (Variant),Afișați în site-ul (Variant),
+Items with higher weightage will be shown higher,Articole cu weightage mare va fi afișat mai mare,
+Show a slideshow at the top of the page,Arata un slideshow din partea de sus a paginii,
+Website Image,Imagine Web,
+Website Warehouse,Website Depozit,
+"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Arata ""Pe stoc"" sau ""nu este pe stoc"", bazat pe stoc disponibil în acest depozit.",
+Website Item Groups,Site-ul Articol Grupuri,
+List this Item in multiple groups on the website.,Listeaza acest articol in grupuri multiple de pe site-ul.\,
+Copy From Item Group,Copiere din Grupul de Articole,
+Website Content,Conținutul site-ului web,
+You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Puteți utiliza orice marcaj Bootstrap 4 valabil în acest câmp. Acesta va fi afișat pe pagina dvs. de articole.,
+Total Projected Qty,Cantitate totală prevăzută,
+Hub Publishing Details,Detalii privind publicarea Hubului,
+Publish in Hub,Publica in Hub,
+Publish Item to hub.erpnext.com,Publica Postul de hub.erpnext.com,
+Hub Category to Publish,Categorie Hub pentru publicare,
+Hub Warehouse,Hub Depozit,
+"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.","Publicați &quot;În stoc&quot; sau &quot;Nu este în stoc&quot; pe Hub, pe baza stocurilor disponibile în acest depozit.",
+Synced With Hub,Sincronizat cu Hub,
+Item Alternative,Alternativă la element,
+Alternative Item Code,Codul elementului alternativ,
+Two-way,Două căi,
+Alternative Item Name,Numele elementului alternativ,
+Attribute Name,Denumire atribut,
+Numeric Values,Valori numerice,
+From Range,Din gama,
+Increment,Creștere,
+To Range,La gama,
+Item Attribute Values,Valori Postul Atribut,
+Item Attribute Value,Postul caracteristicii Valoarea,
+Attribute Value,Valoare Atribut,
+Abbreviation,Abreviere,
+"This will be appended to the Item Code of the variant. For example, if your abbreviation is ""SM"", and the item code is ""T-SHIRT"", the item code of the variant will be ""T-SHIRT-SM""","Acest lucru va fi adăugat la Codul punctul de varianta. De exemplu, în cazul în care abrevierea este ""SM"", iar codul produs face ""T-SHIRT"", codul punctul de varianta va fi ""T-SHIRT-SM""",
+Item Barcode,Element de coduri de bare,
+Barcode Type,Tip de cod de bare,
+EAN,EAN,
+UPC-A,UPC-A,
+Item Customer Detail,Detaliu Articol Client,
+"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Pentru comoditatea clienților, aceste coduri pot fi utilizate în formate de imprimare cum ar fi Facturi și Note de Livrare",
+Ref Code,Cod de Ref,
+Item Default,Element Implicit,
+Purchase Defaults,Valori implicite pentru achiziții,
+Default Buying Cost Center,Centru de Cost Cumparare Implicit,
+Default Supplier,Furnizor Implicit,
+Default Expense Account,Cont de Cheltuieli Implicit,
+Sales Defaults,Setări prestabilite pentru vânzări,
+Default Selling Cost Center,Centru de Cost Vanzare Implicit,
+Item Manufacturer,Postul Producator,
+Item Price,Preț Articol,
+Packing Unit,Unitate de ambalare,
+Quantity  that must be bought or sold per UOM,Cantitatea care trebuie cumpărată sau vândută pe UOM,
+Item Quality Inspection Parameter,Parametru Inspecție de Calitate Articol,
+Acceptance Criteria,Criteriile de receptie,
+Item Reorder,Reordonare Articol,
+Check in (group),Check-in (grup),
+Request for,Cerere pentru,
+Re-order Level,Nivelul de re-comandă,
+Re-order Qty,Re-comanda Cantitate,
+Item Supplier,Furnizor Articol,
+Item Variant,Postul Varianta,
+Item Variant Attribute,Varianta element Atribut,
+Do not update variants on save,Nu actualizați variantele de salvare,
+Fields will be copied over only at time of creation.,Câmpurile vor fi copiate numai în momentul creării.,
+Allow Rename Attribute Value,Permiteți redenumirea valorii atributului,
+Rename Attribute Value in Item Attribute.,Redenumiți valoarea atributului în atributul de element.,
+Copy Fields to Variant,Copiați câmpurile în varianta,
+Item Website Specification,Specificație Site Articol,
+Table for Item that will be shown in Web Site,Tabelul pentru postul care va fi afișat în site-ul,
+Landed Cost Item,Cost Final Articol,
+Receipt Document Type,Primire Tip de document,
+Receipt Document,Documentul de primire,
+Applicable Charges,Taxe aplicabile,
+Purchase Receipt Item,Primirea de cumpărare Postul,
+Landed Cost Purchase Receipt,Chitanta de Cumparare aferent Costului Final,
+Landed Cost Taxes and Charges,Impozite cost debarcate și Taxe,
+Landed Cost Voucher,Voucher Cost Landed,
+MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
+Purchase Receipts,Încasări de cumparare,
+Purchase Receipt Items,Primirea de cumpărare Articole,
+Get Items From Purchase Receipts,Obține elemente din achiziție Încasări,
+Distribute Charges Based On,Împărțiți taxelor pe baza,
+Landed Cost Help,Costul Ajutor Landed,
+Manufacturers used in Items,Producători utilizați în Articole,
+Limited to 12 characters,Limitată la 12 de caractere,
+MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
+Partially Ordered,Parțial comandat,
+Transferred,transferat,
+% Ordered,% Comandat,
+Terms and Conditions Content,Termeni și condiții de conținut,
+Quantity and Warehouse,Cantitatea și Warehouse,
+Lead Time Date,Data Timp Conducere,
+Min Order Qty,Min Ordine Cantitate,
+Packed Item,Articol ambalate,
+To Warehouse (Optional),La Depozit (opțional),
+Actual Batch Quantity,Cantitatea actuală de lot,
+Prevdoc DocType,Prevdoc Doctype,
+Parent Detail docname,Părinte Detaliu docname,
+"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Generarea de ambalare slip pentru pachetele de a fi livrate. Folosit pentru a notifica numărul pachet, conținutul pachetului și greutatea sa.",
+Indicates that the package is a part of this delivery (Only Draft),Indică faptul că pachetul este o parte din această livrare (Proiect de numai),
+MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
+From Package No.,Din Pachetul Nr.,
+Identification of the package for the delivery (for print),Identificarea pachetului pentru livrare (pentru imprimare),
+To Package No.,La pachetul Nr,
+If more than one package of the same type (for print),În cazul în care mai mult de un pachet de același tip (pentru imprimare),
+Package Weight Details,Pachetul Greutate Detalii,
+The net weight of this package. (calculated automatically as sum of net weight of items),Greutatea netă a acestui pachet. (Calculat automat ca suma de greutate netă de produs),
+Net Weight UOM,Greutate neta UOM,
+Gross Weight,Greutate brută,
+The gross weight of the package. Usually net weight + packaging material weight. (for print),"Greutatea brută a pachetului. Greutate + ambalare, de obicei, greutate netă de material. (Pentru imprimare)",
+Gross Weight UOM,Greutate Brută UOM,
+Packing Slip Item,Bonul Articol,
+DN Detail,Detaliu DN,
+STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
+Material Transfer for Manufacture,Transfer de materii pentru fabricarea,
+Qty of raw materials will be decided based on the qty of the Finished Goods Item,Cantitatea de materii prime va fi decisă pe baza cantității articolului de produse finite,
+Parent Warehouse,Depozit Părinte,
+Items under this warehouse will be suggested,Articolele din acest depozit vor fi sugerate,
+Get Item Locations,Obțineți locații de articole,
+Item Locations,Locații articol,
+Pick List Item,Alegeți articolul din listă,
+Picked Qty,Cules Qty,
+Price List Master,Lista de preturi Masterat,
+Price List Name,Lista de prețuri Nume,
+Price Not UOM Dependent,Pretul nu este dependent de UOM,
+Applicable for Countries,Aplicabile pentru țările,
+Price List Country,Lista de preturi Țară,
+MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
+Supplier Delivery Note,Nota de livrare a furnizorului,
+Time at which materials were received,Timp în care s-au primit materiale,
+Return Against Purchase Receipt,Reveni cu confirmare de primire cumparare,
+Rate at which supplier's currency is converted to company's base currency,Rata la care moneda furnizorului este convertit în moneda de bază a companiei,
+Sets 'Accepted Warehouse' in each row of the items table.,Setează „Depozit acceptat” în fiecare rând al tabelului cu articole.,
+Sets 'Rejected Warehouse' in each row of the items table.,Setează „Depozit respins” în fiecare rând al tabelului cu articole.,
+Raw Materials Consumed,Materii prime consumate,
+Get Current Stock,Obține stocul curent,
+Consumed Items,Articole consumate,
+Add / Edit Taxes and Charges,Adaugaţi / editaţi taxe și cheltuieli,
+Auto Repeat Detail,Repeatarea detaliilor automate,
+Transporter Details,Detalii Transporter,
+Vehicle Number,Numărul de vehicule,
+Vehicle Date,Vehicul Data,
+Received and Accepted,Primit și Acceptat,
+Accepted Quantity,Cantitatea Acceptata,
+Rejected Quantity,Cantitate Respinsă,
+Accepted Qty as per Stock UOM,Cantitate acceptată conform stocului UOM,
+Sample Quantity,Cantitate de probă,
+Rate and Amount,Rata și volumul,
+MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
+Report Date,Data raportului,
+Inspection Type,Inspecție Tip,
+Item Serial No,Nr. de Serie Articol,
+Sample Size,Eșantionul de dimensiune,
+Inspected By,Inspectat de,
+Readings,Lecturi,
+Quality Inspection Reading,Inspecție de calitate Reading,
+Reading 1,Lectura 1,
+Reading 2,Lectura 2,
+Reading 3,Lectura 3,
+Reading 4,Lectura 4,
+Reading 5,Lectura 5,
+Reading 6,Lectura 6,
+Reading 7,Lectură 7,
+Reading 8,Lectură 8,
+Reading 9,Lectură 9,
+Reading 10,Lectura 10,
+Quality Inspection Template Name,Numele de șablon de inspecție a calității,
+Quick Stock Balance,Soldul rapid al stocurilor,
+Available Quantity,Cantitate Disponibilă,
+Distinct unit of an Item,Unitate distinctă de Postul,
+Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Depozit poate fi modificat numai prin Bursa de primire de intrare / livrare Nota / cumparare,
+Purchase / Manufacture Details,Detalii de cumpărare / Fabricarea,
+Creation Document Type,Tip de document creație,
+Creation Document No,Creare Document Nr.,
+Creation Date,Data creării,
+Creation Time,Timp de creare,
+Asset Details,Detalii privind activul,
+Asset Status,Starea activelor,
+Delivery Document Type,Tipul documentului de Livrare,
+Delivery Document No,Nr. de document de Livrare,
+Delivery Time,Timp de Livrare,
+Invoice Details,Detaliile facturii,
+Warranty / AMC Details,Garanție / AMC Detalii,
+Warranty Expiry Date,Garanție Data expirării,
+AMC Expiry Date,Dată expirare AMC,
+Under Warranty,În garanție,
+Out of Warranty,Ieșit din garanție,
+Under AMC,Sub AMC,
+Out of AMC,Din AMC,
+Warranty Period (Days),Perioada de garanție (zile),
+Serial No Details,Serial Nu Detalii,
+MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
+Stock Entry Type,Tip intrare stoc,
+Stock Entry (Outward GIT),Intrare pe stoc (GIT exterior),
+Material Consumption for Manufacture,Consumul de materiale pentru fabricare,
+Repack,Reambalați,
+Send to Subcontractor,Trimiteți către subcontractant,
+Delivery Note No,Nr. Nota de Livrare,
+Sales Invoice No,Nr. Factură de Vânzări,
+Purchase Receipt No,Primirea de cumpărare Nu,
+Inspection Required,Inspecție obligatorii,
+From BOM,De la BOM,
+For Quantity,Pentru Cantitate,
+As per Stock UOM,Ca şi pentru stoc UOM,
+Including items for sub assemblies,Inclusiv articole pentru subansambluri,
+Default Source Warehouse,Depozit Sursa Implicit,
+Source Warehouse Address,Adresă Depozit Sursă,
+Default Target Warehouse,Depozit Tinta Implicit,
+Target Warehouse Address,Adresa de destinație a depozitului,
+Update Rate and Availability,Actualizarea Rata și disponibilitatea,
+Total Incoming Value,Valoarea totală a sosi,
+Total Outgoing Value,Valoarea totală de ieșire,
+Total Value Difference (Out - In),Diferența Valoarea totală (Out - In),
+Additional Costs,Costuri suplimentare,
+Total Additional Costs,Costuri totale suplimentare,
+Customer or Supplier Details,Client sau furnizor Detalii,
+Per Transferred,Per transferat,
+Stock Entry Detail,Stoc de intrare Detaliu,
+Basic Rate (as per Stock UOM),Rata de bază (conform Stock UOM),
+Basic Amount,Suma de bază,
+Additional Cost,Cost aditional,
+Serial No / Batch,Serial No / lot,
+BOM No. for a Finished Good Item,Nr. BOM pentru un articol tip produs finalizat,
+Material Request used to make this Stock Entry,Cerere de material utilizat pentru a face acest stoc de intrare,
+Subcontracted Item,Subcontractat element,
+Against Stock Entry,Împotriva intrării pe stoc,
+Stock Entry Child,Copil de intrare în stoc,
+PO Supplied Item,PO Articol furnizat,
+Reference Purchase Receipt,Recepție de achiziție de achiziție,
+Stock Ledger Entry,Registru Contabil Intrări,
+Outgoing Rate,Rata de ieșire,
+Actual Qty After Transaction,Cant. efectivă după tranzacție,
+Stock Value Difference,Valoarea Stock Diferența,
+Stock Queue (FIFO),Stoc Queue (FIFO),
+Is Cancelled,Este anulat,
+Stock Reconciliation,Stoc Reconciliere,
+This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,Acest instrument vă ajută să actualizați sau stabili cantitatea și evaluarea stocului in sistem. Acesta este de obicei folosit pentru a sincroniza valorile de sistem și ceea ce există de fapt în depozite tale.,
+MAT-RECO-.YYYY.-,MAT-RECO-.YYYY.-,
+Reconciliation JSON,Reconciliere JSON,
+Stock Reconciliation Item,Stock reconciliere Articol,
+Before reconciliation,Premergător reconcilierii,
+Current Serial No,Serial curent nr,
+Current Valuation Rate,Rata de evaluare curentă,
+Current Amount,Suma curentă,
+Quantity Difference,cantitate diferenţă,
+Amount Difference,suma diferenţă,
+Item Naming By,Denumire Articol Prin,
+Default Item Group,Group Articol Implicit,
+Default Stock UOM,Stoc UOM Implicit,
+Sample Retention Warehouse,Exemplu de reținere depozit,
+Default Valuation Method,Metoda de Evaluare Implicită,
+Show Barcode Field,Afișează coduri de bare Câmp,
+Convert Item Description to Clean HTML,Conversia elementului de articol pentru a curăța codul HTML,
+Allow Negative Stock,Permiteţi stoc negativ,
+Automatically Set Serial Nos based on FIFO,Setat automat Serial nr bazat pe FIFO,
+Auto Material Request,Cerere automată de material,
+Inter Warehouse Transfer Settings,Setări de transfer între depozite,
+Freeze Stock Entries,Blocheaza Intrarile in Stoc,
+Stock Frozen Upto,Stoc Frozen Până la,
+Batch Identification,Identificarea lotului,
+Use Naming Series,Utilizați seria de numire,
+Naming Series Prefix,Denumirea prefixului seriei,
+UOM Category,Categoria UOM,
+UOM Conversion Detail,Detaliu UOM de conversie,
+Variant Field,Varianta câmpului,
+A logical Warehouse against which stock entries are made.,Un depozit logic față de care se efectuează înregistrări de stoc.,
+Warehouse Detail,Detaliu Depozit,
+Warehouse Name,Denumire Depozit,
+Warehouse Contact Info,Date de contact depozit,
+PIN,PIN,
+ISS-.YYYY.-,ISS-.YYYY.-,
+Raised By (Email),Ridicat de (E-mail),
+Issue Type,Tipul problemei,
+Issue Split From,Problemă Split From,
+Service Level,Nivel de servicii,
+Response By,Răspuns de,
+Response By Variance,Răspuns după variație,
+Ongoing,În curs de desfășurare,
+Resolution By,Rezolvare de,
+Resolution By Variance,Rezolutie prin variatie,
+Service Level Agreement Creation,Crearea contractului de nivel de serviciu,
+First Responded On,Primul Răspuns la,
+Resolution Details,Detalii Rezoluție,
+Opening Date,Data deschiderii,
+Opening Time,Timp de deschidere,
+Resolution Date,Dată Rezoluție,
+Via Customer Portal,Prin portalul de clienți,
+Support Team,Echipa de Suport,
+Issue Priority,Prioritate de emisiune,
+Service Day,Ziua serviciului,
+Workday,Zi de lucru,
+Default Priority,Prioritate implicită,
+Priorities,priorităţi,
+Support Hours,Ore de sprijin,
+Support and Resolution,Suport și rezoluție,
+Default Service Level Agreement,Acordul implicit privind nivelul serviciilor,
+Entity,Entitate,
+Agreement Details,Detalii despre acord,
+Response and Resolution Time,Timp de răspuns și rezolvare,
+Service Level Priority,Prioritate la nivel de serviciu,
+Resolution Time,Timp de rezoluție,
+Support Search Source,Sprijiniți sursa de căutare,
+Source Type,Tipul sursei,
+Query Route String,Query String Rout,
+Search Term Param Name,Termenul de căutare Param Name,
+Response Options,Opțiuni de Răspuns,
+Response Result Key Path,Răspuns Rezultat Cale cheie,
+Post Route String,Postați șirul de rută,
+Post Route Key List,Afișați lista cheilor de rutare,
+Post Title Key,Titlul mesajului cheie,
+Post Description Key,Post Descriere cheie,
+Link Options,Link Opțiuni,
+Source DocType,Sursa DocType,
+Result Title Field,Câmp rezultat titlu,
+Result Preview Field,Câmp de examinare a rezultatelor,
+Result Route Field,Câmp de rutare rezultat,
+Service Level Agreements,Acorduri privind nivelul serviciilor,
+Track Service Level Agreement,Urmăriți acordul privind nivelul serviciilor,
+Allow Resetting Service Level Agreement,Permiteți resetarea contractului de nivel de serviciu,
+Close Issue After Days,Închide Problemă După Zile,
+Auto close Issue after 7 days,Închidere automată Problemă după 7 zile,
+Support Portal,Portal de suport,
+Get Started Sections,Începeți secțiunile,
+Show Latest Forum Posts,Arată ultimele postări pe forum,
+Forum Posts,Mesaje pe forum,
+Forum URL,Adresa URL a forumului,
+Get Latest Query,Obțineți ultima interogare,
+Response Key List,Listă cu chei de răspuns,
+Post Route Key,Introduceți cheia de rutare,
+Search APIs,API-uri de căutare,
+SER-WRN-.YYYY.-,SER-WRN-.YYYY.-,
+Issue Date,Data emiterii,
+Item and Warranty Details,Postul și garanție Detalii,
+Warranty / AMC Status,Garanție / AMC Starea,
+Resolved By,Rezolvat prin,
+Service Address,Adresa serviciu,
+If different than customer address,Dacă diferă de adresa client,
+Raised By,Ridicat De,
+From Company,De la Compania,
+Rename Tool,Instrument Redenumire,
+Utilities,Utilitați,
+Type of document to rename.,Tip de document pentru a redenumi.,
+File to Rename,Fișier de Redenumiți,
+"Attach .csv file with two columns, one for the old name and one for the new name","Atașați fișier .csv cu două coloane, una pentru denumirea veche și una pentru denumirea nouă",
+Rename Log,Redenumi Conectare,
+SMS Log,SMS Conectare,
+Sender Name,Sender Name,
+Sent On,A trimis pe,
+No of Requested SMS,Nu de SMS solicitat,
+Requested Numbers,Numere solicitate,
+No of Sent SMS,Nu de SMS-uri trimise,
+Sent To,Trimis La,
+Absent Student Report,Raport elev absent,
+Assessment Plan Status,Starea planului de evaluare,
+Asset Depreciation Ledger,Registru Amortizatre Active,
+Asset Depreciations and Balances,Amortizari si Balante Active,
+Available Stock for Packing Items,Stoc disponibil pentru articole destinate împachetării,
+Bank Clearance Summary,Sumar aprobare bancă,
+Bank Remittance,Transferul bancar,
+Batch Item Expiry Status,Lot Articol Stare de expirare,
+Batch-Wise Balance History,Istoricul balanţei principale aferente lotului,
+BOM Explorer,BOM Explorer,
+BOM Search,BOM Căutare,
+BOM Stock Calculated,BOM Stocul calculat,
+BOM Variance Report,BOM Raport de variație,
+Campaign Efficiency,Eficiența campaniei,
+Cash Flow,Fluxul de numerar,
+Completed Work Orders,Ordine de lucru finalizate,
+To Produce,Pentru a produce,
+Produced,Produs,
+Consolidated Financial Statement,Situație financiară consolidată,
+Course wise Assessment Report,Raport de evaluare în curs,
+Customer Acquisition and Loyalty,Achiziționare și Loialitate Client,
+Customer Credit Balance,Balanța Clienți credit,
+Customer Ledger Summary,Rezumatul evidenței clienților,
+Customer-wise Item Price,Prețul articolului pentru clienți,
+Customers Without Any Sales Transactions,Clienții fără tranzacții de vânzare,
+Daily Timesheet Summary,Rezumat Pontaj Zilnic,
+Daily Work Summary Replies,Rezumat zilnic de lucrări,
+DATEV,DATEV,
+Delayed Item Report,Raportul întârziat al articolului,
+Delayed Order Report,Raportul de comandă întârziat,
+Delivered Items To Be Billed,Produse Livrate Pentru a fi Facturate,
+Delivery Note Trends,Tendințe Nota de Livrare,
+Electronic Invoice Register,Registrul electronic al facturilor,
+Employee Advance Summary,Sumarul avansului pentru angajați,
+Employee Billing Summary,Rezumatul facturării angajaților,
+Employee Birthday,Zi de naștere angajat,
+Employee Information,Informații angajat,
+Employee Leave Balance,Bilant Concediu Angajat,
+Employee Leave Balance Summary,Rezumatul soldului concediilor angajaților,
+Employees working on a holiday,Numar de angajati care lucreaza in vacanta,
+Eway Bill,Eway Bill,
+Expiring Memberships,Expirarea calității de membru,
+Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptabile [FEC],
+Final Assessment Grades,Evaluări finale,
+Fixed Asset Register,Registrul activelor fixe,
+Gross and Net Profit Report,Raport de profit brut și net,
+GST Itemised Purchase Register,GST Registrul achiziționărilor detaliate,
+GST Itemised Sales Register,Registrul de vânzări detaliat GST,
+GST Purchase Register,Registrul achizițiilor GST,
+GST Sales Register,Registrul vânzărilor GST,
+GSTR-1,GSTR-1,
+GSTR-2,GSTR-2,
+Hotel Room Occupancy,Hotel Ocuparea camerei,
+HSN-wise-summary of outward supplies,Rezumatul HSN pentru rezervele exterioare,
+Inactive Customers,Clienții inactive,
+Inactive Sales Items,Articole de vânzare inactive,
+IRS 1099,IRS 1099,
+Issued Items Against Work Order,Articole emise împotriva comenzii de lucru,
+Projected Quantity as Source,Cantitatea ca sursă proiectată,
+Item Balance (Simple),Balanța postului (simplă),
+Item Price Stock,Preț Stoc Articol,
+Item Prices,Preturi Articol,
+Item Shortage Report,Raport Articole Lipsa,
+Item Variant Details,Element Variant Details,
+Item-wise Price List Rate,Rata Lista de Pret Articol-Avizat,
+Item-wise Purchase History,Istoric Achizitii Articol-Avizat,
+Item-wise Purchase Register,Registru Achizitii Articol-Avizat,
+Item-wise Sales History,Istoric Vanzari Articol-Avizat,
+Item-wise Sales Register,Registru Vanzari Articol-Avizat,
+Items To Be Requested,Articole care vor fi solicitate,
+Reserved,Rezervat,
+Itemwise Recommended Reorder Level,Nivel de Reordonare Recomandat al Articolului-Awesome,
+Lead Details,Detalii Pistă,
+Lead Owner Efficiency,Lead Efficiency Owner,
+Loan Repayment and Closure,Rambursarea împrumutului și închiderea,
+Loan Security Status,Starea de securitate a împrumutului,
+Lost Opportunity,Oportunitate pierdută,
+Maintenance Schedules,Program de Mentenanta,
+Material Requests for which Supplier Quotations are not created,Cererile de materiale pentru care nu sunt create Cotațiile Furnizor,
+Monthly Attendance Sheet,Lunar foaia de prezență,
+Open Work Orders,Deschideți comenzile de lucru,
+Qty to Deliver,Cantitate pentru a oferi,
+Patient Appointment Analytics,Analiza programării pacientului,
+Payment Period Based On Invoice Date,Perioada de plată Bazat pe Data facturii,
+Pending SO Items For Purchase Request,Până la SO articole pentru cerere de oferta,
+Procurement Tracker,Urmărirea achizițiilor,
+Product Bundle Balance,Soldul pachetului de produse,
+Production Analytics,Google Analytics de producție,
+Profit and Loss Statement,Profit și pierdere,
+Profitability Analysis,Analiza profitabilității,
+Project Billing Summary,Rezumatul facturării proiectului,
+Project wise Stock Tracking,Urmărirea proiectului în funcție de stoc,
+Project wise Stock Tracking ,Proiect înțelept Tracking Stock,
+Prospects Engaged But Not Converted,Perspective implicate dar nu convertite,
+Purchase Analytics,Analytics de cumpărare,
+Purchase Invoice Trends,Cumpărare Tendințe factură,
+Qty to Receive,Cantitate de a primi,
+Received Qty Amount,Suma de cantitate primită,
+Billed Qty,Qty facturat,
+Purchase Order Trends,Comandă de aprovizionare Tendințe,
+Purchase Receipt Trends,Tendințe Primirea de cumpărare,
+Purchase Register,Cumpărare Inregistrare,
+Quotation Trends,Cotație Tendințe,
+Received Items To Be Billed,Articole primite Pentru a fi facturat,
+Qty to Order,Cantitate pentru comandă,
+Requested Items To Be Transferred,Articole solicitate de transferat,
+Qty to Transfer,Cantitate de a transfera,
+Salary Register,Salariu Înregistrare,
+Sales Analytics,Analitice de vânzare,
+Sales Invoice Trends,Vânzări Tendințe factură,
+Sales Order Trends,Vânzări Ordine Tendințe,
+Sales Partner Commission Summary,Rezumatul Comisiei partenere de vânzări,
+Sales Partner Target Variance based on Item Group,Varianța de țintă a partenerilor de vânzări bazată pe grupul de articole,
+Sales Partner Transaction Summary,Rezumat tranzacție partener vânzări,
+Sales Partners Commission,Comision Agenţi Vânzări,
+Invoiced Amount (Exclusive Tax),Suma facturată (taxă exclusivă),
+Average Commission Rate,Rată de comision medie,
+Sales Payment Summary,Rezumatul plăților pentru vânzări,
+Sales Person Commission Summary,Persoana de vânzări Rezumat al Comisiei,
+Sales Person Target Variance Based On Item Group,Vânzarea persoanei de vânzare Varianța bazată pe grupul de articole,
+Sales Person-wise Transaction Summary,Persoana de vânzări-înțelept Rezumat Transaction,
+Sales Register,Vânzări Inregistrare,
+Serial No Service Contract Expiry,Serial Nu Service Contract de expirare,
+Serial No Status,Serial Nu Statut,
+Serial No Warranty Expiry,Serial Nu Garantie pana,
+Stock Ageing,Stoc Îmbătrânirea,
+Stock and Account Value Comparison,Comparația valorilor stocurilor și conturilor,
+Stock Projected Qty,Stoc proiectată Cantitate,
+Student and Guardian Contact Details,Student și Guardian Detalii de contact,
+Student Batch-Wise Attendance,Lot-înțelept elev Participarea,
+Student Fee Collection,Taxa de student Colectia,
+Student Monthly Attendance Sheet,Elev foaia de prezență lunară,
+Subcontracted Item To Be Received,Articol subcontractat care trebuie primit,
+Subcontracted Raw Materials To Be Transferred,Materii prime subcontractate care trebuie transferate,
+Supplier Ledger Summary,Rezumat evidență furnizor,
+Supplier-Wise Sales Analytics,Furnizor înțelept Vânzări Analytics,
+Support Hour Distribution,Distribuția orelor de distribuție,
+TDS Computation Summary,Rezumatul TDS de calcul,
+TDS Payable Monthly,TDS plătibil lunar,
+Territory Target Variance Based On Item Group,Varianța țintă de teritoriu pe baza grupului de articole,
+Territory-wise Sales,Vânzări înțelese teritoriul,
+Total Stock Summary,Rezumatul Total al Stocului,
+Trial Balance,Balanta,
+Trial Balance (Simple),Soldul de încercare (simplu),
+Trial Balance for Party,Trial Balance pentru Party,
+Unpaid Expense Claim,Solicitare Cheltuială Neachitată,
+Warehouse wise Item Balance Age and Value,Warehouse wise Item Balance Age și Value,
+Work Order Stock Report,Raport de stoc pentru comanda de lucru,
+Work Orders in Progress,Ordine de lucru în curs,
+Validation Error,eroare de validatie,
+Automatically Process Deferred Accounting Entry,Procesați automat intrarea contabilă amânată,
+Bank Clearance,Clearance bancar,
+Bank Clearance Detail,Detaliu de lichidare bancară,
+Update Cost Center Name / Number,Actualizați numele / numărul centrului de costuri,
+Journal Entry Template,Șablon de intrare în jurnal,
+Template Title,Titlul șablonului,
+Journal Entry Type,Tipul intrării în jurnal,
+Journal Entry Template Account,Cont șablon de intrare în jurnal,
+Process Deferred Accounting,Procesul de contabilitate amânată,
+Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Intrarea manuală nu poate fi creată! Dezactivați intrarea automată pentru contabilitatea amânată în setările conturilor și încercați din nou,
+End date cannot be before start date,Data de încheiere nu poate fi înainte de data de începere,
+Total Counts Targeted,Numărul total vizat,
+Total Counts Completed,Numărul total finalizat,
+Counts Targeted: {0},Număruri vizate: {0},
+Payment Account is mandatory,Contul de plată este obligatoriu,
+"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","Dacă este bifat, suma totală va fi dedusă din venitul impozabil înainte de calcularea impozitului pe venit fără nicio declarație sau depunere de dovadă.",
+Disbursement Details,Detalii despre debursare,
+Material Request Warehouse,Depozit cerere material,
+Select warehouse for material requests,Selectați depozitul pentru solicitări de materiale,
+Transfer Materials For Warehouse {0},Transfer de materiale pentru depozit {0},
+Production Plan Material Request Warehouse,Plan de producție Cerere de materiale Depozit,
+Sets 'Source Warehouse' in each row of the items table.,Setează „Depozit sursă” în fiecare rând al tabelului cu articole.,
+Sets 'Target Warehouse' in each row of the items table.,Setează „Depozit țintă” în fiecare rând al tabelului cu articole.,
+Show Cancelled Entries,Afișați intrările anulate,
+Backdated Stock Entry,Intrare de stoc actualizată,
+Row #{}: Currency of {} - {} doesn't matches company currency.,Rândul # {}: moneda {} - {} nu se potrivește cu moneda companiei.,
+{} Assets created for {},{} Active create pentru {},
+{0} Number {1} is already used in {2} {3},{0} Numărul {1} este deja utilizat în {2} {3},
+Update Bank Clearance Dates,Actualizați datele de compensare bancară,
+Healthcare Practitioner: ,Practician medical:,
+Lab Test Conducted: ,Test de laborator efectuat:,
+Lab Test Event: ,Eveniment de test de laborator:,
+Lab Test Result: ,Rezultatul testului de laborator:,
+Clinical Procedure conducted: ,Procedura clinică efectuată:,
+Therapy Session Charges: {0},Taxe pentru sesiunea de terapie: {0},
+Therapy: ,Terapie:,
+Therapy Plan: ,Planul de terapie:,
+Total Counts Targeted: ,Număruri totale vizate:,
+Total Counts Completed: ,Numărul total finalizat:,
+Andaman and Nicobar Islands,Insulele Andaman și Nicobar,
+Andhra Pradesh,Andhra Pradesh,
+Arunachal Pradesh,Arunachal Pradesh,
+Assam,Assam,
+Bihar,Bihar,
+Chandigarh,Chandigarh,
+Chhattisgarh,Chhattisgarh,
+Dadra and Nagar Haveli,Dadra și Nagar Haveli,
+Daman and Diu,Daman și Diu,
+Delhi,Delhi,
+Goa,Goa,
+Gujarat,Gujarat,
+Haryana,Haryana,
+Himachal Pradesh,Himachal Pradesh,
+Jammu and Kashmir,Jammu și Kashmir,
+Jharkhand,Jharkhand,
+Karnataka,Karnataka,
+Kerala,Kerala,
+Lakshadweep Islands,Insulele Lakshadweep,
+Madhya Pradesh,Madhya Pradesh,
+Maharashtra,Maharashtra,
+Manipur,Manipur,
+Meghalaya,Meghalaya,
+Mizoram,Mizoram,
+Nagaland,Nagaland,
+Odisha,Odisha,
+Other Territory,Alt teritoriu,
+Pondicherry,Pondicherry,
+Punjab,Punjab,
+Rajasthan,Rajasthan,
+Sikkim,Sikkim,
+Tamil Nadu,Tamil Nadu,
+Telangana,Telangana,
+Tripura,Tripura,
+Uttar Pradesh,Uttar Pradesh,
+Uttarakhand,Uttarakhand,
+West Bengal,Bengalul de Vest,
+Is Mandatory,Este obligatoriu,
+Published on,publicat pe,
+Service Received But Not Billed,"Serviciu primit, dar nu facturat",
+Deferred Accounting Settings,Setări de contabilitate amânate,
+Book Deferred Entries Based On,Rezervați intrări amânate pe baza,
+Days,Zile,
+Months,Luni,
+Book Deferred Entries Via Journal Entry,Rezervați intrări amânate prin intrarea în jurnal,
+Submit Journal Entries,Trimiteți intrări în jurnal,
+If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Dacă aceasta nu este bifată, jurnalele vor fi salvate într-o stare de schiță și vor trebui trimise manual",
+Enable Distributed Cost Center,Activați Centrul de cost distribuit,
+Distributed Cost Center,Centrul de cost distribuit,
+Dunning,Poftă,
+DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
+Overdue Days,Zile restante,
+Dunning Type,Tipul Dunning,
+Dunning Fee,Taxă Dunning,
+Dunning Amount,Suma Dunning,
+Resolved,S-a rezolvat,
+Unresolved,Nerezolvat,
+Printing Setting,Setare imprimare,
+Body Text,Corpul textului,
+Closing Text,Text de închidere,
+Resolve,Rezolva,
+Dunning Letter Text,Text scrisoare Dunning,
+Is Default Language,Este limba implicită,
+Letter or Email Body Text,Text pentru corp scrisoare sau e-mail,
+Letter or Email Closing Text,Text de închidere prin scrisoare sau e-mail,
+Body and Closing Text Help,Ajutor pentru corp și text de închidere,
+Overdue Interval,Interval întârziat,
+Dunning Letter,Scrisoare Dunning,
+"This section allows the user to set the Body and Closing text of the Dunning Letter for the Dunning Type based on language, which can be used in Print.","Această secțiune permite utilizatorului să seteze corpul și textul de închidere al Scrisorii Dunning pentru tipul Dunning în funcție de limbă, care poate fi utilizat în Tipărire.",
+Reference Detail No,Nr. Detalii referință,
+Custom Remarks,Observații personalizate,
+Please select a Company first.,Vă rugăm să selectați mai întâi o companie.,
+"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Rândul # {0}: tipul documentului de referință trebuie să fie unul dintre Comanda de vânzări, Factura de vânzări, Înregistrarea jurnalului sau Sarcina",
+POS Closing Entry,Intrare de închidere POS,
+POS Opening Entry,Intrare de deschidere POS,
+POS Transactions,Tranzacții POS,
+POS Closing Entry Detail,Detaliu intrare închidere POS,
+Opening Amount,Suma de deschidere,
+Closing Amount,Suma de închidere,
+POS Closing Entry Taxes,Taxe de intrare POS închidere,
+POS Invoice,Factură POS,
+ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
+Consolidated Sales Invoice,Factură de vânzări consolidată,
+Return Against POS Invoice,Reveniți împotriva facturii POS,
+Consolidated,Consolidat,
+POS Invoice Item,Articol factură POS,
+POS Invoice Merge Log,Jurnal de îmbinare a facturilor POS,
+POS Invoices,Facturi POS,
+Consolidated Credit Note,Nota de credit consolidată,
+POS Invoice Reference,Referință factură POS,
+Set Posting Date,Setați data de înregistrare,
+Opening Balance Details,Detalii sold deschidere,
+POS Opening Entry Detail,Detaliu intrare deschidere POS,
+POS Payment Method,Metoda de plată POS,
+Payment Methods,Metode de plata,
+Process Statement Of Accounts,Procesul de situație a conturilor,
+General Ledger Filters,Filtre majore,
+Customers,Clienți,
+Select Customers By,Selectați Clienți după,
+Fetch Customers,Aduceți clienții,
+Send To Primary Contact,Trimiteți la contactul principal,
+Print Preferences,Preferințe de imprimare,
+Include Ageing Summary,Includeți rezumatul îmbătrânirii,
+Enable Auto Email,Activați e-mailul automat,
+Filter Duration (Months),Durata filtrului (luni),
+CC To,CC To,
+Help Text,Text de ajutor,
+Emails Queued,E-mailuri la coadă,
+Process Statement Of Accounts Customer,Procesul extras de cont client,
+Billing Email,E-mail de facturare,
+Primary Contact Email,E-mail de contact principal,
+PSOA Cost Center,Centrul de cost PSOA,
+PSOA Project,Proiectul PSOA,
+ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
+Supplier GSTIN,Furnizor GSTIN,
+Place of Supply,Locul aprovizionării,
+Select Billing Address,Selectați Adresa de facturare,
+GST Details,Detalii GST,
+GST Category,Categoria GST,
+Registered Regular,Înregistrat regulat,
+Registered Composition,Compoziție înregistrată,
+Unregistered,Neînregistrat,
+SEZ,SEZ,
+Overseas,De peste mări,
+UIN Holders,Titulari UIN,
+With Payment of Tax,Cu plata impozitului,
+Without Payment of Tax,Fără plata impozitului,
+Invoice Copy,Copie factură,
+Original for Recipient,Original pentru Destinatar,
+Duplicate for Transporter,Duplicat pentru Transporter,
+Duplicate for Supplier,Duplicat pentru furnizor,
+Triplicate for Supplier,Triplicat pentru furnizor,
+Reverse Charge,Taxare inversă,
+Y,Da,
+N,N,
+E-commerce GSTIN,Comerț electronic GSTIN,
+Reason For Issuing document,Motivul eliberării documentului,
+01-Sales Return,01-Returnarea vânzărilor,
+02-Post Sale Discount,02-Reducere după vânzare,
+03-Deficiency in services,03-Deficiența serviciilor,
+04-Correction in Invoice,04-Corecție în factură,
+05-Change in POS,05-Modificare POS,
+06-Finalization of Provisional assessment,06-Finalizarea evaluării provizorii,
+07-Others,07-Altele,
+Eligibility For ITC,Eligibilitate pentru ITC,
+Input Service Distributor,Distribuitor de servicii de intrare,
+Import Of Service,Importul serviciului,
+Import Of Capital Goods,Importul de bunuri de capital,
+Ineligible,Neeligibil,
+All Other ITC,Toate celelalte ITC,
+Availed ITC Integrated Tax,Taxă integrată ITC disponibilă,
+Availed ITC Central Tax,Taxă centrală ITC disponibilă,
+Availed ITC State/UT Tax,Impozit ITC de stat / UT disponibil,
+Availed ITC Cess,Cess ITC disponibil,
+Is Nil Rated or Exempted,Este evaluat zero sau scutit,
+Is Non GST,Nu este GST,
+ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
+E-Way Bill No.,E-Way Bill nr.,
+Is Consolidated,Este consolidat,
+Billing Address GSTIN,Adresa de facturare GSTIN,
+Customer GSTIN,Client GSTIN,
+GST Transporter ID,ID GST Transporter,
+Distance (in km),Distanță (în km),
+Road,drum,
+Air,Aer,
+Rail,Feroviar,
+Ship,Navă,
+GST Vehicle Type,Tipul vehiculului GST,
+Over Dimensional Cargo (ODC),Marfă supradimensională (ODC),
+Consumer,Consumator,
+Deemed Export,Export estimat,
+Port Code,Cod port,
+ Shipping Bill Number,Numărul facturii de expediere,
+Shipping Bill Date,Data facturii de expediere,
+Subscription End Date,Data de încheiere a abonamentului,
+Follow Calendar Months,Urmăriți lunile calendaristice,
+If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Dacă se verifică acest lucru, vor fi create noi facturi ulterioare în lunile calendaristice și în datele de începere a trimestrului, indiferent de data curentă de începere a facturii",
+Generate New Invoices Past Due Date,Generați facturi noi la scadență,
+New invoices will be generated as per schedule even if current invoices are unpaid or past due date,"Facturile noi vor fi generate conform programului, chiar dacă facturile curente sunt neplătite sau sunt scadente",
+Document Type ,Tipul documentului,
+Subscription Price Based On,Prețul abonamentului pe baza,
+Fixed Rate,Rata fixa,
+Based On Price List,Pe baza listei de prețuri,
+Monthly Rate,Rată lunară,
+Cancel Subscription After Grace Period,Anulați abonamentul după perioada de grație,
+Source State,Statul sursă,
+Is Inter State,Este statul Inter,
+Purchase Details,Detalii achiziție,
+Depreciation Posting Date,Data înregistrării amortizării,
+"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","În mod implicit, numele furnizorului este setat conform numelui furnizorului introdus. Dacă doriți ca Furnizorii să fie numiți de către un",
+ choose the 'Naming Series' option.,alegeți opțiunea „Denumirea seriei”.,
+Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Configurați lista de prețuri implicită atunci când creați o nouă tranzacție de cumpărare. Prețurile articolelor vor fi preluate din această listă de prețuri.,
+"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice or Receipt without creating a Purchase Order first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Order' checkbox in the Supplier master.","Dacă această opțiune este configurată „Da”, ERPNext vă va împiedica să creați o factură de achiziție sau o chitanță fără a crea mai întâi o comandă de cumpărare. Această configurație poate fi anulată pentru un anumit furnizor activând caseta de selectare „Permite crearea facturii de cumpărare fără comandă de cumpărare” din masterul furnizorului.",
+"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice without creating a Purchase Receipt first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Receipt' checkbox in the Supplier master.","Dacă această opțiune este configurată „Da”, ERPNext vă va împiedica să creați o factură de cumpărare fără a crea mai întâi o chitanță de cumpărare. Această configurație poate fi suprascrisă pentru un anumit furnizor activând caseta de selectare „Permite crearea facturii de cumpărare fără chitanță de cumpărare” din masterul furnizorului.",
+Quantity & Stock,Cantitate și stoc,
+Call Details,Detalii apel,
+Authorised By,Autorizat de,
+Signee (Company),Destinatar (companie),
+Signed By (Company),Semnat de (Companie),
+First Response Time,Timpul primului răspuns,
+Request For Quotation,Cerere de ofertă,
+Opportunity Lost Reason Detail,Detaliu despre motivul pierdut al oportunității,
+Access Token Secret,Accesează Token Secret,
+Add to Topics,Adăugați la subiecte,
+...Adding Article to Topics,... Adăugarea articolului la subiecte,
+Add Article to Topics,Adăugați un articol la subiecte,
+This article is already added to the existing topics,Acest articol este deja adăugat la subiectele existente,
+Add to Programs,Adăugați la Programe,
+Programs,Programe,
+...Adding Course to Programs,... Adăugarea cursului la programe,
+Add Course to Programs,Adăugați cursul la programe,
+This course is already added to the existing programs,Acest curs este deja adăugat la programele existente,
+Learning Management System Settings,Setările sistemului de management al învățării,
+Enable Learning Management System,Activați sistemul de gestionare a învățării,
+Learning Management System Title,Titlul sistemului de management al învățării,
+...Adding Quiz to Topics,... Adăugarea testului la subiecte,
+Add Quiz to Topics,Adăugați test la subiecte,
+This quiz is already added to the existing topics,Acest test este deja adăugat la subiectele existente,
+Enable Admission Application,Activați cererea de admitere,
+EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
+Marking attendance,Marcarea prezenței,
+Add Guardians to Email Group,Adăugați Gardieni în grupul de e-mail,
+Attendance Based On,Prezență bazată pe,
+Check this to mark the student as present in case the student is not attending the institute to participate or represent the institute in any event.\n\n,Bifați acest lucru pentru a marca studentul ca prezent în cazul în care studentul nu participă la institut pentru a participa sau pentru a reprezenta institutul în orice caz.,
+Add to Courses,Adăugați la Cursuri,
+...Adding Topic to Courses,... Adăugarea subiectului la cursuri,
+Add Topic to Courses,Adăugați subiect la cursuri,
+This topic is already added to the existing courses,Acest subiect este deja adăugat la cursurile existente,
+"If Shopify does not have a customer in the order, then while syncing the orders, the system will consider the default customer for the order","Dacă Shopify nu are un client în comandă, atunci în timp ce sincronizează comenzile, sistemul va lua în considerare clientul implicit pentru comandă",
+The accounts are set by the system automatically but do confirm these defaults,"Conturile sunt setate automat de sistem, dar confirmă aceste valori implicite",
+Default Round Off Account,Cont implicit rotunjit,
+Failed Import Log,Jurnal de importare eșuat,
+Fixed Error Log,S-a remediat jurnalul de erori,
+Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,Compania {0} există deja. Continuarea va suprascrie compania și planul de conturi,
+Meta Data,Meta Date,
+Unresolve,Nerezolvat,
+Create Document,Creați document,
+Mark as unresolved,Marcați ca nerezolvat,
+TaxJar Settings,Setări TaxJar,
+Sandbox Mode,Mod Sandbox,
+Enable Tax Calculation,Activați calculul impozitului,
+Create TaxJar Transaction,Creați tranzacția TaxJar,
+Credentials,Acreditări,
+Live API Key,Cheie API live,
+Sandbox API Key,Cheia API Sandbox,
+Configuration,Configurare,
+Tax Account Head,Șef cont fiscal,
+Shipping Account Head,Șef cont de expediere,
+Practitioner Name,Numele practicianului,
+Enter a name for the Clinical Procedure Template,Introduceți un nume pentru șablonul de procedură clinică,
+Set the Item Code which will be used for billing the Clinical Procedure.,Setați codul articolului care va fi utilizat pentru facturarea procedurii clinice.,
+Select an Item Group for the Clinical Procedure Item.,Selectați un grup de articole pentru articolul de procedură clinică.,
+Clinical Procedure Rate,Rata procedurii clinice,
+Check this if the Clinical Procedure is billable and also set the rate.,"Verificați acest lucru dacă procedura clinică este facturabilă și, de asemenea, setați rata.",
+Check this if the Clinical Procedure utilises consumables. Click ,Verificați acest lucru dacă procedura clinică utilizează consumabile. Clic,
+ to know more,să afle mai multe,
+"You can also set the Medical Department for the template. After saving the document, an Item will automatically be created for billing this Clinical Procedure. You can then use this template while creating Clinical Procedures for Patients. Templates save you from filling up redundant data every single time. You can also create templates for other operations like Lab Tests, Therapy Sessions, etc.","De asemenea, puteți seta Departamentul medical pentru șablon. După salvarea documentului, un articol va fi creat automat pentru facturarea acestei proceduri clinice. Puteți utiliza apoi acest șablon în timp ce creați proceduri clinice pentru pacienți. Șabloanele vă scutesc de la completarea datelor redundante de fiecare dată. De asemenea, puteți crea șabloane pentru alte operații precum teste de laborator, sesiuni de terapie etc.",
+Descriptive Test Result,Rezultatul testului descriptiv,
+Allow Blank,Permiteți golul,
+Descriptive Test Template,Șablon de test descriptiv,
+"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Dacă doriți să urmăriți salarizarea și alte operațiuni HRMS pentru un practician, creați un angajat și conectați-l aici.",
+Set the Practitioner Schedule you just created. This will be used while booking appointments.,Setați programul de practicanți pe care tocmai l-ați creat. Aceasta va fi utilizată la rezervarea programărilor.,
+Create a service item for Out Patient Consulting.,Creați un element de serviciu pentru consultarea externă a pacienților.,
+"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Dacă acest profesionist din domeniul sănătății lucrează pentru departamentul internat, creați un articol de servicii pentru vizitele internate.",
+Set the Out Patient Consulting Charge for this Practitioner.,Stabiliți taxa pentru consultarea pacientului pentru acest practicant.,
+"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","În cazul în care acest profesionist din domeniul sănătății lucrează și pentru secția de internare, stabiliți taxa de vizitare pentru acest practician.",
+"If checked, a customer will be created for every Patient. Patient Invoices will be created against this Customer. You can also select existing Customer while creating a Patient. This field is checked by default.","Dacă este bifat, va fi creat un client pentru fiecare pacient. Facturile pacientului vor fi create împotriva acestui client. De asemenea, puteți selecta clientul existent în timp ce creați un pacient. Acest câmp este bifat implicit.",
+Collect Registration Fee,Încasează taxa de înregistrare,
+"If your Healthcare facility bills registrations of Patients, you can check this and set the Registration Fee in the field below. Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.","Dacă unitatea medicală facturează înregistrările pacienților, puteți verifica acest lucru și puteți stabili taxa de înregistrare în câmpul de mai jos. Verificând acest lucru se vor crea noi pacienți cu starea Dezactivat în mod implicit și vor fi activate numai după facturarea Taxei de înregistrare.",
+Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,Verificarea acestui lucru va crea automat o factură de vânzare ori de câte ori este rezervată o întâlnire pentru un pacient.,
+Healthcare Service Items,Produse pentru servicii medicale,
+"You can create a service item for Inpatient Visit Charge and set it here. Similarly, you can set up other Healthcare Service Items for billing in this section. Click ","Puteți crea un articol de serviciu pentru taxa de vizită internată și setați-l aici. În mod similar, puteți configura alte elemente de servicii medicale pentru facturare în această secțiune. Clic",
+Set up default Accounts for the Healthcare Facility,Configurați conturi implicite pentru unitatea medicală,
+"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Dacă doriți să înlocuiți setările implicite ale conturilor și să configurați conturile de venituri și creanțe pentru asistență medicală, puteți face acest lucru aici.",
+Out Patient SMS alerts,Alerte SMS pentru pacienți,
+"If you want to send SMS alert on Patient Registration, you can enable this option. Similary, you can set up Out Patient SMS alerts for other functionalities in this section. Click ","Dacă doriți să trimiteți alertă SMS la înregistrarea pacientului, puteți activa această opțiune. În mod similar, puteți configura alerte SMS pentru pacient pentru alte funcționalități în această secțiune. Clic",
+Admission Order Details,Detalii comandă de admitere,
+Admission Ordered For,Admiterea comandată pentru,
+Expected Length of Stay,Durata de ședere preconizată,
+Admission Service Unit Type,Tipul unității de servicii de admitere,
+Healthcare Practitioner (Primary),Practician medical (primar),
+Healthcare Practitioner (Secondary),Practician medical (secundar),
+Admission Instruction,Instrucțiuni de admitere,
+Chief Complaint,Plângere șefă,
+Medications,Medicamente,
+Investigations,Investigații,
+Discharge Detials,Detalii de descărcare,
+Discharge Ordered Date,Data comandării descărcării,
+Discharge Instructions,Instrucțiuni de descărcare de gestiune,
+Follow Up Date,Data de urmărire,
+Discharge Notes,Note de descărcare de gestiune,
+Processing Inpatient Discharge,Procesarea externării internate,
+Processing Patient Admission,Procesarea admiterii pacientului,
+Check-in time cannot be greater than the current time,Ora de check-in nu poate fi mai mare decât ora curentă,
+Process Transfer,Transfer de proces,
+HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
+Expected Result Date,Data rezultatului așteptat,
+Expected Result Time,Timp de rezultat așteptat,
+Printed on,Tipărit pe,
+Requesting Practitioner,Practician solicitant,
+Requesting Department,Departamentul solicitant,
+Employee (Lab Technician),Angajat (tehnician de laborator),
+Lab Technician Name,Numele tehnicianului de laborator,
+Lab Technician Designation,Desemnarea tehnicianului de laborator,
+Compound Test Result,Rezultatul testului compus,
+Organism Test Result,Rezultatul testului de organism,
+Sensitivity Test Result,Rezultatul testului de sensibilitate,
+Worksheet Print,Imprimare foaie de lucru,
+Worksheet Instructions,Instrucțiuni pentru foaia de lucru,
+Result Legend Print,Imprimare legendă rezultat,
+Print Position,Poziția de imprimare,
+Bottom,Partea de jos,
+Top,Top,
+Both,Ambii,
+Result Legend,Legenda rezultatului,
+Lab Tests,Teste de laborator,
+No Lab Tests found for the Patient {0},Nu s-au găsit teste de laborator pentru pacient {0},
+"Did not send SMS, missing patient mobile number or message content.","Nu am trimis SMS-uri, lipsă numărul de mobil al pacientului sau conținutul mesajului.",
+No Lab Tests created,Nu au fost create teste de laborator,
+Creating Lab Tests...,Se creează teste de laborator ...,
+Lab Test Group Template,Șablon de grup de test de laborator,
+Add New Line,Adăugați o linie nouă,
+Secondary UOM,UOM secundar,
+"<b>Single</b>: Results which require only a single input.\n<br>\n<b>Compound</b>: Results which require multiple event inputs.\n<br>\n<b>Descriptive</b>: Tests which have multiple result components with manual result entry.\n<br>\n<b>Grouped</b>: Test templates which are a group of other test templates.\n<br>\n<b>No Result</b>: Tests with no results, can be ordered and billed but no Lab Test will be created. e.g.. Sub Tests for Grouped results","<b>Single</b> : Rezultate care necesită o singură intrare.<br> <b>Compus</b> : Rezultate care necesită mai multe intrări de evenimente.<br> <b>Descriptiv</b> : teste care au mai multe componente ale rezultatelor cu introducerea manuală a rezultatelor.<br> <b>Grupate</b> : șabloane de testare care sunt un grup de alte șabloane de testare.<br> <b>Niciun rezultat</b> : testele fără rezultate, pot fi comandate și facturate, dar nu va fi creat niciun test de laborator. de exemplu. Subteste pentru rezultate grupate",
+"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Dacă nu este bifat, articolul nu va fi disponibil în facturile de vânzare pentru facturare, dar poate fi utilizat la crearea testului de grup.",
+Description ,Descriere,
+Descriptive Test,Test descriptiv,
+Group Tests,Teste de grup,
+Instructions to be printed on the worksheet,Instrucțiuni care trebuie tipărite pe foaia de lucru,
+"Information to help easily interpret the test report, will be printed as part of the Lab Test result.",Informațiile care vor ajuta la interpretarea cu ușurință a raportului de testare vor fi tipărite ca parte a rezultatului testului de laborator.,
+Normal Test Result,Rezultat normal al testului,
+Secondary UOM Result,Rezultatul UOM secundar,
+Italic,Cursiv,
+Underline,Subliniați,
+Organism,Organism,
+Organism Test Item,Element de testare a organismului,
+Colony Population,Populația coloniei,
+Colony UOM,Colonia UOM,
+Tobacco Consumption (Past),Consumul de tutun (trecut),
+Tobacco Consumption (Present),Consumul de tutun (Prezent),
+Alcohol Consumption (Past),Consumul de alcool (trecut),
+Alcohol Consumption (Present),Consumul de alcool (prezent),
+Billing Item,Articol de facturare,
+Medical Codes,Coduri medicale,
+Clinical Procedures,Proceduri clinice,
+Order Admission,Admiterea comenzii,
+Scheduling Patient Admission,Programarea admiterii pacientului,
+Order Discharge,Descărcare comandă,
+Sample Details,Detalii mostre,
+Collected On,Colectat pe,
+No. of prints,Nr. De amprente,
+Number of prints required for labelling the samples,Numărul de tipăriri necesare pentru etichetarea probelor,
+HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
+In Time,La timp,
+Out Time,Timp liber,
+Payroll Cost Center,Centru de salarizare,
+Approvers,Aprobatori,
+The first Approver in the list will be set as the default Approver.,Primul aprobator din listă va fi setat ca aprobator implicit.,
+Shift Request Approver,Aprobarea cererii de schimbare,
+PAN Number,Număr PAN,
+Provident Fund Account,Contul Fondului Provident,
+MICR Code,Cod MICR,
+Repay unclaimed amount from salary,Rambursați suma nepreluată din salariu,
+Deduction from salary,Deducerea din salariu,
+Expired Leaves,Frunze expirate,
+Reference No,Nr. De referință,
+Haircut percentage is the percentage difference between market value of the Loan Security and the value ascribed to that Loan Security when used as collateral for that loan.,Procentul de tunsoare este diferența procentuală dintre valoarea de piață a titlului de împrumut și valoarea atribuită respectivului titlu de împrumut atunci când este utilizat ca garanție pentru împrumutul respectiv.,
+Loan To Value Ratio expresses the ratio of the loan amount to the value of the security pledged. A loan security shortfall will be triggered if this falls below the specified value for any loan ,Raportul împrumut la valoare exprimă raportul dintre suma împrumutului și valoarea garanției gajate. O deficiență a garanției împrumutului va fi declanșată dacă aceasta scade sub valoarea specificată pentru orice împrumut,
+If this is not checked the loan by default will be considered as a Demand Loan,"Dacă acest lucru nu este verificat, împrumutul implicit va fi considerat un împrumut la cerere",
+This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,"Acest cont este utilizat pentru rezervarea rambursărilor de împrumut de la împrumutat și, de asemenea, pentru a plăti împrumuturi către împrumutat",
+This account is capital account which is used to allocate capital for loan disbursal account ,Acest cont este un cont de capital care este utilizat pentru alocarea de capital pentru contul de debursare a împrumutului,
+This account will be used for booking loan interest accruals,Acest cont va fi utilizat pentru rezervarea dobânzilor la dobândă de împrumut,
+This account will be used for booking penalties levied due to delayed repayments,Acest cont va fi utilizat pentru rezervarea penalităților percepute din cauza rambursărilor întârziate,
+Variant BOM,Varianta DOM,
+Template Item,Articol șablon,
+Select template item,Selectați elementul șablon,
+Select variant item code for the template item {0},Selectați varianta codului articolului pentru elementul șablon {0},
+Downtime Entry,Intrare în timp de inactivitate,
+DT-,DT-,
+Workstation / Machine,Stație de lucru / Mașină,
+Operator,Operator,
+In Mins,În minele,
+Downtime Reason,Motivul opririi,
+Stop Reason,Stop Reason,
+Excessive machine set up time,Timp excesiv de configurare a mașinii,
+Unplanned machine maintenance,Întreținerea neplanificată a mașinii,
+On-machine press checks,Verificări de presă la mașină,
+Machine operator errors,Erori operator operator,
+Machine malfunction,Funcționarea defectuoasă a mașinii,
+Electricity down,Electricitate scăzută,
+Operation Row Number,Număr rând operațiune,
+Operation {0} added multiple times in the work order {1},Operația {0} adăugată de mai multe ori în ordinea de lucru {1},
+"If ticked, multiple materials can be used for a single Work Order. This is useful if one or more time consuming products are being manufactured.","Dacă este bifat, mai multe materiale pot fi utilizate pentru o singură comandă de lucru. Acest lucru este util dacă sunt fabricate unul sau mai multe produse consumatoare de timp.",
+Backflush Raw Materials,Materii prime Backflush,
+"The Stock Entry of type 'Manufacture' is known as backflush. Raw materials being consumed to manufacture finished goods is known as backflushing. <br><br> When creating Manufacture Entry, raw-material items are backflushed based on BOM of production item. If you want raw-material items to be backflushed based on Material Transfer entry made against that Work Order instead, then you can set it under this field.","Intrarea în stoc a tipului „Fabricare” este cunoscută sub numele de backflush. Materiile prime consumate pentru fabricarea produselor finite sunt cunoscute sub numele de backflushing.<br><br> La crearea intrării în fabricație, articolele din materie primă sunt revocate pe baza BOM a articolului de producție. Dacă doriți ca elementele din materie primă să fie revocate în funcție de intrarea de transfer de materiale efectuată împotriva respectivei comenzi de lucru, atunci o puteți seta în acest câmp.",
+Work In Progress Warehouse,Depozit Work In Progress,
+This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Acest depozit va fi actualizat automat în câmpul Depozit de lucru în curs al comenzilor de lucru.,
+Finished Goods Warehouse,Depozit de produse finite,
+This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Acest depozit va fi actualizat automat în câmpul Depozit țintă din Ordinul de lucru.,
+"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Dacă este bifat, costul BOM va fi actualizat automat în funcție de rata de evaluare / rata de listă de prețuri / ultima rată de achiziție a materiilor prime.",
+Source Warehouses (Optional),Depozite sursă (opțional),
+"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","Sistemul va prelua materialele din depozitele selectate. Dacă nu este specificat, sistemul va crea o cerere materială pentru cumpărare.",
+Lead Time,Perioada de grație,
+PAN Details,Detalii PAN,
+Create Customer,Creați client,
+Invoicing,Facturare,
+Enable Auto Invoicing,Activați facturarea automată,
+Send Membership Acknowledgement,Trimiteți confirmarea de membru,
+Send Invoice with Email,Trimiteți factura prin e-mail,
+Membership Print Format,Formatul de tipărire a calității de membru,
+Invoice Print Format,Format de imprimare factură,
+Revoke <Key></Key>,Revoca&lt;Key&gt;&lt;/Key&gt;,
+You can learn more about memberships in the manual. ,Puteți afla mai multe despre abonamente în manual.,
+ERPNext Docs,Documente ERPNext,
+Regenerate Webhook Secret,Regenerați secretul Webhook,
+Generate Webhook Secret,Generați Webhook Secret,
+Copy Webhook URL,Copiați adresa URL Webhook,
+Linked Item,Element conectat,
+Is Recurring,Este recurent,
+HRA Exemption,Scutire HRA,
+Monthly House Rent,Închirierea lunară a casei,
+Rented in Metro City,Închiriat în Metro City,
+HRA as per Salary Structure,HRA conform structurii salariale,
+Annual HRA Exemption,Scutire anuală HRA,
+Monthly HRA Exemption,Scutire HRA lunară,
+House Rent Payment Amount,Suma plății chiriei casei,
+Rented From Date,Închiriat de la Data,
+Rented To Date,Închiriat până în prezent,
+Monthly Eligible Amount,Suma eligibilă lunară,
+Total Eligible HRA Exemption,Scutire HRA eligibilă totală,
+Validating Employee Attendance...,Validarea prezenței angajaților ...,
+Submitting Salary Slips and creating Journal Entry...,Trimiterea fișelor salariale și crearea intrării în jurnal ...,
+Calculate Payroll Working Days Based On,Calculați zilele lucrătoare de salarizare pe baza,
+Consider Unmarked Attendance As,Luați în considerare participarea nemarcată ca,
+Fraction of Daily Salary for Half Day,Fracțiunea salariului zilnic pentru jumătate de zi,
+Component Type,Tipul componentei,
+Provident Fund,Fondul Provident,
+Additional Provident Fund,Fondul Provident suplimentar,
+Provident Fund Loan,Împrumut pentru Fondul Provident,
+Professional Tax,Impozit profesional,
+Is Income Tax Component,Este componenta impozitului pe venit,
+Component properties and references ,Proprietăți și referințe ale componentelor,
+Additional Salary ,Salariu suplimentar,
+Unmarked days,Zile nemarcate,
+Absent Days,Zile absente,
+Conditions and Formula variable and example,Condiții și variabilă Formula și exemplu,
+Feedback By,Feedback de,
+Manufacturing Section,Secțiunea de fabricație,
+"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","În mod implicit, Numele clientului este setat conform Numelui complet introdus. Dacă doriți ca clienții să fie numiți de un",
+Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Configurați lista de prețuri implicită atunci când creați o nouă tranzacție de vânzări. Prețurile articolelor vor fi preluate din această listă de prețuri.,
+"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice or Delivery Note without creating a Sales Order first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Sales Order' checkbox in the Customer master.","Dacă această opțiune este configurată „Da”, ERPNext vă va împiedica să creați o factură de vânzare sau o notă de livrare fără a crea mai întâi o comandă de vânzare. Această configurație poate fi anulată pentru un anumit Client activând caseta de selectare „Permite crearea facturii de vânzare fără comandă de vânzare” din masterul Clientului.",
+"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice without creating a Delivery Note first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Delivery Note' checkbox in the Customer master.","Dacă această opțiune este configurată „Da”, ERPNext vă va împiedica să creați o factură de vânzare fără a crea mai întâi o notă de livrare. Această configurație poate fi suprascrisă pentru un anumit Client activând caseta de selectare „Permite crearea facturilor de vânzare fără notă de livrare” din masterul Clientului.",
+Default Warehouse for Sales Return,Depozit implicit pentru returnarea vânzărilor,
+Default In Transit Warehouse,Implicit în Depozitul de tranzit,
+Enable Perpetual Inventory For Non Stock Items,Activați inventarul perpetuu pentru articolele fără stoc,
+HRA Settings,Setări HRA,
+Basic Component,Componenta de bază,
+HRA Component,Componenta HRA,
+Arrear Component,Componenta Arrear,
+Please enter the company name to confirm,Vă rugăm să introduceți numele companiei pentru a confirma,
+Quotation Lost Reason Detail,Citat Detaliu motiv pierdut,
+Enable Variants,Activați variantele,
+Save Quotations as Draft,Salvați ofertele ca schiță,
+MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
+Please Select a Customer,Vă rugăm să selectați un client,
+Against Delivery Note Item,Împotriva articolului Note de livrare,
+Is Non GST ,Nu este GST,
+Image Description,Descrierea imaginii,
+Transfer Status,Stare transfer,
+MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
+Track this Purchase Receipt against any Project,Urmăriți această chitanță de cumpărare împotriva oricărui proiect,
+Please Select a Supplier,Vă rugăm să selectați un furnizor,
+Add to Transit,Adăugați la tranzit,
+Set Basic Rate Manually,Setați manual rata de bază,
+"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ","În mod implicit, numele articolului este setat conform codului articolului introdus. Dacă doriți ca elementele să fie denumite de un",
+Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Setați un depozit implicit pentru tranzacțiile de inventar. Acest lucru va fi preluat în Depozitul implicit din elementul master.,
+"This will allow stock items to be displayed in negative values. Using this option depends on your use case. With this option unchecked, the system warns before obstructing a transaction that is causing negative stock.","Acest lucru va permite afișarea articolelor stoc în valori negative. Utilizarea acestei opțiuni depinde de cazul dvs. de utilizare. Cu această opțiune bifată, sistemul avertizează înainte de a obstrucționa o tranzacție care cauzează stoc negativ.",
+Choose between FIFO and Moving Average Valuation Methods. Click ,Alegeți între FIFO și metodele de evaluare medie mobile. Clic,
+ to know more about them.,să afle mai multe despre ele.,
+Show 'Scan Barcode' field above every child table to insert Items with ease.,Afișați câmpul „Scanare cod de bare” deasupra fiecărui tabel copil pentru a insera articole cu ușurință.,
+"Serial numbers for stock will be set automatically based on the Items entered based on first in first out in transactions like Purchase/Sales Invoices, Delivery Notes, etc.","Numerele de serie pentru stoc vor fi setate automat pe baza articolelor introduse pe baza primelor în primele ieșiri din tranzacții precum facturi de cumpărare / vânzare, note de livrare etc.",
+"If blank, parent Warehouse Account or company default will be considered in transactions","Dacă este necompletat, contul de depozit părinte sau prestabilitatea companiei vor fi luate în considerare în tranzacții",
+Service Level Agreement Details,Detalii acord nivel de serviciu,
+Service Level Agreement Status,Starea Acordului la nivel de serviciu,
+On Hold Since,În așteptare de când,
+Total Hold Time,Timp total de așteptare,
+Response Details,Detalii de răspuns,
+Average Response Time,Timpul mediu de răspuns,
+User Resolution Time,Ora de rezoluție a utilizatorului,
+SLA is on hold since {0},SLA este în așteptare de la {0},
+Pause SLA On Status,Întrerupeți SLA On Status,
+Pause SLA On,Întrerupeți SLA Activat,
+Greetings Section,Secțiunea Salutări,
+Greeting Title,Titlu de salut,
+Greeting Subtitle,Subtitrare de salut,
+Youtube ID,ID YouTube,
+Youtube Statistics,Statistici Youtube,
+Views,Vizualizări,
+Dislikes,Nu-mi place,
+Video Settings,Setari video,
+Enable YouTube Tracking,Activați urmărirea YouTube,
+30 mins,30 de minute,
+1 hr,1 oră,
+6 hrs,6 ore,
+Patient Progress,Progresul pacientului,
+Targetted,Țintit,
+Score Obtained,Scor obținut,
+Sessions,Sesiuni,
+Average Score,Scor mediu,
+Select Assessment Template,Selectați Șablon de evaluare,
+ out of ,din,
+Select Assessment Parameter,Selectați Parametru de evaluare,
+Gender: ,Gen:,
+Contact: ,A lua legatura:,
+Total Therapy Sessions: ,Total sesiuni de terapie:,
+Monthly Therapy Sessions: ,Sesiuni lunare de terapie:,
+Patient Profile,Profilul pacientului,
+Point Of Sale,Punct de vânzare,
+Email sent successfully.,Email-ul a fost trimis cu succes.,
+Search by invoice id or customer name,Căutați după ID-ul facturii sau numele clientului,
+Invoice Status,Starea facturii,
+Filter by invoice status,Filtrează după starea facturii,
+Select item group,Selectați grupul de articole,
+No items found. Scan barcode again.,Nu au fost gasite articolele. Scanați din nou codul de bare.,
+"Search by customer name, phone, email.","Căutare după numele clientului, telefon, e-mail.",
+Enter discount percentage.,Introduceți procentul de reducere.,
+Discount cannot be greater than 100%,Reducerea nu poate fi mai mare de 100%,
+Enter customer's email,Introduceți adresa de e-mail a clientului,
+Enter customer's phone number,Introduceți numărul de telefon al clientului,
+Customer contact updated successfully.,Contactul clientului a fost actualizat cu succes.,
+Item will be removed since no serial / batch no selected.,Elementul va fi eliminat deoarece nu este selectat niciun serial / lot.,
+Discount (%),Reducere (%),
+You cannot submit the order without payment.,Nu puteți trimite comanda fără plată.,
+You cannot submit empty order.,Nu puteți trimite o comandă goală.,
+To Be Paid,A fi platit,
+Create POS Opening Entry,Creați o intrare de deschidere POS,
+Please add Mode of payments and opening balance details.,Vă rugăm să adăugați detalii despre modul de plată și soldul de deschidere.,
+Toggle Recent Orders,Comutați comenzile recente,
+Save as Draft,Salvează ca ciornă,
+You must add atleast one item to save it as draft.,Trebuie să adăugați cel puțin un articol pentru al salva ca schiță.,
+There was an error saving the document.,A apărut o eroare la salvarea documentului.,
+You must select a customer before adding an item.,Trebuie să selectați un client înainte de a adăuga un articol.,
+Please Select a Company,Vă rugăm să selectați o companie,
+Active Leads,Oportunități active,
+Please Select a Company.,Vă rugăm să selectați o companie.,
+BOM Operations Time,Timp operații BOM,
+BOM ID,ID-ul BOM,
+BOM Item Code,Cod articol BOM,
+Time (In Mins),Timp (în minute),
+Sub-assembly BOM Count,Numărul BOM al subansamblului,
+View Type,Tipul de vizualizare,
+Total Delivered Amount,Suma totală livrată,
+Downtime Analysis,Analiza timpului de oprire,
+Machine,Mașinărie,
+Downtime (In Hours),Timp de inactivitate (în ore),
+Employee Analytics,Analiza angajaților,
+"""From date"" can not be greater than or equal to ""To date""",„De la dată” nu poate fi mai mare sau egal cu „Până în prezent”,
+Exponential Smoothing Forecasting,Previziune de netezire exponențială,
+First Response Time for Issues,Primul timp de răspuns pentru probleme,
+First Response Time for Opportunity,Primul timp de răspuns pentru oportunitate,
+Depreciatied Amount,Suma depreciată,
+Period Based On,Perioada bazată pe,
+Date Based On,Data bazată pe,
+{0} and {1} are mandatory,{0} și {1} sunt obligatorii,
+Consider Accounting Dimensions,Luați în considerare dimensiunile contabile,
+Income Tax Deductions,Deduceri de impozit pe venit,
+Income Tax Component,Componenta impozitului pe venit,
+Income Tax Amount,Suma impozitului pe venit,
+Reserved Quantity for Production,Cantitate rezervată pentru producție,
+Projected Quantity,Cantitatea proiectată,
+ Total Sales Amount,Suma totală a vânzărilor,
+Job Card Summary,Rezumatul fișei de muncă,
+Id,Id,
+Time Required (In Mins),Timp necesar (în minute),
+From Posting Date,De la data înregistrării,
+To Posting Date,Până la data de înregistrare,
+No records found,Nu au fost găsite,
+Customer/Lead Name,Numele clientului / clientului,
+Unmarked Days,Zile nemarcate,
+Jan,Ian,
+Feb,Februarie,
+Mar,Mar,
+Apr,Aprilie,
+Aug,Aug,
+Sep,Sept,
+Oct,Oct,
+Nov,Noiembrie,
+Dec,Dec,
+Summarized View,Vizualizare rezumată,
+Production Planning Report,Raport de planificare a producției,
+Order Qty,Comandați cantitatea,
+Raw Material Code,Codul materiei prime,
+Raw Material Name,Numele materiei prime,
+Allotted Qty,Cantitate alocată,
+Expected Arrival Date,Data de sosire preconizată,
+Arrival Quantity,Cantitatea de sosire,
+Raw Material Warehouse,Depozit de materii prime,
+Order By,Comandați după,
+Include Sub-assembly Raw Materials,Includeți subansamblarea materiilor prime,
+Professional Tax Deductions,Deduceri fiscale profesionale,
+Program wise Fee Collection,Colectarea taxelor în funcție de program,
+Fees Collected,Taxe colectate,
+Project Summary,Sumarul proiectului,
+Total Tasks,Total sarcini,
+Tasks Completed,Sarcini finalizate,
+Tasks Overdue,Sarcini restante,
+Completion,Completare,
+Provident Fund Deductions,Deduceri din fondul Provident,
+Purchase Order Analysis,Analiza comenzii de cumpărare,
+From and To Dates are required.,De la și până la date sunt necesare.,
+To Date cannot be before From Date.,To Date nu poate fi înainte de From Date.,
+Qty to Bill,Cantitate pentru Bill,
+Group by Purchase Order,Grupați după ordinul de cumpărare,
+ Purchase Value,Valoare de cumpărare,
+Total Received Amount,Suma totală primită,
+Quality Inspection Summary,Rezumatul inspecției calității,
+ Quoted Amount,Suma citată,
+Lead Time (Days),Timp de plumb (zile),
+Include Expired,Includeți Expirat,
+Recruitment Analytics,Analize de recrutare,
+Applicant name,Numele solicitantului,
+Job Offer status,Starea ofertei de muncă,
+On Date,La întălnire,
+Requested Items to Order and Receive,Articolele solicitate la comandă și primire,
+Salary Payments Based On Payment Mode,Plăți salariale bazate pe modul de plată,
+Salary Payments via ECS,Plăți salariale prin ECS,
+Account No,Cont nr,
+IFSC,IFSC,
+MICR,MICR,
+Sales Order Analysis,Analiza comenzilor de vânzare,
+Amount Delivered,Suma livrată,
+Delay (in Days),Întârziere (în zile),
+Group by Sales Order,Grupați după comanda de vânzare,
+ Sales Value,Valoarea vânzărilor,
+Stock Qty vs Serial No Count,Cantitate stoc vs număr fără serie,
+Serial No Count,Număr de serie,
+Work Order Summary,Rezumatul comenzii de lucru,
+Produce Qty,Produceți cantitatea,
+Lead Time (in mins),Durata de livrare (în minute),
+Charts Based On,Diagramele bazate pe,
+YouTube Interactions,Interacțiuni YouTube,
+Published Date,Data publicării,
+Barnch,Barnch,
+Select a Company,Selectați o companie,
+Opportunity {0} created,Oportunitate {0} creată,
+Kindly select the company first,Vă rugăm să selectați mai întâi compania,
+Please enter From Date and To Date to generate JSON,Vă rugăm să introduceți De la dată și până la data pentru a genera JSON,
+PF Account,Cont PF,
+PF Amount,Suma PF,
+Additional PF,PF suplimentar,
+PF Loan,Împrumut PF,
+Download DATEV File,Descărcați fișierul DATEV,
+Numero has not set in the XML file,Numero nu a fost setat în fișierul XML,
+Inward Supplies(liable to reverse charge),Consumabile interne (susceptibile de a inversa taxa),
+This is based on the course schedules of this Instructor,Aceasta se bazează pe programele de curs ale acestui instructor,
+Course and Assessment,Curs și evaluare,
+Course {0} has been added to all the selected programs successfully.,Cursul {0} a fost adăugat cu succes la toate programele selectate.,
+Programs updated,Programe actualizate,
+Program and Course,Program și curs,
+{0} or {1} is mandatory,{0} sau {1} este obligatoriu,
+Mandatory Fields,Câmpuri obligatorii,
+Student {0}: {1} does not belong to Student Group {2},Student {0}: {1} nu aparține grupului de studenți {2},
+Student Attendance record {0} already exists against the Student {1},Înregistrarea prezenței studenților {0} există deja împotriva studentului {1},
+Duplicate Entry,Intrare duplicat,
+Course and Fee,Curs și Taxă,
+Not eligible for the admission in this program as per Date Of Birth,Nu este eligibil pentru admiterea în acest program conform datei nașterii,
+Topic {0} has been added to all the selected courses successfully.,Subiectul {0} a fost adăugat cu succes la toate cursurile selectate.,
+Courses updated,Cursuri actualizate,
+{0} {1} has been added to all the selected topics successfully.,{0} {1} a fost adăugat cu succes la toate subiectele selectate.,
+Topics updated,Subiecte actualizate,
+Academic Term and Program,Termen academic și program,
+Please remove this item and try to submit again or update the posting time.,Eliminați acest articol și încercați să trimiteți din nou sau să actualizați ora de postare.,
+Failed to Authenticate the API key.,Autentificarea cheii API nu a reușit.,
+Invalid Credentials,Acreditări nevalide,
+URL can only be a string,Adresa URL poate fi doar un șir,
+"Here is your webhook secret, this will be shown to you only once.","Iată secretul tău webhook, acesta îți va fi afișat o singură dată.",
+The payment for this membership is not paid. To generate invoice fill the payment details,Plata pentru acest membru nu este plătită. Pentru a genera factura completați detaliile de plată,
+An invoice is already linked to this document,O factură este deja legată de acest document,
+No customer linked to member {},Niciun client legat de membru {},
+You need to set <b>Debit Account</b> in Membership Settings,Trebuie să setați <b>Cont de debit</b> în Setări de membru,
+You need to set <b>Default Company</b> for invoicing in Membership Settings,Trebuie să setați <b>Compania implicită</b> pentru facturare în Setări de membru,
+You need to enable <b>Send Acknowledge Email</b> in Membership Settings,Trebuie să activați <b>Trimitere e-mail de confirmare</b> în setările de membru,
+Error creating membership entry for {0},Eroare la crearea intrării de membru pentru {0},
+A customer is already linked to this Member,Un client este deja legat de acest membru,
+End Date must not be lesser than Start Date,Data de încheiere nu trebuie să fie mai mică decât Data de începere,
+Employee {0} already has Active Shift {1}: {2},Angajatul {0} are deja Active Shift {1}: {2},
+ from {0},de la {0},
+ to {0},către {0},
+Please select Employee first.,Vă rugăm să selectați mai întâi Angajat.,
+Please set {0} for the Employee or for Department: {1},Vă rugăm să setați {0} pentru angajat sau pentru departament: {1},
+To Date should be greater than From Date,To Date ar trebui să fie mai mare decât From Date,
+Employee Onboarding: {0} is already for Job Applicant: {1},Integrarea angajaților: {0} este deja pentru solicitantul de post: {1},
+Job Offer: {0} is already for Job Applicant: {1},Ofertă de locuri de muncă: {0} este deja pentru solicitantul de post: {1},
+Only Shift Request with status 'Approved' and 'Rejected' can be submitted,Numai cererea Shift cu starea „Aprobat” și „Respins” poate fi trimisă,
+Shift Assignment: {0} created for Employee: {1},Atribuire schimbare: {0} creată pentru angajat: {1},
+You can not request for your Default Shift: {0},Nu puteți solicita schimbarea implicită: {0},
+Only Approvers can Approve this Request.,Numai aprobatorii pot aproba această solicitare.,
+Asset Value Analytics,Analiza valorii activelor,
+Category-wise Asset Value,Valoarea activelor în funcție de categorie,
+Total Assets,Total active,
+New Assets (This Year),Active noi (anul acesta),
+Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Rândul {{}: Data de înregistrare a amortizării nu trebuie să fie egală cu Disponibil pentru data de utilizare.,
+Incorrect Date,Data incorectă,
+Invalid Gross Purchase Amount,Suma brută de achiziție nevalidă,
+There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Există activități de întreținere sau reparații active asupra activului. Trebuie să le completați pe toate înainte de a anula activul.,
+% Complete,% Complet,
+Back to Course,Înapoi la curs,
+Finish Topic,Finalizați subiectul,
+Mins,Min,
+by,de,
+Back to,Înapoi la,
+Enrolling...,Se înscrie ...,
+You have successfully enrolled for the program ,V-ați înscris cu succes la program,
+Enrolled,Înscris,
+Watch Intro,Urmăriți Introducere,
+We're here to help!,Suntem aici pentru a vă ajuta!,
+Frequently Read Articles,Citiți frecvent articole,
+Please set a default company address,Vă rugăm să setați o adresă implicită a companiei,
+{0} is not a valid state! Check for typos or enter the ISO code for your state.,{0} nu este o stare validă! Verificați dacă există greșeli sau introduceți codul ISO pentru starea dvs.,
+Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,A apărut o eroare la analizarea planului de conturi: asigurați-vă că niciun cont nu are același nume,
+Plaid invalid request error,Eroare solicitare invalidă în carouri,
+Please check your Plaid client ID and secret values,Vă rugăm să verificați ID-ul dvs. de client Plaid și valorile secrete,
+Bank transaction creation error,Eroare la crearea tranzacțiilor bancare,
+Unit of Measurement,Unitate de măsură,
+Fiscal Year {0} Does Not Exist,Anul fiscal {0} nu există,
+Row # {0}: Returned Item {1} does not exist in {2} {3},Rândul # {0}: articolul returnat {1} nu există în {2} {3},
+Valuation type charges can not be marked as Inclusive,Taxele de tip de evaluare nu pot fi marcate ca Incluse,
+You do not have permissions to {} items in a {}.,Nu aveți permisiuni pentru {} articole dintr-un {}.,
+Insufficient Permissions,Permisiuni insuficiente,
+You are not allowed to update as per the conditions set in {} Workflow.,Nu aveți permisiunea de a actualiza conform condițiilor stabilite în {} Workflow.,
+Expense Account Missing,Cont de cheltuieli lipsește,
+{0} is not a valid Value for Attribute {1} of Item {2}.,{0} nu este o valoare validă pentru atributul {1} al articolului {2}.,
+Invalid Value,Valoare invalida,
+The value {0} is already assigned to an existing Item {1}.,Valoarea {0} este deja alocată unui articol existent {1}.,
+"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","Pentru a continua să editați această valoare a atributului, activați {0} în Setări pentru varianta articolului.",
+Edit Not Allowed,Editarea nu este permisă,
+Row #{0}: Item {1} is already fully received in Purchase Order {2},Rândul nr. {0}: Articolul {1} este deja complet primit în Comanda de cumpărare {2},
+You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Nu puteți crea sau anula nicio înregistrare contabilă în perioada de contabilitate închisă {0},
+POS Invoice should have {} field checked.,Factura POS ar trebui să aibă selectat câmpul {}.,
+Invalid Item,Element nevalid,
+Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Rândul # {}: nu puteți adăuga cantități postive într-o factură de returnare. Eliminați articolul {} pentru a finaliza returnarea.,
+The selected change account {} doesn't belongs to Company {}.,Contul de modificare selectat {} nu aparține companiei {}.,
+Atleast one invoice has to be selected.,Trebuie selectată cel puțin o factură.,
+Payment methods are mandatory. Please add at least one payment method.,Metodele de plată sunt obligatorii. Vă rugăm să adăugați cel puțin o metodă de plată.,
+Please select a default mode of payment,Vă rugăm să selectați un mod de plată implicit,
+You can only select one mode of payment as default,Puteți selecta doar un mod de plată ca prestabilit,
+Missing Account,Cont lipsă,
+Customers not selected.,Clienții nu sunt selectați.,
+Statement of Accounts,Declarație de conturi,
+Ageing Report Based On ,Raport de îmbătrânire bazat pe,
+Please enter distributed cost center,Vă rugăm să introduceți centrul de cost distribuit,
+Total percentage allocation for distributed cost center should be equal to 100,Alocarea procentuală totală pentru centrul de cost distribuit ar trebui să fie egală cu 100,
+Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Nu se poate activa Centrul de costuri distribuite pentru un centru de costuri deja alocat într-un alt centru de costuri distribuite,
+Parent Cost Center cannot be added in Distributed Cost Center,Centrul de costuri părinte nu poate fi adăugat în Centrul de costuri distribuite,
+A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Un centru de costuri distribuite nu poate fi adăugat în tabelul de alocare a centrului de costuri distribuite.,
+Cost Center with enabled distributed cost center can not be converted to group,Centrul de costuri cu centrul de costuri distribuite activat nu poate fi convertit în grup,
+Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Centrul de cost deja alocat într-un centru de cost distribuit nu poate fi convertit în grup,
+Trial Period Start date cannot be after Subscription Start Date,Perioada de încercare Data de începere nu poate fi ulterioară datei de începere a abonamentului,
+Subscription End Date must be after {0} as per the subscription plan,Data de încheiere a abonamentului trebuie să fie după {0} conform planului de abonament,
+Subscription End Date is mandatory to follow calendar months,Data de încheiere a abonamentului este obligatorie pentru a urma lunile calendaristice,
+Row #{}: POS Invoice {} is not against customer {},Rândul # {}: factura POS {} nu este împotriva clientului {},
+Row #{}: POS Invoice {} is not submitted yet,Rândul # {}: factura POS {} nu a fost încă trimisă,
+Row #{}: POS Invoice {} has been {},Rândul # {}: factura POS {} a fost {},
+No Supplier found for Inter Company Transactions which represents company {0},Nu a fost găsit niciun furnizor pentru tranzacțiile între companii care să reprezinte compania {0},
+No Customer found for Inter Company Transactions which represents company {0},Nu a fost găsit niciun client pentru tranzacțiile între companii care reprezintă compania {0},
+Invalid Period,Perioadă nevalidă,
+Selected POS Opening Entry should be open.,Intrarea selectată de deschidere POS ar trebui să fie deschisă.,
+Invalid Opening Entry,Intrare de deschidere nevalidă,
+Please set a Company,Vă rugăm să setați o companie,
+"Sorry, this coupon code's validity has not started","Ne pare rău, valabilitatea acestui cod cupon nu a început",
+"Sorry, this coupon code's validity has expired","Ne pare rău, valabilitatea acestui cod de cupon a expirat",
+"Sorry, this coupon code is no longer valid","Ne pare rău, acest cod de cupon nu mai este valid",
+For the 'Apply Rule On Other' condition the field {0} is mandatory,"Pentru condiția „Aplică regula la altele”, câmpul {0} este obligatoriu",
+{1} Not in Stock,{1} Nu este în stoc,
+Only {0} in Stock for item {1},Numai {0} în stoc pentru articolul {1},
+Please enter a coupon code,Vă rugăm să introduceți un cod de cupon,
+Please enter a valid coupon code,Vă rugăm să introduceți un cod de cupon valid,
+Invalid Child Procedure,Procedură copil nevalidă,
+Import Italian Supplier Invoice.,Importați factura furnizorului italian.,
+"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.","Rata de evaluare pentru articolul {0}, este necesară pentru a face înregistrări contabile pentru {1} {2}.",
+ Here are the options to proceed:,Iată opțiunile pentru a continua:,
+"If the item is transacting as a Zero Valuation Rate item in this entry, please enable 'Allow Zero Valuation Rate' in the {0} Item table.","Dacă articolul tranzacționează ca articol cu o rată de evaluare zero în această intrare, activați „Permiteți o rată de evaluare zero” în tabelul {0} Articol.",
+"If not, you can Cancel / Submit this entry ","Dacă nu, puteți anula / trimite această intrare",
+ performing either one below:,efectuând una dintre cele de mai jos:,
+Create an incoming stock transaction for the Item.,Creați o tranzacție de stoc primită pentru articol.,
+Mention Valuation Rate in the Item master.,Menționați rata de evaluare în elementul master.,
+Valuation Rate Missing,Rata de evaluare lipsește,
+Serial Nos Required,Numere de serie necesare,
+Quantity Mismatch,Cantitate necorespunzătoare,
+"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.","Vă rugăm să reporniți articolele și să actualizați lista de alegeri pentru a continua. Pentru a întrerupe, anulați lista de alegeri.",
+Out of Stock,Stoc epuizat,
+{0} units of Item {1} is not available.,{0} unități de articol {1} nu sunt disponibile.,
+Item for row {0} does not match Material Request,Elementul pentru rândul {0} nu se potrivește cu Cererea de material,
+Warehouse for row {0} does not match Material Request,Depozitul pentru rândul {0} nu se potrivește cu Cererea de material,
+Accounting Entry for Service,Intrare contabilă pentru service,
+All items have already been Invoiced/Returned,Toate articolele au fost deja facturate / returnate,
+All these items have already been Invoiced/Returned,Toate aceste articole au fost deja facturate / returnate,
+Stock Reconciliations,Reconcilieri stocuri,
+Merge not allowed,Îmbinarea nu este permisă,
+The following deleted attributes exist in Variants but not in the Template. You can either delete the Variants or keep the attribute(s) in template.,"Următoarele atribute șterse există în variante, dar nu în șablon. Puteți șterge variantele sau puteți păstra atributele în șablon.",
+Variant Items,Elemente variante,
+Variant Attribute Error,Eroare a atributului variantei,
+The serial no {0} does not belong to item {1},Numărul de serie {0} nu aparține articolului {1},
+There is no batch found against the {0}: {1},Nu există niciun lot găsit împotriva {0}: {1},
+Completed Operation,Operațiune finalizată,
+Work Order Analysis,Analiza comenzii de lucru,
+Quality Inspection Analysis,Analiza inspecției calității,
+Pending Work Order,Ordin de lucru în așteptare,
+Last Month Downtime Analysis,Analiza timpului de nefuncționare de luna trecută,
+Work Order Qty Analysis,Analiza cantității comenzii de lucru,
+Job Card Analysis,Analiza fișei de muncă,
+Monthly Total Work Orders,Comenzi lunare totale de lucru,
+Monthly Completed Work Orders,Comenzi de lucru finalizate lunar,
+Ongoing Job Cards,Carduri de muncă în curs,
+Monthly Quality Inspections,Inspecții lunare de calitate,
+(Forecast),(Prognoza),
+Total Demand (Past Data),Cerere totală (date anterioare),
+Total Forecast (Past Data),Prognoză totală (date anterioare),
+Total Forecast (Future Data),Prognoză totală (date viitoare),
+Based On Document,Pe baza documentului,
+Based On Data ( in years ),Pe baza datelor (în ani),
+Smoothing Constant,Netezire constantă,
+Please fill the Sales Orders table,Vă rugăm să completați tabelul Comenzi de vânzare,
+Sales Orders Required,Sunt necesare comenzi de vânzare,
+Please fill the Material Requests table,Vă rugăm să completați tabelul Cereri de materiale,
+Material Requests Required,Cereri materiale necesare,
+Items to Manufacture are required to pull the Raw Materials associated with it.,Articolele de fabricație sunt necesare pentru a extrage materiile prime asociate acestuia.,
+Items Required,Elemente necesare,
+Operation {0} does not belong to the work order {1},Operația {0} nu aparține comenzii de lucru {1},
+Print UOM after Quantity,Imprimați UOM după Cantitate,
+Set default {0} account for perpetual inventory for non stock items,Setați contul {0} implicit pentru inventarul perpetuu pentru articolele care nu sunt în stoc,
+Loan Security {0} added multiple times,Securitatea împrumutului {0} adăugată de mai multe ori,
+Loan Securities with different LTV ratio cannot be pledged against one loan,Titlurile de împrumut cu un raport LTV diferit nu pot fi gajate împotriva unui singur împrumut,
+Qty or Amount is mandatory for loan security!,Cantitatea sau suma este obligatorie pentru securitatea împrumutului!,
+Only submittted unpledge requests can be approved,Numai cererile unpledge trimise pot fi aprobate,
+Interest Amount or Principal Amount is mandatory,Suma dobânzii sau suma principală este obligatorie,
+Disbursed Amount cannot be greater than {0},Suma plătită nu poate fi mai mare de {0},
+Row {0}: Loan Security {1} added multiple times,Rândul {0}: Securitatea împrumutului {1} adăugat de mai multe ori,
+Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Rândul # {0}: articolul secundar nu trebuie să fie un pachet de produse. Eliminați articolul {1} și Salvați,
+Credit limit reached for customer {0},Limita de credit atinsă pentru clientul {0},
+Could not auto create Customer due to the following missing mandatory field(s):,Nu s-a putut crea automat Clientul din cauza următoarelor câmpuri obligatorii lipsă:,
+Please create Customer from Lead {0}.,Vă rugăm să creați Client din Lead {0}.,
+Mandatory Missing,Obligatoriu Lipsește,
+Please set Payroll based on in Payroll settings,Vă rugăm să setați salarizarea pe baza setărilor de salarizare,
+Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Salariu suplimentar: {0} există deja pentru componenta salariu: {1} pentru perioada {2} și {3},
+From Date can not be greater than To Date.,From Date nu poate fi mai mare decât To Date.,
+Payroll date can not be less than employee's joining date.,Data salarizării nu poate fi mai mică decât data aderării angajatului.,
+From date can not be less than employee's joining date.,De la data nu poate fi mai mică decât data aderării angajatului.,
+To date can not be greater than employee's relieving date.,Până în prezent nu poate fi mai mare decât data de eliberare a angajatului.,
+Payroll date can not be greater than employee's relieving date.,Data salarizării nu poate fi mai mare decât data de scutire a angajatului.,
+Row #{0}: Please enter the result value for {1},Rândul # {0}: introduceți valoarea rezultatului pentru {1},
+Mandatory Results,Rezultate obligatorii,
+Sales Invoice or Patient Encounter is required to create Lab Tests,Factura de vânzare sau întâlnirea pacientului sunt necesare pentru a crea teste de laborator,
+Insufficient Data,Date insuficiente,
+Lab Test(s) {0} created successfully,Testele de laborator {0} au fost create cu succes,
+Test :,Test :,
+Sample Collection {0} has been created,A fost creată colecția de probe {0},
+Normal Range: ,Gama normală:,
+Row #{0}: Check Out datetime cannot be less than Check In datetime,Rândul # {0}: data de check out nu poate fi mai mică decât data de check in,
+"Missing required details, did not create Inpatient Record","Lipsesc detaliile solicitate, nu s-a creat înregistrarea internată",
+Unbilled Invoices,Facturi nefacturate,
+Standard Selling Rate should be greater than zero.,Rata de vânzare standard ar trebui să fie mai mare decât zero.,
+Conversion Factor is mandatory,Factorul de conversie este obligatoriu,
+Row #{0}: Conversion Factor is mandatory,Rândul # {0}: factorul de conversie este obligatoriu,
+Sample Quantity cannot be negative or 0,Cantitatea eșantionului nu poate fi negativă sau 0,
+Invalid Quantity,Cantitate nevalidă,
+"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Vă rugăm să setați valorile implicite pentru grupul de clienți, teritoriu și lista de prețuri de vânzare din setările de vânzare",
+{0} on {1},{0} pe {1},
+{0} with {1},{0} cu {1},
+Appointment Confirmation Message Not Sent,Mesajul de confirmare a programării nu a fost trimis,
+"SMS not sent, please check SMS Settings","SMS-ul nu a fost trimis, verificați Setările SMS",
+Healthcare Service Unit Type cannot have both {0} and {1},"Tipul unității de servicii medicale nu poate avea atât {0}, cât și {1}",
+Healthcare Service Unit Type must allow atleast one among {0} and {1},Tipul unității de servicii medicale trebuie să permită cel puțin unul dintre {0} și {1},
+Set Response Time and Resolution Time for Priority {0} in row {1}.,Setați timpul de răspuns și timpul de rezoluție pentru prioritatea {0} în rândul {1}.,
+Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Timpul de răspuns pentru {0} prioritatea în rândul {1} nu poate fi mai mare decât timpul de rezoluție.,
+{0} is not enabled in {1},{0} nu este activat în {1},
+Group by Material Request,Grupați după cerere de material,
+Email Sent to Supplier {0},E-mail trimis către furnizor {0},
+"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","Accesul la cererea de ofertă de la portal este dezactivat. Pentru a permite accesul, activați-l în Setări portal.",
+Supplier Quotation {0} Created,Ofertă furnizor {0} creată,
+Valid till Date cannot be before Transaction Date,Valabil până la data nu poate fi înainte de data tranzacției,
+Unlink Advance Payment on Cancellation of Order,Deconectați plata în avans la anularea comenzii,
+"Simple Python Expression, Example: territory != 'All Territories'","Expresie simplă Python, Exemplu: teritoriu! = „Toate teritoriile”",
+Sales Contributions and Incentives,Contribuții la vânzări și stimulente,
+Sourced by Supplier,Aprovizionat de furnizor,
+Total weightage assigned should be 100%.<br>It is {0},Ponderea totală alocată ar trebui să fie de 100%.<br> Este {0},
+Account {0} exists in parent company {1}.,Contul {0} există în compania mamă {1}.,
+"To overrule this, enable '{0}' in company {1}","Pentru a ignora acest lucru, activați „{0}” în companie {1}",
+Invalid condition expression,Expresie de condiție nevalidă,
+Please Select a Company First,Vă rugăm să selectați mai întâi o companie,
+Please Select Both Company and Party Type First,"Vă rugăm să selectați mai întâi atât compania, cât și tipul de petrecere",
+Provide the invoice portion in percent,Furnizați partea de facturare în procente,
+Give number of days according to prior selection,Dați numărul de zile în funcție de selecția anterioară,
+Email Details,Detalii e-mail,
+"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Selectați o felicitare pentru receptor. De exemplu, domnul, doamna etc.",
+Preview Email,Previzualizați e-mailul,
+Please select a Supplier,Vă rugăm să selectați un furnizor,
+Supplier Lead Time (days),Timp de livrare a furnizorului (zile),
+"Home, Work, etc.","Acasă, serviciu etc.",
+Exit Interview Held On,Ieșiți din interviu,
+Condition and formula,Stare și formulă,
+Sets 'Target Warehouse' in each row of the Items table.,Setează „Depozit țintă” în fiecare rând al tabelului Elemente.,
+Sets 'Source Warehouse' in each row of the Items table.,Setează „Depozit sursă” în fiecare rând al tabelului Elemente.,
+POS Register,Registrul POS,
+"Can not filter based on POS Profile, if grouped by POS Profile","Nu se poate filtra pe baza profilului POS, dacă este grupat după profilul POS",
+"Can not filter based on Customer, if grouped by Customer","Nu se poate filtra pe baza clientului, dacă este grupat după client",
+"Can not filter based on Cashier, if grouped by Cashier","Nu se poate filtra în funcție de Casier, dacă este grupat după Casier",
+Payment Method,Modalitate de plată,
+"Can not filter based on Payment Method, if grouped by Payment Method","Nu se poate filtra pe baza metodei de plată, dacă este grupată după metoda de plată",
+Supplier Quotation Comparison,Compararea ofertelor de ofertă,
+Price per Unit (Stock UOM),Preț per unitate (stoc UOM),
+Group by Supplier,Grup pe furnizor,
+Group by Item,Grupați după articol,
+Remember to set {field_label}. It is required by {regulation}.,Nu uitați să setați {field_label}. Este cerut de {regulament}.,
+Enrollment Date cannot be before the Start Date of the Academic Year {0},Data înscrierii nu poate fi înainte de data de începere a anului academic {0},
+Enrollment Date cannot be after the End Date of the Academic Term {0},Data înscrierii nu poate fi ulterioară datei de încheiere a termenului academic {0},
+Enrollment Date cannot be before the Start Date of the Academic Term {0},Data înscrierii nu poate fi anterioară datei de începere a termenului academic {0},
+Future Posting Not Allowed,Postarea viitoare nu este permisă,
+"To enable Capital Work in Progress Accounting, ","Pentru a permite contabilitatea activității de capital în curs,",
+you must select Capital Work in Progress Account in accounts table,trebuie să selectați Contul de capital în curs în tabelul de conturi,
+You can also set default CWIP account in Company {},"De asemenea, puteți seta contul CWIP implicit în Companie {}",
+The Request for Quotation can be accessed by clicking on the following button,Cererea de ofertă poate fi accesată făcând clic pe butonul următor,
+Regards,Salutari,
+Please click on the following button to set your new password,Vă rugăm să faceți clic pe următorul buton pentru a seta noua parolă,
+Update Password,Actualizați parola,
+Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Rândul # {}: rata de vânzare a articolului {} este mai mică decât {}. Vânzarea {} ar trebui să fie cel puțin {},
+You can alternatively disable selling price validation in {} to bypass this validation.,Puteți dezactiva alternativ validarea prețului de vânzare în {} pentru a ocoli această validare.,
+Invalid Selling Price,Preț de vânzare nevalid,
+Address needs to be linked to a Company. Please add a row for Company in the Links table.,Adresa trebuie să fie legată de o companie. Vă rugăm să adăugați un rând pentru Companie în tabelul Legături.,
+Company Not Linked,Compania nu este legată,
+Import Chart of Accounts from CSV / Excel files,Importați planul de conturi din fișiere CSV / Excel,
+Completed Qty cannot be greater than 'Qty to Manufacture',Cantitatea completată nu poate fi mai mare decât „Cantitatea pentru fabricare”,
+"Row {0}: For Supplier {1}, Email Address is Required to send an email","Rândul {0}: pentru furnizor {1}, este necesară adresa de e-mail pentru a trimite un e-mail",
+"If enabled, the system will post accounting entries for inventory automatically","Dacă este activat, sistemul va înregistra automat înregistrări contabile pentru inventar",
+Accounts Frozen Till Date,Conturi congelate până la data,
+Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,"Înregistrările contabile sunt înghețate până la această dată. Nimeni nu poate crea sau modifica intrări, cu excepția utilizatorilor cu rolul specificat mai jos",
+Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Rolul permis pentru setarea conturilor înghețate și editarea intrărilor înghețate,
+Address used to determine Tax Category in transactions,Adresa utilizată pentru determinarea categoriei fiscale în tranzacții,
+"The percentage you are allowed to bill more against the amount ordered. For example, if the order value is $100 for an item and tolerance is set as 10%, then you are allowed to bill up to $110 ","Procentul pe care vi se permite să îl facturați mai mult pentru suma comandată. De exemplu, dacă valoarea comenzii este de 100 USD pentru un articol și toleranța este setată la 10%, atunci aveți permisiunea de a factura până la 110 USD",
+This role is allowed to submit transactions that exceed credit limits,Acest rol este permis să trimită tranzacții care depășesc limitele de credit,
+"If ""Months"" is selected, a fixed amount will be booked as deferred revenue or expense for each month irrespective of the number of days in a month. It will be prorated if deferred revenue or expense is not booked for an entire month","Dacă este selectată „Luni”, o sumă fixă va fi înregistrată ca venit sau cheltuială amânată pentru fiecare lună, indiferent de numărul de zile dintr-o lună. Acesta va fi proporțional dacă veniturile sau cheltuielile amânate nu sunt înregistrate pentru o lună întreagă",
+"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Dacă acest lucru nu este bifat, vor fi create intrări GL directe pentru a înregistra venituri sau cheltuieli amânate",
+Show Inclusive Tax in Print,Afișați impozitul inclus în tipar,
+Only select this if you have set up the Cash Flow Mapper documents,Selectați acest lucru numai dacă ați configurat documentele Cartografierii fluxurilor de numerar,
+Payment Channel,Canal de plată,
+Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Este necesară comanda de cumpărare pentru crearea facturii de achiziție și a chitanței?,
+Is Purchase Receipt Required for Purchase Invoice Creation?,Este necesară chitanța de cumpărare pentru crearea facturii de cumpărare?,
+Maintain Same Rate Throughout the Purchase Cycle,Mențineți aceeași rată pe tot parcursul ciclului de cumpărare,
+Allow Item To Be Added Multiple Times in a Transaction,Permiteți adăugarea articolului de mai multe ori într-o tranzacție,
+Suppliers,Furnizori,
+Send Emails to Suppliers,Trimiteți e-mailuri furnizorilor,
+Select a Supplier,Selectați un furnizor,
+Cannot mark attendance for future dates.,Nu se poate marca prezența pentru date viitoare.,
+Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Doriți să actualizați prezența?<br> Prezent: {0}<br> Absent: {1},
+Mpesa Settings,Setări Mpesa,
+Initiator Name,Numele inițiatorului,
+Till Number,Până la numărul,
+Sandbox,Sandbox,
+ Online PassKey,Online PassKey,
+Security Credential,Acreditare de securitate,
+Get Account Balance,Obțineți soldul contului,
+Please set the initiator name and the security credential,Vă rugăm să setați numele inițiatorului și acreditările de securitate,
+Inpatient Medication Entry,Intrarea în medicamente pentru pacienții internați,
+HLC-IME-.YYYY.-,HLC-IME-.YYYY.-,
+Item Code (Drug),Cod articol (medicament),
+Medication Orders,Comenzi de medicamente,
+Get Pending Medication Orders,Obțineți comenzi de medicamente în așteptare,
+Inpatient Medication Orders,Comenzi pentru medicamente internate,
+Medication Warehouse,Depozit de medicamente,
+Warehouse from where medication stock should be consumed,Depozit de unde ar trebui consumat stocul de medicamente,
+Fetching Pending Medication Orders,Preluarea comenzilor de medicamente în așteptare,
+Inpatient Medication Entry Detail,Detalii privind intrarea medicamentelor pentru pacienții internați,
+Medication Details,Detalii despre medicamente,
+Drug Code,Codul drogurilor,
+Drug Name,Numele medicamentului,
+Against Inpatient Medication Order,Împotriva ordinului privind medicamentul internat,
+Against Inpatient Medication Order Entry,Împotriva introducerii comenzii pentru medicamente internate,
+Inpatient Medication Order,Ordinul privind medicamentul internat,
+HLC-IMO-.YYYY.-,HLC-IMO-.YYYY.-,
+Total Orders,Total comenzi,
+Completed Orders,Comenzi finalizate,
+Add Medication Orders,Adăugați comenzi de medicamente,
+Adding Order Entries,Adăugarea intrărilor de comandă,
+{0} medication orders completed,{0} comenzi de medicamente finalizate,
+{0} medication order completed,{0} comandă de medicamente finalizată,
+Inpatient Medication Order Entry,Intrarea comenzii pentru medicamente internate,
+Is Order Completed,Comanda este finalizată,
+Employee Records to Be Created By,Înregistrările angajaților care trebuie create de,
+Employee records are created using the selected field,Înregistrările angajaților sunt create folosind câmpul selectat,
+Don't send employee birthday reminders,Nu trimiteți memento-uri de ziua angajaților,
+Restrict Backdated Leave Applications,Restricționează aplicațiile de concediu actualizate,
+Sequence ID,ID secvență,
+Sequence Id,Secvența Id,
+Allow multiple material consumptions against a Work Order,Permiteți mai multe consumuri de materiale împotriva unei comenzi de lucru,
+Plan time logs outside Workstation working hours,Planificați jurnalele de timp în afara programului de lucru al stației de lucru,
+Plan operations X days in advance,Planificați operațiunile cu X zile înainte,
+Time Between Operations (Mins),Timpul dintre operații (min.),
+Default: 10 mins,Implicit: 10 minute,
+Overproduction for Sales and Work Order,Supraproducție pentru vânzări și comandă de lucru,
+"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","Actualizați automat costul BOM prin programator, pe baza celei mai recente rate de evaluare / tarif de listă de prețuri / ultimul procent de cumpărare a materiilor prime",
+Purchase Order already created for all Sales Order items,Comanda de cumpărare deja creată pentru toate articolele comenzii de vânzare,
+Select Items,Selectați elemente,
+Against Default Supplier,Împotriva furnizorului implicit,
+Auto close Opportunity after the no. of days mentioned above,Închidere automată Oportunitate după nr. de zile menționate mai sus,
+Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Este necesară comanda de vânzare pentru crearea facturilor de vânzare și a notelor de livrare?,
+Is Delivery Note Required for Sales Invoice Creation?,Este necesară nota de livrare pentru crearea facturii de vânzare?,
+How often should Project and Company be updated based on Sales Transactions?,Cât de des ar trebui actualizate proiectul și compania pe baza tranzacțiilor de vânzare?,
+Allow User to Edit Price List Rate in Transactions,Permiteți utilizatorului să editeze rata listei de prețuri în tranzacții,
+Allow Item to Be Added Multiple Times in a Transaction,Permiteți adăugarea articolului de mai multe ori într-o tranzacție,
+Allow Multiple Sales Orders Against a Customer's Purchase Order,Permiteți mai multe comenzi de vânzare împotriva comenzii de cumpărare a unui client,
+Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Validați prețul de vânzare al articolului împotriva ratei de achiziție sau a ratei de evaluare,
+Hide Customer's Tax ID from Sales Transactions,Ascundeți codul fiscal al clientului din tranzacțiile de vânzare,
+"The percentage you are allowed to receive or deliver more against the quantity ordered. For example, if you have ordered 100 units, and your Allowance is 10%, then you are allowed to receive 110 units.","Procentul pe care vi se permite să îl primiți sau să livrați mai mult în raport cu cantitatea comandată. De exemplu, dacă ați comandat 100 de unități, iar alocația dvs. este de 10%, atunci aveți permisiunea de a primi 110 unități.",
+Action If Quality Inspection Is Not Submitted,Acțiune dacă inspecția de calitate nu este trimisă,
+Auto Insert Price List Rate If Missing,Introduceți automat prețul listei de prețuri dacă lipsește,
+Automatically Set Serial Nos Based on FIFO,Setați automat numărul de serie pe baza FIFO,
+Set Qty in Transactions Based on Serial No Input,Setați cantitatea în tranzacțiile bazate pe intrare de serie,
+Raise Material Request When Stock Reaches Re-order Level,Creșteți cererea de material atunci când stocul atinge nivelul de re-comandă,
+Notify by Email on Creation of Automatic Material Request,Notificați prin e-mail la crearea cererii automate de materiale,
+Allow Material Transfer from Delivery Note to Sales Invoice,Permiteți transferul de materiale din nota de livrare către factura de vânzare,
+Allow Material Transfer from Purchase Receipt to Purchase Invoice,Permiteți transferul de materiale de la chitanța de cumpărare la factura de cumpărare,
+Freeze Stocks Older Than (Days),Înghețați stocurile mai vechi de (zile),
+Role Allowed to Edit Frozen Stock,Rolul permis pentru editarea stocului înghețat,
+The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,Valoarea nealocată a intrării de plată {0} este mai mare decât suma nealocată a tranzacției bancare,
+Payment Received,Plata primita,
+Attendance cannot be marked outside of Academic Year {0},Prezența nu poate fi marcată în afara anului academic {0},
+Student is already enrolled via Course Enrollment {0},Studentul este deja înscris prin Înscrierea la curs {0},
+Attendance cannot be marked for future dates.,Prezența nu poate fi marcată pentru datele viitoare.,
+Please add programs to enable admission application.,Vă rugăm să adăugați programe pentru a activa cererea de admitere.,
+The following employees are currently still reporting to {0}:,"În prezent, următorii angajați raportează încă la {0}:",
+Please make sure the employees above report to another Active employee.,Vă rugăm să vă asigurați că angajații de mai sus raportează unui alt angajat activ.,
+Cannot Relieve Employee,Nu poate scuti angajatul,
+Please enter {0},Vă rugăm să introduceți {0},
+Please select another payment method. Mpesa does not support transactions in currency '{0}',Vă rugăm să selectați o altă metodă de plată. Mpesa nu acceptă tranzacții în moneda „{0}”,
+Transaction Error,Eroare de tranzacție,
+Mpesa Express Transaction Error,Eroare tranzacție Mpesa Express,
+"Issue detected with Mpesa configuration, check the error logs for more details","Problemă detectată la configurația Mpesa, verificați jurnalele de erori pentru mai multe detalii",
+Mpesa Express Error,Eroare Mpesa Express,
+Account Balance Processing Error,Eroare procesare sold sold,
+Please check your configuration and try again,Vă rugăm să verificați configurația și să încercați din nou,
+Mpesa Account Balance Processing Error,Eroare de procesare a soldului contului Mpesa,
+Balance Details,Detalii sold,
+Current Balance,Sold curent,
+Available Balance,Sold disponibil,
+Reserved Balance,Sold rezervat,
+Uncleared Balance,Sold neclar,
+Payment related to {0} is not completed,Plata aferentă {0} nu este finalizată,
+Row #{}: Item Code: {} is not available under warehouse {}.,Rândul # {}: Codul articolului: {} nu este disponibil în depozit {}.,
+Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Rândul # {}: cantitatea de stoc nu este suficientă pentru codul articolului: {} în depozit {}. Cantitate Disponibilă {}.,
+Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Rândul # {}: selectați un număr de serie și împărțiți-l cu elementul: {} sau eliminați-l pentru a finaliza tranzacția.,
+Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,Rândul # {}: nu a fost selectat niciun număr de serie pentru elementul: {}. Vă rugăm să selectați una sau să o eliminați pentru a finaliza tranzacția.,
+Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,Rândul # {}: nu a fost selectat niciun lot pentru elementul: {}. Vă rugăm să selectați un lot sau să îl eliminați pentru a finaliza tranzacția.,
+Payment amount cannot be less than or equal to 0,Suma plății nu poate fi mai mică sau egală cu 0,
+Please enter the phone number first,Vă rugăm să introduceți mai întâi numărul de telefon,
+Row #{}: {} {} does not exist.,Rândul # {}: {} {} nu există.,
+Row #{0}: {1} is required to create the Opening {2} Invoices,Rândul # {0}: {1} este necesar pentru a crea facturile de deschidere {2},
+You had {} errors while creating opening invoices. Check {} for more details,Ați avut {} erori la crearea facturilor de deschidere. Verificați {} pentru mai multe detalii,
+Error Occured,A aparut o eroare,
+Opening Invoice Creation In Progress,Se deschide crearea facturii în curs,
+Creating {} out of {} {},Se creează {} din {} {},
+(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,(Nr. De serie: {0}) nu poate fi consumat deoarece este rezervat pentru a îndeplini comanda de vânzare {1}.,
+Item {0} {1},Element {0} {1},
+Last Stock Transaction for item {0} under warehouse {1} was on {2}.,Ultima tranzacție de stoc pentru articolul {0} aflat în depozit {1} a fost pe {2}.,
+Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Tranzacțiile de stoc pentru articolul {0} aflat în depozit {1} nu pot fi înregistrate înainte de această dată.,
+Posting future stock transactions are not allowed due to Immutable Ledger,Înregistrarea tranzacțiilor viitoare cu acțiuni nu este permisă din cauza contabilității imuabile,
+A BOM with name {0} already exists for item {1}.,O listă cu numele {0} există deja pentru articolul {1}.,
+{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Ați redenumit articolul? Vă rugăm să contactați administratorul / asistența tehnică,
+At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},La rândul # {0}: ID-ul secvenței {1} nu poate fi mai mic decât ID-ul anterior al secvenței de rând {2},
+The {0} ({1}) must be equal to {2} ({3}),{0} ({1}) trebuie să fie egal cu {2} ({3}),
+"{0}, complete the operation {1} before the operation {2}.","{0}, finalizați operația {1} înainte de operație {2}.",
+Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,Nu se poate asigura livrarea prin numărul de serie deoarece articolul {0} este adăugat cu și fără Asigurați livrarea prin numărul de serie,
+Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Articolul {0} nu are nr. De serie. Numai articolele serializate pot fi livrate pe baza numărului de serie,
+No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Nu s-a găsit niciun material activ pentru articolul {0}. Livrarea prin nr. De serie nu poate fi asigurată,
+No pending medication orders found for selected criteria,Nu s-au găsit comenzi de medicamente în așteptare pentru criteriile selectate,
+From Date cannot be after the current date.,From Date nu poate fi după data curentă.,
+To Date cannot be after the current date.,To Date nu poate fi după data curentă.,
+From Time cannot be after the current time.,From Time nu poate fi după ora curentă.,
+To Time cannot be after the current time.,To Time nu poate fi după ora curentă.,
+Stock Entry {0} created and ,Înregistrare stoc {0} creată și,
+Inpatient Medication Orders updated successfully,Comenzile pentru medicamente internate au fost actualizate cu succes,
+Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Rândul {0}: Nu se poate crea o intrare pentru medicamentul internat împotriva comenzii anulate pentru medicamentul internat {1},
+Row {0}: This Medication Order is already marked as completed,Rândul {0}: această comandă de medicamente este deja marcată ca finalizată,
+Quantity not available for {0} in warehouse {1},Cantitatea nu este disponibilă pentru {0} în depozit {1},
+Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Vă rugăm să activați Permiteți stocul negativ în setările stocului sau creați intrarea stocului pentru a continua.,
+No Inpatient Record found against patient {0},Nu s-a găsit nicio înregistrare a pacientului internat împotriva pacientului {0},
+An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Există deja un ordin de medicare internă {0} împotriva întâlnirii pacientului {1}.,
+Allow In Returns,Permiteți returnări,
+Hide Unavailable Items,Ascundeți articolele indisponibile,
+Apply Discount on Discounted Rate,Aplicați reducere la tariful redus,
+Therapy Plan Template,Șablon de plan de terapie,
+Fetching Template Details,Preluarea detaliilor șablonului,
+Linked Item Details,Detalii legate de articol,
+Therapy Types,Tipuri de terapie,
+Therapy Plan Template Detail,Detaliu șablon plan de terapie,
+Non Conformance,Non conformist,
+Process Owner,Deținătorul procesului,
+Corrective Action,Acțiune corectivă,
+Preventive Action,Actiune preventiva,
+Problem,Problemă,
+Responsible,Responsabil,
+Completion By,Finalizare de,
+Process Owner Full Name,Numele complet al proprietarului procesului,
+Right Index,Index corect,
+Left Index,Index stânga,
+Sub Procedure,Sub procedură,
+Passed,A trecut,
+Print Receipt,Tipărire chitanță,
+Edit Receipt,Editați chitanța,
+Focus on search input,Concentrați-vă pe introducerea căutării,
+Focus on Item Group filter,Concentrați-vă pe filtrul Grup de articole,
+Checkout Order / Submit Order / New Order,Comanda de comandă / Trimiteți comanda / Comanda nouă,
+Add Order Discount,Adăugați reducere la comandă,
+Item Code: {0} is not available under warehouse {1}.,Cod articol: {0} nu este disponibil în depozit {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Numerele de serie nu sunt disponibile pentru articolul {0} aflat în depozit {1}. Vă rugăm să încercați să schimbați depozitul.,
+Fetched only {0} available serial numbers.,S-au preluat numai {0} numere de serie disponibile.,
+Switch Between Payment Modes,Comutați între modurile de plată,
+Enter {0} amount.,Introduceți suma {0}.,
+You don't have enough points to redeem.,Nu aveți suficiente puncte de valorificat.,
+You can redeem upto {0}.,Puteți valorifica până la {0}.,
+Enter amount to be redeemed.,Introduceți suma de răscumpărat.,
+You cannot redeem more than {0}.,Nu puteți valorifica mai mult de {0}.,
+Open Form View,Deschideți vizualizarea formularului,
+POS invoice {0} created succesfully,Factura POS {0} a fost creată cu succes,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Cantitatea de stoc nu este suficientă pentru Codul articolului: {0} în depozit {1}. Cantitatea disponibilă {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Nr. De serie: {0} a fost deja tranzacționat într-o altă factură POS.,
+Balance Serial No,Nr,
+Warehouse: {0} does not belong to {1},Depozit: {0} nu aparține {1},
+Please select batches for batched item {0},Vă rugăm să selectați loturile pentru elementul lot {0},
+Please select quantity on row {0},Vă rugăm să selectați cantitatea de pe rândul {0},
+Please enter serial numbers for serialized item {0},Introduceți numerele de serie pentru articolul serializat {0},
+Batch {0} already selected.,Lotul {0} deja selectat.,
+Please select a warehouse to get available quantities,Vă rugăm să selectați un depozit pentru a obține cantitățile disponibile,
+"For transfer from source, selected quantity cannot be greater than available quantity","Pentru transfer din sursă, cantitatea selectată nu poate fi mai mare decât cantitatea disponibilă",
+Cannot find Item with this Barcode,Nu se poate găsi un articol cu acest cod de bare,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} este obligatoriu. Poate că înregistrarea schimbului valutar nu este creată pentru {1} până la {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} a trimis materiale legate de acesta. Trebuie să anulați activele pentru a crea returnarea achiziției.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Nu se poate anula acest document deoarece este asociat cu materialul trimis {0}. Anulați-l pentru a continua.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rândul # {}: numărul de serie {} a fost deja tranzacționat într-o altă factură POS. Vă rugăm să selectați numărul de serie valid.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rândul # {}: Nr. De serie {} a fost deja tranzacționat într-o altă factură POS. Vă rugăm să selectați numărul de serie valid.,
+Item Unavailable,Elementul nu este disponibil,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Rândul # {}: seria nr. {} Nu poate fi returnată deoarece nu a fost tranzacționată în factura originală {},
+Please set default Cash or Bank account in Mode of Payment {},Vă rugăm să setați implicit numerar sau cont bancar în modul de plată {},
+Please set default Cash or Bank account in Mode of Payments {},Vă rugăm să setați implicit numerar sau cont bancar în modul de plăți {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Vă rugăm să vă asigurați că {} contul este un cont de bilanț. Puteți schimba contul părinte într-un cont de bilanț sau puteți selecta un alt cont.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Vă rugăm să vă asigurați că {} contul este un cont de plătit. Schimbați tipul de cont la Plătibil sau selectați un alt cont.,
+Row {}: Expense Head changed to {} ,Rând {}: capul cheltuielilor a fost schimbat în {},
+because account {} is not linked to warehouse {} ,deoarece contul {} nu este conectat la depozit {},
+or it is not the default inventory account,sau nu este contul de inventar implicit,
+Expense Head Changed,Capul cheltuielilor s-a schimbat,
+because expense is booked against this account in Purchase Receipt {},deoarece cheltuielile sunt rezervate pentru acest cont în chitanța de cumpărare {},
+as no Purchase Receipt is created against Item {}. ,deoarece nu se creează chitanță de cumpărare împotriva articolului {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Acest lucru se face pentru a gestiona contabilitatea cazurilor în care Bonul de cumpărare este creat după factura de achiziție,
+Purchase Order Required for item {},Comandă de achiziție necesară pentru articolul {},
+To submit the invoice without purchase order please set {} ,"Pentru a trimite factura fără comandă de cumpărare, setați {}",
+as {} in {},ca în {},
+Mandatory Purchase Order,Comandă de cumpărare obligatorie,
+Purchase Receipt Required for item {},Chitanță de cumpărare necesară pentru articolul {},
+To submit the invoice without purchase receipt please set {} ,"Pentru a trimite factura fără chitanță de cumpărare, setați {}",
+Mandatory Purchase Receipt,Chitanță de cumpărare obligatorie,
+POS Profile {} does not belongs to company {},Profilul POS {} nu aparține companiei {},
+User {} is disabled. Please select valid user/cashier,Utilizatorul {} este dezactivat. Vă rugăm să selectați un utilizator / casier valid,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Rândul # {}: factura originală {} a facturii de returnare {} este {}.,
+Original invoice should be consolidated before or along with the return invoice.,Factura originală ar trebui consolidată înainte sau împreună cu factura de returnare.,
+You can add original invoice {} manually to proceed.,Puteți adăuga factura originală {} manual pentru a continua.,
+Please ensure {} account is a Balance Sheet account. ,Vă rugăm să vă asigurați că {} contul este un cont de bilanț.,
+You can change the parent account to a Balance Sheet account or select a different account.,Puteți schimba contul părinte într-un cont de bilanț sau puteți selecta un alt cont.,
+Please ensure {} account is a Receivable account. ,Vă rugăm să vă asigurați că {} contul este un cont de încasat.,
+Change the account type to Receivable or select a different account.,Schimbați tipul de cont pentru de primit sau selectați un alt cont.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"{} nu poate fi anulat, deoarece punctele de loialitate câștigate au fost valorificate. Anulați mai întâi {} Nu {}",
+already exists,deja exista,
+POS Closing Entry {} against {} between selected period,Închidere POS {} contra {} între perioada selectată,
+POS Invoice is {},Factura POS este {},
+POS Profile doesn't matches {},Profilul POS nu se potrivește cu {},
+POS Invoice is not {},Factura POS nu este {},
+POS Invoice isn't created by user {},Factura POS nu este creată de utilizator {},
+Row #{}: {},Rând #{}: {},
+Invalid POS Invoices,Facturi POS nevalide,
+Please add the account to root level Company - {},Vă rugăm să adăugați contul la compania la nivel de rădăcină - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","În timp ce creați un cont pentru Compania copil {0}, contul părinte {1} nu a fost găsit. Vă rugăm să creați contul părinte în COA corespunzător",
+Account Not Found,Contul nu a fost găsit,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","În timp ce creați un cont pentru Compania pentru copii {0}, contul părinte {1} a fost găsit ca un cont mare.",
+Please convert the parent account in corresponding child company to a group account.,Vă rugăm să convertiți contul părinte al companiei copil corespunzătoare într-un cont de grup.,
+Invalid Parent Account,Cont părinte nevalid,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Redenumirea acestuia este permisă numai prin intermediul companiei-mamă {0}, pentru a evita nepotrivirea.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Dacă {0} {1} cantitățile articolului {2}, schema {3} va fi aplicată articolului.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Dacă {0} {1} valorează articolul {2}, schema {3} va fi aplicată articolului.",
+"As the field {0} is enabled, the field {1} is mandatory.","Deoarece câmpul {0} este activat, câmpul {1} este obligatoriu.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Deoarece câmpul {0} este activat, valoarea câmpului {1} trebuie să fie mai mare de 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Nu se poate livra numărul de serie {0} al articolului {1} deoarece este rezervat pentru a îndeplini comanda de vânzare {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Comanda de vânzări {0} are rezervare pentru articolul {1}, puteți livra rezervat {1} numai cu {0}.",
+{0} Serial No {1} cannot be delivered,{0} Numărul de serie {1} nu poate fi livrat,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Rândul {0}: articolul subcontractat este obligatoriu pentru materia primă {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Deoarece există suficiente materii prime, cererea de material nu este necesară pentru depozit {0}.",
+" If you still want to proceed, please enable {0}.","Dacă totuși doriți să continuați, activați {0}.",
+The item referenced by {0} - {1} is already invoiced,Elementul la care face referire {0} - {1} este deja facturat,
+Therapy Session overlaps with {0},Sesiunea de terapie se suprapune cu {0},
+Therapy Sessions Overlapping,Sesiunile de terapie se suprapun,
+Therapy Plans,Planuri de terapie,
+"Item Code, warehouse, quantity are required on row {0}","Codul articolului, depozitul, cantitatea sunt necesare pe rândul {0}",
+Get Items from Material Requests against this Supplier,Obțineți articole din solicitările materiale împotriva acestui furnizor,
+Enable European Access,Activați accesul european,
+Creating Purchase Order ...,Se creează comanda de cumpărare ...,
+"Select a Supplier from the Default Suppliers of the items below. On selection, a Purchase Order will be made against items belonging to the selected Supplier only.","Selectați un furnizor din furnizorii prestabiliți ai articolelor de mai jos. La selectare, o comandă de achiziție va fi făcută numai pentru articolele aparținând furnizorului selectat.",
+Row #{}: You must select {} serial numbers for item {}.,Rândul # {}: trebuie să selectați {} numere de serie pentru articol {}.,
diff --git a/erpnext/translations/tr.csv b/erpnext/translations/tr.csv
index 727b4cd..4dd613e 100644
--- a/erpnext/translations/tr.csv
+++ b/erpnext/translations/tr.csv
@@ -3472,7 +3472,6 @@
 Conditions,Koşullar,
 County,Kontluk,
 Day of Week,Haftanın günü,
-"Dear System Manager,Sevgili Sistem Yöneticisi,",
 Default Value,Varsayılan Değer,
 Email Group,E-posta Grubu,
 Email Settings,E-posta Ayarları,
