"""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 {}.,
