"""Customer Provided Item"" cannot be Purchase Item also",L &#39;&quot;Articolo fornito dal cliente&quot; non può essere anche Articolo d&#39;acquisto,
"""Customer Provided Item"" cannot have Valuation Rate",&quot;Articolo fornito dal cliente&quot; non può avere un tasso di valutazione,
"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","""E' un Asset"" non può essere deselezionato, in quanto esiste già un movimento collegato",
'Based On' and 'Group By' can not be same,'Basato Su' e 'Raggruppato Per' non può essere lo stesso,
'Days Since Last Order' must be greater than or equal to zero,'Giorni dall'ultimo Ordine' deve essere maggiore o uguale a zero,
'Entries' cannot be empty,'le voci' non possono essere vuote,
'From Date' is required,"La ""data iniziale"" è richiesta",
'From Date' must be after 'To Date',' Dalla Data' deve essere successivo a 'Alla Data',
'Has Serial No' can not be 'Yes' for non-stock item,'Ha un numero di serie' non può essere 'Sì' per gli articoli non in scorta,
'Opening','Apertura',
'To Case No.' cannot be less than 'From Case No.','A Caso N.' non può essere minore di 'Da Caso N.',
'To Date' is required,'Alla Data' è obbligatorio,
'Total',&#39;Totale&#39;,
'Update Stock' can not be checked because items are not delivered via {0},'Aggiorna Scorte' non può essere selezionato perché gli articoli non vengono recapitati tramite {0},
'Update Stock' cannot be checked for fixed asset sale,&#39;Aggiornamento della&#39; non può essere controllato per vendita asset fissi,
) for {0},) per {0},
1 exact match.,1 corrispondenza esatta.,
90-Above,90-Sopra,
A Customer Group exists with same name please change the Customer name or rename the Customer Group,"Esiste un Gruppo Clienti con lo stesso nome, per favore cambiare il nome del Cliente o rinominare il Gruppo Clienti",
A Default Service Level Agreement already exists.,Esiste già un accordo sul livello di servizio predefinito.,
A Lead requires either a person's name or an organization's name,Un lead richiede il nome di una persona o il nome di un&#39;organizzazione,
A customer with the same name already exists,Esiste già un cliente con lo stesso nome,
A question must have more than one options,Una domanda deve avere più di una opzione,
A qustion must have at least one correct options,Una qustion deve avere almeno un&#39;opzione corretta,
A {0} exists between {1} and {2} (,Un {0} esiste tra {1} e {2} (,
A4,A4,
API Endpoint,Endpoint API,
API Key,API Key,
Abbr can not be blank or space,L'abbr. non può essere vuota o spazio,
Abbreviation already used for another company,Abbreviazione già utilizzata per un'altra società,
Abbreviation cannot have more than 5 characters,Le abbreviazioni non possono avere più di 5 caratteri,
Abbreviation is mandatory,L'abbreviazione è obbligatoria,
About the Company,Informazioni sull'azienda,
About your company,Informazioni sulla tua azienda,
Above,Sopra,
Absent,Assente,
Academic Term,Termine accademico,
Academic Term: ,Termine accademico:,
Academic Year,Anno accademico,
Academic Year: ,Anno accademico:,
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Quantità accettata + rifiutata deve essere uguale alla quantità ricevuta per {0},
Access Token,Token di accesso,
Accessable Value,Valore accessibile,
Account,account,
Account Number,Numero di conto,
Account Number {0} already used in account {1},Numero di conto {0} già utilizzato nell&#39;account {1},
Account Pay Only,Solo conto pay,
Account Type,Tipo di account,
Account Type for {0} must be {1},Tipo di account per {0} deve essere {1},
"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Saldo a bilancio già nel credito, non è permesso impostare il 'Saldo Futuro' come 'debito'",
"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Saldo a bilancio già nel debito, non è permesso impostare il 'Saldo Futuro' come 'credito'",
Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Il numero di conto per l'account {0} non è disponibile. <br> Si prega di impostare correttamente il piano dei conti.,
Account with child nodes cannot be converted to ledger,Account con nodi figlio non può essere convertito in libro mastro,
Account with child nodes cannot be set as ledger,Il conto con nodi figli non può essere impostato come libro mastro,
Account with existing transaction can not be converted to group.,Account con transazioni registrate non può essere convertito a gruppo.,
Account with existing transaction can not be deleted,Account con transazione registrate non può essere cancellato,
Account with existing transaction cannot be converted to ledger,Account con transazione registrate non può essere convertito in libro mastro,
Account {0} does not belong to company: {1},Il Conto {0} non appartiene alla società: {1},
Account {0} does not belongs to company {1},Il Conto {0} non appartiene alla società {1},
Account {0} does not exist,Il Conto {0} non esiste,
Account {0} does not exists,Il Conto {0} non esiste,
Account {0} does not match with Company {1} in Mode of Account: {2},L&#39;account {0} non corrisponde con la società {1} in modalità di account: {2},
Account {0} has been entered multiple times,Account {0} è stato inserito più volte,
Account {0} is added in the child company {1},L&#39;account {0} è stato aggiunto nell&#39;azienda figlio {1},
Account {0} is frozen,Il Conto {0} è congelato,
Account {0} is invalid. Account Currency must be {1},Account {0} non valido. La valuta del conto deve essere {1},
Account {0}: Parent account {1} can not be a ledger,Il Conto {0}: conto derivato {1} non può essere un libro mastro,
Account {0}: Parent account {1} does not belong to company: {2},Account {0}: conto derivato {1} non appartiene alla società: {2},
Account {0}: Parent account {1} does not exist,Account {0}: conto derivato {1} non esistente,
Account {0}: You can not assign itself as parent account,Account {0}: non è possibile assegnare se stesso come conto principale,
Account: {0} can only be updated via Stock Transactions,Account: {0} può essere aggiornato solo tramite documenti di magazzino,
Account: {0} with currency: {1} can not be selected,Account: {0} con valuta: {1} non può essere selezionato,
Accountant,Ragioniere,
Accounting,Contabilità,
Accounting Entry for Asset,Registrazione contabile per le attività,
Accounting Entry for Stock,Voce contabilità per giacenza,
Accounting Entry for {0}: {1} can only be made in currency: {2},Ingresso contabile per {0}: {1} può essere fatto solo in valuta: {2},
Accounting Ledger,Libro Mastro Contabile,
Accounting journal entries.,Diario scritture contabili.,
Accounts,Contabilità,
Accounts Manager,Accounts Manager,
Accounts Payable,Conti pagabili,
Accounts Payable Summary,Conti pagabili Sommario,
Accounts Receivable,Conti esigibili,
Accounts Receivable Summary,Contabilità Sommario Crediti,
Accounts User,Accounts User,
Accounts table cannot be blank.,La tabella dei conti non può essere vuota.,
Accrual Journal Entry for salaries from {0} to {1},Voce di registrazione accresciuta per gli stipendi da {0} a {1},
Accumulated Depreciation,Fondo di ammortamento,
Accumulated Depreciation Amount,Importo fondo ammortamento,
Accumulated Depreciation as on,Fondo ammortamento come su,
Accumulated Monthly,Accantonamento Mensile,
Accumulated Values,Valori accumulati,
Accumulated Values in Group Company,Valori accumulati nella società del gruppo,
Achieved ({}),Raggiunto ({}),
Action,Azione,
Action Initialised,Azione inizializzata,
Actions,Azioni,
Active,Attivo,
Activity Cost exists for Employee {0} against Activity Type - {1},Costo attività trovato per dipendente {0} con tipo attività - {1},
Activity Cost per Employee,Costo attività per dipendente,
Activity Type,Tipo attività,
Actual Cost,Costo attuale,
Actual Delivery Date,Data di consegna effettiva,
Actual Qty,Q.tà reale,
Actual Qty is mandatory,La q.tà reale è obbligatoria,
Actual Qty {0} / Waiting Qty {1},Quantità effettiva {0} / Quantità attesa {1},
Actual Qty: Quantity available in the warehouse.,Quantità effettivo: Quantità disponibile a magazzino.,
Actual qty in stock,Quantità disponibile,
Actual type tax cannot be included in Item rate in row {0},Il tipo di imposta / tassa non può essere inclusa nella tariffa della riga {0},
Add,Aggiungi,
Add / Edit Prices,Aggiungi / modifica prezzi,
Add All Suppliers,Aggiungi tutti i fornitori,
Add Comment,Aggiungi un commento,
Add Customers,Aggiungi clienti,
Add Employees,Aggiungi dipendenti,
Add Item,Aggiungi articolo,
Add Items,Aggiungi articoli,
Add Leads,Aggiungi leads,
Add Multiple Tasks,Aggiungi attività multiple,
Add Row,Aggiungi riga,
Add Sales Partners,Aggiungi partner di vendita,
Add Serial No,Aggiungi numero di serie,
Add Students,Aggiungi studenti,
Add Suppliers,Aggiungi fornitori,
Add Time Slots,Aggiungi slot di tempo,
Add Timesheets,Aggiungere schede attività,
Add Timeslots,Aggiungi fasce orarie,
Add Users to Marketplace,Aggiungi utenti al Marketplace,
Add a new address,Aggiungi un nuovo indirizzo,
Add cards or custom sections on homepage,Aggiungi carte o sezioni personalizzate sulla homepage,
Add more items or open full form,Aggiungi altri elementi o apri modulo completo,
Add notes,Aggiungi note,
Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Aggiungi il resto della tua organizzazione come tuoi utenti. È inoltre possibile aggiungere i clienti al proprio portale selezionandoli dalla sezione Contatti.,
Add to Details,Aggiungi ai dettagli,
Add/Remove Recipients,Aggiungi/Rimuovi Destinatari,
Added,Aggiunti,
Added to details,Aggiunto ai dettagli,
Added {0} users,Aggiunto/i {0} utenti,
Additional Salary Component Exists.,Esiste un componente di stipendio aggiuntivo.,
Address,Indirizzo,
Address Line 2,Indirizzo 2,
Address Name,Nome indirizzo,
Address Title,Titolo indirizzo,
Address Type,Tipo di indirizzo,
Administrative Expenses,Spese amministrative,
Administrative Officer,Responsabile Amministrativo,
Administrator,Amministratore,
Admission,Ammissione,
Admission and Enrollment,Ammissione e iscrizione,
Admissions for {0},Ammissioni per {0},
Admit,Ammettere,
Admitted,Ammesso,
Advance Amount,Importo Anticipo,
Advance Payments,Pagamenti anticipati,
Advance account currency should be same as company currency {0},La valuta del conto anticipato deve essere uguale alla valuta della società {0},
Advance amount cannot be greater than {0} {1},L'importo anticipato non può essere maggiore di {0} {1},
Advertising,Pubblicità,
Aerospace,Aerospaziale,
Against,Previsione,
Against Account,Previsione Conto,
Against Journal Entry {0} does not have any unmatched {1} entry,L'annotazione {0} non ha alcun corrispondenza {1},
Against Journal Entry {0} is already adjusted against some other voucher,Contro diario {0} è già regolata contro un altro buono,
Against Supplier Invoice {0} dated {1},Al ricevimento della Fattura Fornitore {0} datata {1},
Against Voucher,Contro Voucher,
Against Voucher Type,Contro Tipo Voucher,
Age,Età,
Age (Days),Età (giorni),
Ageing Based On,Invecchiamento basato su,
Ageing Range 1,Gamma invecchiamento 1,
Ageing Range 2,Gamma invecchiamento 2,
Ageing Range 3,Gamma invecchiamento 3,
Agriculture,agricoltura,
Agriculture (beta),Agricoltura (beta),
Airline,linea aerea,
All Accounts,Tutti gli account,
All Addresses.,Tutti gli indirizzi.,
All Assessment Groups,Tutti i gruppi di valutazione,
All BOMs,Tutte le distinte base,
All Contacts.,Tutti i contatti.,
All Customer Groups,Tutti i gruppi di clienti,
All Day,Intera giornata,
All Departments,Tutti i dipartimenti,
All Healthcare Service Units,Tutte le unità di assistenza sanitaria,
All Item Groups,Tutti i Gruppi,
All Jobs,Tutti i lavori,
All Products,Tutti i prodotti,
All Products or Services.,Tutti i prodotti o servizi.,
All Student Admissions,Tutte le ammissioni degli studenti,
All Supplier Groups,Tutti i gruppi fornitori,
All Supplier scorecards.,Tutti i punteggi dei fornitori.,
All Territories,Tutti i territori,
All Warehouses,Tutti i Depositi,
All communications including and above this shall be moved into the new Issue,Tutte le comunicazioni incluse e superiori a questa saranno trasferite nel nuovo numero,
All items have already been transferred for this Work Order.,Tutti gli articoli sono già stati trasferiti per questo ordine di lavoro.,
All other ITC,Tutti gli altri ITC,
All the mandatory Task for employee creation hasn't been done yet.,Tutte le attività obbligatorie per la creazione dei dipendenti non sono ancora state completate.,
Allocate Payment Amount,Allocare Importo di Pagamento,
Allocated Amount,Importo assegnato,
Allocated Leaves,Ferie allocate,
Allocating leaves...,Allocazione ferie...,
Already record exists for the item {0},Il record esiste già per l&#39;articolo {0},
"Already set default in pos profile {0} for user {1}, kindly disabled default","Già impostato come predefinito nel profilo pos {0} per l&#39;utente {1}, disabilitato per impostazione predefinita",
Alternate Item,Articolo alternativo,
Alternative item must not be same as item code,L&#39;articolo alternativo non deve essere uguale al codice articolo,
Amended From,Corretto da,
Amount,Importo,
Amount After Depreciation,Importo Dopo ammortamento,
Amount of Integrated Tax,Importo dell&#39;imposta integrata,
Amount of TDS Deducted,Quantità di TDS dedotta,
Amount should not be less than zero.,L&#39;importo non deve essere inferiore a zero.,
Amount to Bill,Importo da fatturare,
Amount {0} {1} against {2} {3},Importo {0} {1} contro {2} {3},
Amount {0} {1} deducted against {2},Importo {0} {1} dedotto contro {2},
Amount {0} {1} transferred from {2} to {3},Importo {0} {1} trasferito da {2} a {3},
Amount {0} {1} {2} {3},Importo {0} {1} {2} {3},
Amt,Tot,
"An Item Group exists with same name, please change the item name or rename the item group","Esiste un gruppo di articoli con lo stesso nome, si prega di cambiare il nome dell'articolo o di rinominare il gruppo di articoli",
An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Un termine accademico con questo &#39;Anno Accademico&#39; {0} e &#39;Term Nome&#39; {1} esiste già. Si prega di modificare queste voci e riprovare.,
An error occurred during the update process,Si è verificato un errore durante il processo di aggiornamento,
"An item exists with same name ({0}), please change the item group name or rename the item","Un elemento esiste con lo stesso nome ( {0} ) , si prega di cambiare il nome del gruppo o di rinominare la voce",
Analyst,Analista,
Analytics,Analisi dei dati,
Annual Billing: {0},Fatturazione annuale: {0},
Annual Salary,Stipendio Annuo,
Anonymous,Anonimo,
Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},Un altro record di budget &#39;{0}&#39; esiste già contro {1} &#39;{2}&#39; e account &#39;{3}&#39; per l&#39;anno fiscale {4},
Another Period Closing Entry {0} has been made after {1},Un'altra voce periodo di chiusura {0} è stato fatto dopo {1},
Another Sales Person {0} exists with the same Employee id,Un&#39;altra Sales Person {0} esiste con lo stesso ID Employee,
Antibiotic,Antibiotico,
Apparel & Accessories,Abbigliamento e accessori,
Applicable For,Valido per,
"Applicable if the company is SpA, SApA or SRL","Applicabile se la società è SpA, SApA o SRL",
Applicable if the company is a limited liability company,Applicabile se la società è una società a responsabilità limitata,
Applicable if the company is an Individual or a Proprietorship,Applicabile se la società è un individuo o una proprietà,
Applicant,Richiedente,
Applicant Type,Tipo di candidato,
Application of Funds (Assets),Applicazione dei fondi ( Assets ),
Application period cannot be across two allocation records,Il periodo di applicazione non può essere su due record di allocazione,
Application period cannot be outside leave allocation period,La data richiesta è fuori dal periodo di assegnazione,
Applied,Applicato,
Apply Now,Applica ora,
Appointment Confirmation,Conferma dell&#39;appuntamento,
Appointment Duration (mins),Durata dell'appuntamento (minuti),
Appointment Type,Tipo di appuntamento,
Appointment {0} and Sales Invoice {1} cancelled,Appuntamento {0} e Fattura di vendita {1} annullati,
Appointments and Encounters,Appuntamenti e incontri,
Appointments and Patient Encounters,Appuntamenti e incontri con il paziente,
Appraisal {0} created for Employee {1} in the given date range,Valutazione {0} creata per il Dipendente {1} nel periodo,
Apprentice,Apprendista,
Approval Status,Stato Approvazione,
Approval Status must be 'Approved' or 'Rejected',Stato approvazione deve essere 'Approvato' o 'Rifiutato',
Approve,Approva,
Approving Role cannot be same as role the rule is Applicable To,Approvazione ruolo non può essere lo stesso ruolo la regola è applicabile ad,
Approving User cannot be same as user the rule is Applicable To,Approvazione utente non può essere uguale all'utente la regola è applicabile ad,
"Apps using current key won't be able to access, are you sure?","Le app che utilizzano la chiave corrente non saranno in grado di accedere, sei sicuro?",
Are you sure you want to cancel this appointment?,Sei sicuro di voler annullare questo appuntamento?,
Arrear,arretrato,
As Examiner,Come esaminatore,
As On Date,Come in data,
As Supervisor,Come supervisore,
As per rules 42 & 43 of CGST Rules,Secondo le regole 42 e 43 delle Regole CGST,
As per section 17(5),Come da sezione 17 (5),
As per your assigned Salary Structure you cannot apply for benefits,In base alla struttura retributiva assegnata non è possibile richiedere prestazioni,
Assessment,Valutazione,
Assessment Criteria,Critero di valutazione,
Assessment Group,Gruppo valutazione,
Assessment Group: ,Gruppo di valutazione:,
Assessment Plan,Piano di valutazione,
Assessment Plan Name,Nome del piano di valutazione,
Assessment Report,Rapporto della valutazione,
Assessment Reports,Rapporti di valutazione,
Assessment Result,Risultato valutazione,
Assessment Result record {0} already exists.,Risultato della valutazione {0} già esistente.,
Asset,attività,
Asset Category,Asset Categoria,
Asset Category is mandatory for Fixed Asset item,Asset categoria è obbligatoria per voce delle immobilizzazioni,
Asset Maintenance,Manutenzione delle risorse,
Asset Movement,Movimento Asset,
Asset Movement record {0} created,record di Asset Movimento {0} creato,
Asset Name,Asset Nome,
Asset Received But Not Billed,Attività ricevuta ma non fatturata,
Asset Value Adjustment,Regolazione del valore del patrimonio,
"Asset cannot be cancelled, as it is already {0}","Asset non può essere annullato, in quanto è già {0}",
Asset scrapped via Journal Entry {0},Asset demolito tramite diario {0},
"Asset {0} cannot be scrapped, as it is already {1}","Asset {0} non può essere gettata, come è già {1}",
Asset {0} does not belong to company {1},Asset {0} non appartiene alla società {1},
Asset {0} must be submitted,Asset {0} deve essere presentata,
Assets,Risorse,
Assign,Assegna,
Assign Salary Structure,Assegna struttura salariale,
Assign To,Assegna a,
Assign to Employees,Assegna ai dipendenti,
Assigning Structures...,Assegnazione strutture...,
Associate,Associate,
At least one mode of payment is required for POS invoice.,è richiesta almeno una modalità di pagamento per POS fattura.,
Atleast one item should be entered with negative quantity in return document,Atleast un elemento deve essere introdotto con quantità negativa nel documento ritorno,
Atleast one of the Selling or Buying must be selected,", Almeno una delle vendere o acquistare deve essere selezionata",
Atleast one warehouse is mandatory,È obbligatorio almeno un deposito,
Attach Logo,Allega Logo,
Attachment,Allegato,
Attachments,Allegati,
Attendance,Presenze,
Attendance From Date and Attendance To Date is mandatory,Inizio e Fine data della frequenza sono obbligatori,
Attendance can not be marked for future dates,La presenza non può essere inserita nel futuro,
Attendance date can not be less than employee's joining date,La data della presenza non può essere inferiore alla data di assunzione del dipendente,
Attendance for employee {0} is already marked,Assistenza per dipendente {0} è già contrassegnata,
Attendance for employee {0} is already marked for this day,La presenza per il dipendente {0} è già registrata per questo giorno,
Attendance has been marked successfully.,La partecipazione è stata segnata con successo.,
Attendance not submitted for {0} as it is a Holiday.,Partecipazione non inviata per {0} in quanto è una festività.,
Attendance not submitted for {0} as {1} on leave.,Presenza non inviata per {0} come {1} in congedo.,
Attribute table is mandatory,Tavolo attributo è obbligatorio,
Attribute {0} selected multiple times in Attributes Table,Attributo {0} selezionato più volte in Attributi Tabella,
Author,Autore,
Authorized Signatory,Firma autorizzata,
Auto Material Requests Generated,Richieste materiale generata automaticamente,
Auto Repeat,Ripetizione automatica,
Auto repeat document updated,Ripetizione automatica aggiornata,
Automotive,Automotive,
Available,Disponibile,
Available Leaves,Ferie disponibili,
Available Qty,Disponibile Quantità,
Available Selling,Vendita disponibile,
Available for use date is required,Disponibile per la data di utilizzo è richiesto,
Available slots,Slot disponibili,
Available {0},Disponibile {0},
Available-for-use Date should be after purchase date,Data disponibile per l&#39;uso dovrebbe essere successiva alla data di acquisto,
Average Age,Età media,
Average Rate,Tasso medio,
Avg Daily Outgoing,Media giornaliera in uscita,
Avg. Buying Price List Rate,Avg. Comprare il listino prezzi,
Avg. Selling Price List Rate,Avg. Tasso di listino prezzi di vendita,
Avg. Selling Rate,Avg. Tasso di vendita,
BOM,Distinta Base,
BOM Browser,Sfoglia BOM,
BOM No,BOM n.,
BOM Rate,BOM Tasso,
BOM Stock Report,Report Giacenza Distinta Base,
BOM and Manufacturing Quantity are required,Distinta Base e Quantità Produzione richieste,
BOM does not contain any stock item,Distinta Base non contiene alcun articolo a magazzino,
BOM {0} does not belong to Item {1},Distinta Base {0} non appartiene all'Articolo {1},
BOM {0} must be active,Distinta Base {0} deve essere attiva,
BOM {0} must be submitted,BOM {0} deve essere confermata,
Balance,Saldo,
Balance (Dr - Cr),Saldo (Dr - Cr),
Balance ({0}),Saldo ({0}),
Balance Qty,Saldo Quantità,
Balance Sheet,Bilancio Patrimoniale,
Balance Value,Valore Saldo,
Balance for Account {0} must always be {1},Il Saldo del Conto {0} deve essere sempre {1},
Bank,Banca,
Bank Account,Conto bancario,
Bank Accounts,Conti bancari,
Bank Draft,Assegno Bancario,
Bank Entries,Registrazioni bancarie,
Bank Name,Nome Banca,
Bank Overdraft Account,Conto di scoperto bancario,
Bank Reconciliation,Riconciliazione Banca,
Bank Reconciliation Statement,Prospetto di Riconciliazione Banca,
Bank Statement,Estratto conto bancario,
Bank Statement Settings,Impostazioni conto bancario,
Bank Statement balance as per General Ledger,Estratto conto banca come da Contabilità Generale,
Bank account cannot be named as {0},Il Conto bancario non si può chiamare {0},
Bank/Cash transactions against party or for internal transfer,Transazioni Banca/Cassa solo a favore di partner o per giroconto,
Banking,Bancario,
Banking and Payments,Banche e pagamenti,
Barcode {0} already used in Item {1},Codice a barre {0} già utilizzato nel Prodotto {1},
Barcode {0} is not a valid {1} code,Il codice a barre {0} non è un codice {1} valido,
Base,Base,
Base URL,URL di base,
Based On,Basato su,
Based On Payment Terms,Basato sui termini di pagamento,
Basic,Base,
Batch,Lotto,
Batch Entries,Voci in lotti,
Batch ID is mandatory,L&#39;ID batch è obbligatorio,
Batch Inventory,Inventario lotti,
Batch Name,Nome Lotto,
Batch No,Lotto N.,
Batch number is mandatory for Item {0},Numero di lotto obbligatoria per la voce {0},
Batch {0} of Item {1} has expired.,Il lotto {0} di {1} scaduto.,
Batch {0} of Item {1} is disabled.,Il lotto {0} dell'articolo {1} è disabilitato.,
Batch: ,Lotto:,
Batches,lotti,
Become a Seller,Diventa un venditore,
Beginner,Principiante,
Bill,Fattura,
Bill Date,Data Fattura,
Bill No,Fattura N.,
Bill of Materials,Distinte materiali,
Bill of Materials (BOM),Distinte materiali (BOM),
Billable Hours,Ore fatturabili,
Billed,Addebbitato,
Billed Amount,Importo fatturato,
Billing,Fatturazione,
Billing Address,Indirizzo Di Fatturazione,
Billing Address is same as Shipping Address,L&#39;indirizzo di fatturazione è uguale all&#39;indirizzo di spedizione,
Billing Amount,Importo della fattura,
Billing Status,Stato Fatturazione,
Billing currency must be equal to either default company's currency or party account currency,La valuta di fatturazione deve essere uguale alla valuta della società predefinita o alla valuta dell&#39;account del partito,
Bills raised by Suppliers.,Fatture emesse dai fornitori.,
Bills raised to Customers.,Fatture sollevate dai Clienti.,
Biotechnology,Biotecnologia,
Birthday Reminder,Promemoria di compleanno,
Black,Nero,
Blanket Orders from Costumers.,Ordini completi da clienti.,
Block Invoice,Blocca Fattura,
Boms,Distinte Base,
Bonus Payment Date cannot be a past date,La data di pagamento bonus non può essere una data passata,
Both Trial Period Start Date and Trial Period End Date must be set,È necessario impostare la Data di inizio del periodo di prova e la Data di fine del periodo di prova,
Both Warehouse must belong to same Company,Entrambi i magazzini devono appartenere alla stessa società,
Branch,Ramo,
Broadcasting,emittente,
Brokerage,mediazione,
Browse BOM,Sfoglia Distinta Base,
Budget Against,Bilancio contro,
Budget List,Elenco dei budget,
Budget Variance Report,Report Variazione Budget,
Budget cannot be assigned against Group Account {0},Bilancio non può essere assegnato contro account gruppo {0},
"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Bilancio non può essere assegnato contro {0}, in quanto non è un conto entrate o uscite",
Buildings,edifici,
Bundle items at time of sale.,Articoli Combinati e tempi di vendita.,
Business Development Manager,Business Development Manager,
Buy,Acquista,
Buying,Acquisti,
Buying Amount,Importo Acquisto,
Buying Price List,Listino prezzi acquisto,
Buying Rate,Tasso di acquisto,
"Buying must be checked, if Applicable For is selected as {0}","L'acquisto deve essere controllato, se ""applicabile per"" bisogna selezionarlo come {0}",
By {0},Di {0},
Bypass credit check at Sales Order ,Bypassare il controllo del credito in ordine cliente,
C-Form records,Record C -Form,
C-form is not applicable for Invoice: {0},C-form non è applicabile per la fattura: {0},
CEO,Amministratore delegato,
CESS Amount,Importo CESS,
CGST Amount,Quantità CGST,
CRM,CRM,
CWIP Account,Account CWIP,
Calculated Bank Statement balance,Calcolato equilibrio estratto conto,
Calls,chiamate,
Campaign,Campagna,
Can be approved by {0},Può essere approvato da {0},
"Can not filter based on Account, if grouped by Account","Non è possibile filtrare sulla base di conto , se raggruppati per conto",
"Can not filter based on Voucher No, if grouped by Voucher","Non è possibile filtrare sulla base del N. Voucher, se raggruppati per Voucher",
"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Impossibile contrassegnare il record del ricovero scaricabile, ci sono fatture non fatturate {0}",
Can only make payment against unbilled {0},Posso solo effettuare il pagamento non ancora fatturate contro {0},
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Può riferirsi fila solo se il tipo di carica è 'On Fila Indietro Importo ' o ' Indietro totale riga ',
"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Impossibile modificare il metodo di valorizzazione, in quanto vi sono transazioni contro alcuni elementi che non hanno il proprio metodo di valorizzazione",
Can't create standard criteria. Please rename the criteria,Impossibile creare criteri standard. Si prega di rinominare i criteri,
Cancel,Annulla,
Cancel Material Visit {0} before cancelling this Warranty Claim,Annulla Materiale Visita {0} prima di annullare questa rivendicazione di Garanzia,
Cancel Material Visits {0} before cancelling this Maintenance Visit,Annulla Visite Materiale {0} prima di annullare questa visita di manutenzione,
Cancel Subscription,Annullare l&#39;iscrizione,
Cancel the journal entry {0} first,Annullare prima la voce di giornale {0},
Canceled,Annullato,
"Cannot Submit, Employees left to mark attendance","Impossibile inviare, dipendenti lasciati per contrassegnare la presenza",
Cannot be a fixed asset item as Stock Ledger is created.,Non può essere un elemento fisso quando viene creato il libro mastro.,
Cannot cancel because submitted Stock Entry {0} exists,Impossibile annullare perché esiste un movimento di magazzino {0},
Cannot cancel transaction for Completed Work Order.,Impossibile annullare la transazione per l&#39;ordine di lavoro completato.,
Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},Impossibile cancellare {0} {1} perché il numero di serie {2} non appartiene al magazzino {3},
Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Impossibile modificare gli Attributi dopo il trasferimento di magazzino. Crea un nuovo Articolo e trasferisci le scorte al nuovo Articolo,
Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Impossibile modificare data di inizio e di fine anno fiscale una volta che l'anno fiscale è stato salvato.,
Cannot change Service Stop Date for item in row {0},Impossibile modificare la data di interruzione del servizio per l&#39;articolo nella riga {0},
Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,Impossibile modificare le proprietà Variant dopo la transazione stock. Dovrai creare un nuovo oggetto per farlo.,
"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Non è possibile cambiare la valuta di default dell'azienda , perché ci sono le transazioni esistenti . Le operazioni devono essere cancellate per cambiare la valuta di default .",
Cannot change status as student {0} is linked with student application {1},Impossibile cambiare status di studente {0} è collegata con l&#39;applicazione studente {1},
Cannot convert Cost Center to ledger as it has child nodes,Impossibile convertire centro di costo a registro come ha nodi figlio,
Cannot covert to Group because Account Type is selected.,Non può convertirsi in Gruppo perché è stato selezionato Tipo di account.,
Cannot create Retention Bonus for left Employees,Impossibile creare il bonus di conservazione per i dipendenti di sinistra,
Cannot create a Delivery Trip from Draft documents.,Impossibile creare un viaggio di consegna da documenti bozza.,
Cannot deactivate or cancel BOM as it is linked with other BOMs,Impossibile disattivare o cancellare la Distinta Base in quanto è collegata con altre,
"Cannot declare as lost, because Quotation has been made.",Non può essere dichiarato come perso perché è stato fatto un Preventivo.,
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Non può dedurre quando categoria è di ' valutazione ' o ' Valutazione e Total ',
Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Non può dedurre quando categoria è per &#39;valutazione&#39; o &#39;Vaulation e Total&#39;,
"Cannot delete Serial No {0}, as it is used in stock transactions","Impossibile eliminare N. di serie {0}, come si usa in transazioni di borsa",
Cannot enroll more than {0} students for this student group.,Non possono iscriversi più di {0} studenti per questo gruppo.,
Cannot find Item with this barcode,Impossibile trovare l&#39;oggetto con questo codice a barre,
Cannot find active Leave Period,Impossibile trovare il Periodo di congedo attivo,
Cannot produce more Item {0} than Sales Order quantity {1},Non può produrre più Voce {0} di Sales Order quantità {1},
Cannot promote Employee with status Left,Impossibile promuovere il Dipendente con stato Sinistro,
Cannot refer row number greater than or equal to current row number for this Charge type,Non può consultare numero di riga maggiore o uguale al numero di riga corrente per questo tipo di carica,
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Non è possibile selezionare il tipo di carica come 'On Fila Indietro Importo ' o 'On Precedente totale riga ' per la prima fila,
Cannot set a received RFQ to No Quote,Impossibile impostare una RFQ ricevuta al valore No Quote,
Cannot set as Lost as Sales Order is made.,Impossibile impostare come persa come è fatto Sales Order .,
Cannot set authorization on basis of Discount for {0},Impossibile impostare autorizzazione sulla base di Sconto per {0},
Cannot set multiple Item Defaults for a company.,Impossibile impostare più valori predefiniti oggetto per un&#39;azienda.,
Cannot set quantity less than delivered quantity,Impossibile impostare una quantità inferiore alla quantità consegnata,
Cannot set quantity less than received quantity,Impossibile impostare una quantità inferiore alla quantità ricevuta,
Cannot set the field <b>{0}</b> for copying in variants,Impossibile impostare il campo <b>{0}</b> per la copia in varianti,
Cannot transfer Employee with status Left,Impossibile trasferire Employee con lo stato Left,
Cannot {0} {1} {2} without any negative outstanding invoice,Impossibile {0} {1} {2} senza alcuna fattura in sospeso negativo,
Capital Equipments,Attrezzature Capital,
Capital Stock,Capitale sociale,
Capital Work in Progress,Capitale lavori in corso,
Cart,Carrello,
Cart is Empty,Il carrello è vuoto,
Case No(s) already in use. Try from Case No {0},Caso n ( s) già in uso . Prova da Caso n {0},
Cash,Contante,
Cash Flow Statement,Rendiconto finanziario,
Cash Flow from Financing,Flusso di cassa da finanziamento,
Cash Flow from Investing,Cash Flow da investimenti,
Cash Flow from Operations,Cash flow operativo,
Cash In Hand,Cash In Hand,
Cash or Bank Account is mandatory for making payment entry,Il conto bancario è obbligatorio per effettuare il Pagamento,
Cashier Closing,Chiusura del cassiere,
Casual Leave,Permesso retribuito,
Category,Categoria,
Category Name,Nome Categoria,
Caution,Attenzione,
Central Tax,Tassa centrale,
Certification,Certificazione,
Cess,Cess,
Change Amount,quantità di modifica,
Change Item Code,Cambia codice articolo,
Change Release Date,Cambia Data di rilascio,
Change Template Code,Modifica del codice modello,
Changing Customer Group for the selected Customer is not allowed.,Non è consentito modificare il gruppo di clienti per il cliente selezionato.,
Chapter,Capitolo,
Chapter information.,Informazioni sul capitolo,
Charge of type 'Actual' in row {0} cannot be included in Item Rate,Carica di tipo ' Actual ' in riga {0} non può essere incluso nella voce Tasso,
Chargeble,chargeble,
Charges are updated in Purchase Receipt against each item,Le tariffe sono aggiornati in acquisto ricevuta contro ogni voce,
"Charges will be distributed proportionately based on item qty or amount, as per your selection","Spese saranno distribuiti proporzionalmente basate su qty voce o importo, secondo la vostra selezione",
Chart Of Accounts,Piano dei conti,
Chart of Cost Centers,Grafico Centro di Costo,
Check all,Seleziona tutto,
Checkout,Check-out,
Chemical,chimico,
Cheque,Assegno,
Cheque/Reference No,N. di riferimento,
Cheques Required,Controlli richiesti,
Cheques and Deposits incorrectly cleared,Assegni e depositi cancellati in modo non corretto,
Child Task exists for this Task. You can not delete this Task.,Non è possibile eliminare questa attività; esiste un'altra Attività dipendente da questa.,
Child nodes can be only created under 'Group' type nodes,I nodi figli possono essere creati solo sotto i nodi di tipo &#39;Gruppo&#39;,
Child warehouse exists for this warehouse. You can not delete this warehouse.,Esiste magazzino Bambino per questo magazzino. Non è possibile eliminare questo magazzino.,
Circular Reference Error,Circular Error Reference,
City,Città,
City/Town,Città/Paese,
Claimed Amount,Importo richiesto,
Clay,Argilla,
Clear filters,Cancella filtri,
Clear values,Cancella valori,
Clearance Date,Data Liquidazione,
Clearance Date not mentioned,Liquidazione data non menzionato,
Clearance Date updated,Liquidazione Data di aggiornamento,
Client,Intestatario,
Client ID,Identificativo cliente,
Client Secret,Client Secret,
Clinical Procedure,Procedura clinica,
Clinical Procedure Template,Modello di procedura clinica,
Close Balance Sheet and book Profit or Loss.,Chiudere Stato Patrimoniale e il libro utile o perdita .,
Close Loan,Prestito vicino,
Close the POS,Chiudi il POS,
Closed,Chiuso,
Closed order cannot be cancelled. Unclose to cancel.,Un ordine chiuso non può essere cancellato. Riapri per annullare.,
Closing (Cr),Chiusura (Cr),
Closing (Dr),Chiusura (Dr),
Closing (Opening + Total),Chiusura (apertura + totale),
Closing Account {0} must be of type Liability / Equity,Chiusura account {0} deve essere di tipo Responsabilità / Patrimonio netto,
Closing Balance,Saldo di chiusura,
Code,Codice,
Collapse All,Comprimi tutto,
Color,Colore,
Colour,Colore,
Combined invoice portion must equal 100%,La parte della fattura combinata deve essere uguale al 100%,
Commercial,Commerciale,
Commission,Commissione,
Commission Rate %,Tasso di commissione %,
Commission on Sales,Commissione sulle vendite,
Commission rate cannot be greater than 100,Tasso Commissione non può essere superiore a 100,
Community Forum,Forum Community,
Company (not Customer or Supplier) master.,Azienda ( non cliente o fornitore ) master.,
Company Abbreviation,Abbreviazione Società,
Company Abbreviation cannot have more than 5 characters,L&#39;abbreviazione della compagnia non può contenere più di 5 caratteri,
Company Name,Nome Azienda,
Company Name cannot be Company,Nome azienda non può essere azienda,
Company currencies of both the companies should match for Inter Company Transactions.,Le valute delle società di entrambe le società devono corrispondere alle Transazioni della Società Inter.,
Company is manadatory for company account,La società è mandataria per conto aziendale,
Company name not same,Nome della società non uguale,
Company {0} does not exist,Società di {0} non esiste,
Compensatory Off,compensativa Off,
Compensatory leave request days not in valid holidays,Giorni di congedo compensativo giorni non festivi validi,
Complaint,Denuncia,
Completed Qty can not be greater than 'Qty to Manufacture',Completato Quantità non può essere maggiore di 'Quantità di Fabbricazione',
Completion Date,Data Completamento,
Computer,Computer,
Condition,Condizione,
Configure,Configurazione,
Configure {0},Configura {0},
Confirmed orders from Customers.,Ordini Confermati da Clienti.,
Connect Amazon with ERPNext,Connetti Amazon con ERPNext,
Connect Shopify with ERPNext,Connetti Shopify con ERPNext,
Connect to Quickbooks,Connetti a Quickbooks,
Connected to QuickBooks,Connesso a QuickBooks,
Connecting to QuickBooks,Connessione a QuickBooks,
Consultation,Consulto,
Consultations,Consulti,
Consulting,Consulting,
Consumable,Consumabile,
Consumed,consumato,
Consumed Amount,Quantità consumata,
Consumed Qty,Q.tà Consumata,
Consumer Products,Prodotti di consumo,
Contact,Contatto,
Contact Details,Dettagli Contatto,
Contact Number,Numero di contatto,
Contact Us,Contattaci,
Content,Contenuto,
Content Masters,Master dei contenuti,
Content Type,Tipo Contenuto,
Continue Configuration,Continua la configurazione,
Contract,contratto,
Contract End Date must be greater than Date of Joining,Data fine contratto deve essere maggiore della data di assunzione,
Contribution %,Contributo%,
Contribution Amount,Contributo Importo,
Conversion factor for default Unit of Measure must be 1 in row {0},Fattore di conversione per unità di misura predefinita deve essere 1 in riga {0},
Conversion rate cannot be 0 or 1,Il tasso di conversione non può essere 0 o 1,
Convert to Group,Convert to Group,
Convert to Non-Group,Convert to non-Group,
Cosmetics,Cosmetici,
Cost Center,Centro di costo,
Cost Center Number,Numero centro di costo,
Cost Center and Budgeting,Centro di costo e budget,
Cost Center is required in row {0} in Taxes table for type {1},Centro di costo è richiesto in riga {0} nella tabella Tasse per il tipo {1},
Cost Center with existing transactions can not be converted to group,Centro di costo con le transazioni esistenti non può essere convertito in gruppo,
Cost Center with existing transactions can not be converted to ledger,Centro di costo con le transazioni esistenti non può essere convertito in contabilità,
Cost Centers,Centri di costo,
Cost Updated,Costo aggiornato,
Cost as on,Costo come in,
Cost of Delivered Items,Costo di oggetti consegnati,
Cost of Goods Sold,Costo del venduto,
Cost of Issued Items,Costo di elementi Emesso,
Cost of New Purchase,Costo del nuovo acquisto,
Cost of Purchased Items,Costo dei beni acquistati,
Cost of Scrapped Asset,Costo di Asset Demolita,
Cost of Sold Asset,Costo del bene venduto,
Cost of various activities,Costo di varie attività,
"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again","Impossibile creare automaticamente la nota di credito, deselezionare &#39;Emetti nota di credito&#39; e inviare nuovamente",
Could not generate Secret,Impossibile generare Secret,
Could not retrieve information for {0}.,Impossibile recuperare le informazioni per {0}.,
Could not solve criteria score function for {0}. Make sure the formula is valid.,Impossibile risolvere la funzione di valutazione dei criteri per {0}. Assicurarsi che la formula sia valida.,
Could not solve weighted score function. Make sure the formula is valid.,Impossibile risolvere la funzione di punteggio ponderato. Assicurarsi che la formula sia valida.,
Could not submit some Salary Slips,Non potevo inviare alcuni Salary Slips,
"Could not update stock, invoice contains drop shipping item.","Impossibile aggiornare magazzino, la fattura contiene articoli spediti direttamente dal fornitore.",
Country wise default Address Templates,Modelli Country saggio di default Indirizzo,
Course,Corso,
Course Code: ,Codice del corso:,
Course Enrollment {0} does not exists,L&#39;iscrizione al corso {0} non esiste,
Course Schedule,Orario del corso,
Course: ,Corso:,
Cr,Cr,
Create,Crea,
Create BOM,Crea DBA,
Create Delivery Trip,Crea viaggio di consegna,
Create Disbursement Entry,Crea voce di erogazione,
Create Employee,Crea dipendente,
Create Employee Records,Creare record dei dipendenti,
"Create Employee records to manage leaves, expense claims and payroll","Crea record dei dipendenti per la gestione ferie, rimborsi spese e del libro paga",
Create Fee Schedule,Crea un programma tariffario,
Create Fees,Crea tariffe,
Create Inter Company Journal Entry,Crea voce di diario interaziendale,
Create Invoice,Crea fattura,
Create Invoices,Crea fatture,
Create Job Card,Crea Job Card,
Create Journal Entry,Crea registrazione prima nota,
Create Lead,Crea piombo,
Create Leads,Creare un Lead,
Create Maintenance Visit,Crea visita di manutenzione,
Create Material Request,Crea richiesta materiale,
Create Multiple,Crea multiplo,
Create Opening Sales and Purchase Invoices,Crea fatture di vendita e acquisti di apertura,
Create Payment Entries,Crea voci di pagamento,
Create Payment Entry,Crea voce di pagamento,
Create Print Format,Creare Formato di stampa,
Create Purchase Order,Creare un ordine d&#39;acquisto,
Create Purchase Orders,Creare ordini d&#39;acquisto,
Create Quotation,Crea Preventivo,
Create Salary Slip,Creare busta paga,
Create Salary Slips,Crea Salary Slips,
Create Sales Invoice,Crea fattura di vendita,
Create Sales Order,Crea ordine di vendita,
Create Sales Orders to help you plan your work and deliver on-time,Crea ordini di vendita per aiutarti a pianificare il tuo lavoro e consegnarlo in tempo,
Create Sample Retention Stock Entry,Crea una voce di scorta di conservazione del campione,
Create Student,Crea studente,
Create Student Batch,Crea batch studenti,
Create Student Groups,Creazione di gruppi di studenti,
Create Supplier Quotation,Crea un&#39;offerta fornitore,
Create Tax Template,Crea modello fiscale,
Create Timesheet,Crea scheda attività,
Create User,Creare un utente,
Create Users,creare utenti,
Create Variant,Crea variante,
Create Variants,Crea varianti,
"Create and manage daily, weekly and monthly email digests.","Creare e gestire giornalieri , settimanali e mensili digerisce email .",
Create customer quotes,Creare le citazioni dei clienti,
Create rules to restrict transactions based on values.,Creare regole per limitare le transazioni in base ai valori .,
Created By,Creato da,
Created {0} scorecards for {1} between: ,Creato {0} scorecard per {1} tra:,
Creating Company and Importing Chart of Accounts,Creazione di società e importazione del piano dei conti,
Creating Fees,Creazione di tariffe,
Creating Payment Entries......,Creazione di voci di pagamento ......,
Creating Salary Slips...,Creazione di buste salariali ...,
Creating student groups,Creazione di gruppi di studenti,
Creating {0} Invoice,Creazione di {0} fattura,
Credit,Avere,
Credit ({0}),Credito ({0}),
Credit Account,Conto di credito,
Credit Balance,Balance Credit,
Credit Card,Carta di credito,
Credit Days cannot be a negative number,I giorni di credito non possono essere un numero negativo,
Credit Limit,Limite Credito,
Credit Note,Nota di credito,
Credit Note Amount,Importo della nota di credito,
Credit Note Issued,Nota di Credito Emessa,
Credit Note {0} has been created automatically,La nota di credito {0} è stata creata automaticamente,
Credit limit has been crossed for customer {0} ({1}/{2}),Il limite di credito è stato superato per il cliente {0} ({1} / {2}),
Creditors,Creditori,
Criteria weights must add up to 100%,I pesi dei criteri devono aggiungere fino al 100%,
Crop Cycle,Crop Cycle,
Crops & Lands,Colture e terre,
Currency Exchange must be applicable for Buying or for Selling.,Cambio valuta deve essere applicabile per l&#39;acquisto o per la vendita.,
Currency can not be changed after making entries using some other currency,Valuta non può essere modificata dopo aver fatto le voci utilizzando qualche altra valuta,
Currency exchange rate master.,Maestro del tasso di cambio di valuta .,
Currency for {0} must be {1},Valuta per {0} deve essere {1},
Currency is required for Price List {0},E' necessario specificare la  valuta per il listino prezzi {0},
Currency of the Closing Account must be {0},Valuta del Conto di chiusura deve essere {0},
Currency of the price list {0} must be {1} or {2},Valuta dell&#39;elenco dei prezzi {0} deve essere {1} o {2},
Currency should be same as Price List Currency: {0},La valuta deve essere uguale alla valuta della lista dei prezzi: {0},
Current,attuale,
Current Assets,Attività correnti,
Current BOM and New BOM can not be same,BOM corrente e New BOM non può essere lo stesso,
Current Job Openings,Offerte di lavoro,
Current Liabilities,Passività correnti,
Current Qty,Quantità corrente,
Current invoice {0} is missing,Manca la fattura corrente {0},
Custom HTML,HTML personalizzato,
Custom?,Personalizzato?,
Customer,Cliente,
Customer Addresses And Contacts,Indirizzi e Contatti Cliente,
Customer Contact,Customer Contact,
Customer Database.,Database clienti.,
Customer Group,Gruppo Cliente,
Customer LPO,LPO cliente,
Customer LPO No.,Numero LPO cliente,
Customer Name,Nome Cliente,
Customer POS Id,ID del cliente POS,
Customer Service,Servizio clienti,
Customer and Supplier,Cliente e fornitore,
Customer is required,Il Cliente è tenuto,
Customer isn't enrolled in any Loyalty Program,Il cliente non è iscritto a nessun programma fedeltà,
Customer required for 'Customerwise Discount',Cliente richiesto per ' Customerwise Discount ',
Customer {0} does not belong to project {1},Cliente {0} non appartiene a proiettare {1},
Customer {0} is created.,Cliente {0} creato.,
Customers in Queue,I clienti in coda,
Customize Homepage Sections,Personalizza le sezioni della home page,
Customizing Forms,Personalizzazione dei moduli,
Daily Project Summary for {0},Riepilogo del progetto giornaliero per {0},
Daily Reminders,Promemoria quotidiani,
Daily Work Summary,Riepilogo lavori giornaliero,
Daily Work Summary Group,Gruppo di sintesi del lavoro quotidiano,
Data Import and Export,Importazione ed esportazione dati,
Data Import and Settings,Importazione e impostazioni dei dati,
Database of potential customers.,Database Potenziali Clienti.,
Date Format,Formato Data,
Date Of Retirement must be greater than Date of Joining,La Data di pensionamento deve essere successiva alla Data Assunzione,
Date is repeated,La Data si Ripete,
Date of Birth,Data Compleanno,
Date of Birth cannot be greater than today.,La data di nascita non può essere maggiore rispetto a oggi.,
Date of Commencement should be greater than Date of Incorporation,La data di inizio dovrebbe essere maggiore della data di costituzione,
Date of Joining,Data Assunzione,
Date of Joining must be greater than Date of Birth,Data di assunzione deve essere maggiore della data di nascita,
Date of Transaction,Data della transazione,
Datetime,Data e ora,
Day,Giorno,
Debit,Dare,
Debit ({0}),Debito ({0}),
Debit A/C Number,Numero di addebito A / C,
Debit Account,Conto di addebito,
Debit Note,Nota di debito,
Debit Note Amount,Importo della nota di debito,
Debit Note Issued,Nota di Debito Emessa,
Debit To is required,Debito A è richiesto,
Debit and Credit not equal for {0} #{1}. Difference is {2}.,Dare e Avere non uguale per {0} # {1}. La differenza è {2}.,
Debtors,debitori,
Debtors ({0}),Debitori ({0}),
Declare Lost,Dichiara perso,
Deduction,Deduzioni,
Default Activity Cost exists for Activity Type - {0},Esiste di default Attività Costo per il tipo di attività - {0},
Default BOM ({0}) must be active for this item or its template,Distinta Base default ({0}) deve essere attivo per questo articolo o il suo modello,
Default BOM for {0} not found,Distinta Base predefinita per {0} non trovato,
Default BOM not found for Item {0} and Project {1},La Distinta Base di default non è stata trovata per l'oggetto {0} e il progetto {1},
Default Letter Head,Carta Intestata Predefinita,
Default Tax Template,Modello fiscale predefinito,
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.,Unità di misura predefinita per la voce {0} non può essere modificato direttamente perché si è già fatto qualche operazione (s) con un altro UOM. Sarà necessario creare una nuova voce per utilizzare un diverso UOM predefinito.,
Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',Unità di misura predefinita per la variante &#39;{0}&#39; deve essere lo stesso in Template &#39;{1}&#39;,
Default settings for buying transactions.,Impostazioni predefinite per operazioni di acquisto .,
Default settings for selling transactions.,Impostazioni predefinite per la vendita di transazioni.,
Default tax templates for sales and purchase are created.,Vengono creati modelli di imposta predefiniti per vendite e acquisti.,
Defaults,Valori Predefiniti,
Defense,Difesa,
Define Project type.,Definisci il tipo di progetto.,
Define budget for a financial year.,Definire bilancio per l&#39;anno finanziario.,
Define various loan types,Definire i vari tipi di prestito,
Del,del,
Delay in payment (Days),Ritardo nel pagamento (giorni),
Delete all the Transactions for this Company,Eliminare tutte le Operazioni per questa Azienda,
Deletion is not permitted for country {0},La cancellazione non è consentita per il Paese {0},
Delivered,consegnato,
Delivered Amount,Importo consegnato,
Delivered Qty,Q.tà Consegnata,
Delivered: {0},Consegna: {0},
Delivery,Consegna,
Delivery Date,Data di consegna,
Delivery Note,Documento Di Trasporto,
Delivery Note {0} is not submitted,Il Documento di Trasporto {0} non è confermato,
Delivery Note {0} must not be submitted,Il Documento di Trasporto {0} non deve essere presentato,
Delivery Notes {0} must be cancelled before cancelling this Sales Order,I Documenti di Trasporto {0} devono essere cancellati prima di annullare questo Ordine di Vendita,
Delivery Notes {0} updated,Note di consegna {0} aggiornate,
Delivery Status,Stato Consegna,
Delivery Trip,Viaggio di consegna,
Delivery warehouse required for stock item {0},Magazzino di consegna richiesto per l'articolo {0},
Department,Dipartimento,
Department Stores,Grandi magazzini,
Depreciation,Ammortamento,
Depreciation Amount,quota di ammortamento,
Depreciation Amount during the period,Quota di ammortamento durante il periodo,
Depreciation Date,Ammortamenti Data,
Depreciation Eliminated due to disposal of assets,Gli ammortamenti Eliminato causa della cessione di attività,
Depreciation Entry,Ammortamenti Entry,
Depreciation Method,Metodo di ammortamento,
Depreciation Row {0}: Depreciation Start Date is entered as past date,Riga di ammortamento {0}: Data di inizio ammortamento è inserita come data precedente,
Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Riga di ammortamento {0}: il valore atteso dopo la vita utile deve essere maggiore o uguale a {1},
Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Riga di ammortamento {0}: la successiva Data di ammortamento non può essere precedente alla Data disponibile per l&#39;uso,
Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Riga di ammortamento {0}: la successiva data di ammortamento non può essere anteriore alla data di acquisto,
Designer,Designer,
Detailed Reason,Motivo dettagliato,
Details,Dettagli,
Details of Outward Supplies and inward supplies liable to reverse charge,Dettagli sui rifornimenti esteriori e sui rifornimenti interni soggetti a addebito inverso,
Details of the operations carried out.,I dettagli delle operazioni effettuate.,
Diagnosis,Diagnosi,
Did not find any item called {0},Non hai trovato alcun oggetto chiamato {0},
Diff Qty,Qtà diff,
Difference Account,account differenza,
"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Account La differenza deve essere un account di tipo attività / passività, dal momento che questo Stock riconciliazione è una voce di apertura",
Difference Amount,Differenza Importo,
Difference Amount must be zero,Differenza L&#39;importo deve essere pari a 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.,Una diversa Unità di Misura degli articoli darà come risultato un Peso Netto (Totale) non corretto.\nAssicurarsi che il peso netto di ogni articolo sia nella stessa Unità di Misura.,
Direct Expenses,Spese dirette,
Direct Income,reddito diretta,
Disable,Disattiva,
Disabled template must not be default template,modello disabili non deve essere modello predefinito,
Disburse Loan,Prestito erogato,
Disbursed,erogato,
Disc,Disco,
Discharge,Scarico,
Discount,Sconto,
Discount Percentage can be applied either against a Price List or for all Price List.,Percentuale di sconto può essere applicato sia contro un listino prezzi o per tutti Listino.,
Discount must be less than 100,Sconto deve essere inferiore a 100,
Diseases & Fertilizers,Malattie e fertilizzanti,
Dispatch,Spedizione,
Dispatch Notification,Notifica di spedizione,
Dispatch State,Stato di spedizione,
Distance,Distanza,
Distribution,Distribuzione,
Distributor,Distributore,
Dividends Paid,Dividendo liquidato,
Do you really want to restore this scrapped asset?,Vuoi davvero ripristinare questo bene rottamato?,
Do you really want to scrap this asset?,Vuoi davvero di accantonare questo bene?,
Do you want to notify all the customers by email?,Vuoi avvisare tutti i clienti via email?,
Doc Date,Doc Data,
Doc Name,Nome Doc,
Doc Type,Tipo Doc,
Docs Search,Ricerca documenti,
Document Name,Documento Nome,
Document Status,Stato Documento,
Document Type,tipo di documento,
Domain,Dominio,
Domains,Domini,
Done,Fatto,
Donor,Donatore,
Donor Type information.,Informazioni sul tipo di donatore.,
Donor information.,Informazioni sui donatori,
Download JSON,Scarica JSON,
Draft,Bozza,
Drop Ship,Consegna diretta,
Drug,Droga,
Due / Reference Date cannot be after {0},Data / Reference Data non può essere successiva {0},
Due Date cannot be before Posting / Supplier Invoice Date,La data di scadenza non può essere precedente alla data di registrazione / fattura,
Due Date is mandatory,Data di scadenza è obbligatoria,
Duplicate Entry. Please check Authorization Rule {0},Duplicate Entry. Si prega di controllare Autorizzazione Regola {0},
Duplicate Serial No entered for Item {0},Inserito Numero di Serie duplicato per l'articolo {0},
Duplicate customer group found in the cutomer group table,Gruppo di clienti duplicato trovato nella tabella gruppo cutomer,
Duplicate entry,Duplicate entry,
Duplicate item group found in the item group table,gruppo di articoli duplicato trovato nella tabella gruppo articoli,
Duplicate roll number for student {0},Duplica il numero di rotolo per lo studente {0},
Duplicate row {0} with same {1},Fila Duplicate {0} con lo stesso {1},
Duplicate {0} found in the table,Trovato {0} duplicato nella tabella,
Duration in Days,Durata in giorni,
Duties and Taxes,Dazi e tasse,
E-Invoicing Information Missing,Informazioni sulla fatturazione elettronica mancanti,
ERPNext Demo,ERPNext Demo,
ERPNext Settings,Impostazioni ERPSucc,
Earliest,La prima,
Earnest Money,Caparra,
Earning,Rendimento,
Edit,modificare,
Edit Publishing Details,Modifica dettagli di pubblicazione,
"Edit in full page for more options like assets, serial nos, batches etc.","Modifica in pagina intera per ulteriori opzioni come risorse, numero di serie, lotti ecc.",
Education,Educazione,
Either location or employee must be required,O posizione o dipendente deve essere richiesto,
Either target qty or target amount is mandatory,Sia qty destinazione o importo obiettivo è obbligatoria,
Either target qty or target amount is mandatory.,Sia qty destinazione o importo obiettivo è obbligatoria .,
Electrical,Elettrico,
Electronic Equipments,Apparecchiature elettroniche,
Electronics,Elettronica,
Eligible ITC,ITC ammissibile,
Email Account,Account email,
Email Address,Indirizzo email,
"Email Address must be unique, already exists for {0}","l' indirizzo e-mail deve essere univoco, esiste già per {0}",
Email Digest: ,Email di Sintesi:,
Email Reminders will be sent to all parties with email contacts,I promemoria via email saranno inviati a tutte le parti con contatti e-mail,
Email Sent,E-mail Inviata,
Email Template,Modello di email,
Email not found in default contact,Email non trovata nel contatto predefinito,
Email sent to {0},E-mail inviata a {0},
Employee,Dipendente,
Employee A/C Number,Numero A / C dipendente,
Employee Advances,Anticipi Dipendenti,
Employee Benefits,Benefici per i dipendenti,
Employee Grade,Grado del dipendente,
Employee ID,Numero Identità dell&#39;impiegato,
Employee Lifecycle,Employee Lifecycle,
Employee Name,Nome dipendente,
Employee Promotion cannot be submitted before Promotion Date ,La promozione dei dipendenti non può essere presentata prima della data di promozione,
Employee Referral,Referral dei dipendenti,
Employee Transfer cannot be submitted before Transfer Date ,Il trasferimento del dipendente non può essere inoltrato prima della data di trasferimento,
Employee cannot report to himself.,Il dipendente non può riportare a se stesso.,
Employee relieved on {0} must be set as 'Left',Dipendente esonerato da {0} deve essere impostato come 'Congedato',
Employee status cannot be set to 'Left' as following employees are currently reporting to this employee:&nbsp;,Lo stato del dipendente non può essere impostato su &quot;Sinistra&quot; poiché i seguenti dipendenti stanno attualmente segnalando a questo dipendente:,
Employee {0} already submited an apllication {1} for the payroll period {2},Il dipendente {0} ha già inviato una richiesta {1} per il periodo di gestione stipendi {2},
Employee {0} has already applied for {1} between {2} and {3} : ,Il Dipendente {0} ha già fatto domanda per {1} tra {2} e {3}:,
Employee {0} has no maximum benefit amount,Il dipendente {0} non ha l&#39;importo massimo del beneficio,
Employee {0} is not active or does not exist,Employee {0} non è attiva o non esiste,
Employee {0} is on Leave on {1},Il dipendente {0} è in ferie il {1},
Employee {0} of grade {1} have no default leave policy,Il dipendente {0} del grado {1} non ha alcuna politica di congedo predefinita,
Employee {0} on Half day on {1},Employee {0} sulla mezza giornata su {1},
Enable,permettere,
Enable / disable currencies.,Abilitare / disabilitare valute.,
Enabled,Attivato,
"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","L&#39;attivazione di &#39;utilizzare per il Carrello&#39;, come Carrello è abilitato e ci dovrebbe essere almeno una regola imposta per Carrello",
End Date,Data di Fine,
End Date can not be less than Start Date,La data di fine non può essere inferiore alla data di inizio,
End Date cannot be before Start Date.,La data di fine non può essere precedente alla data di inizio.,
End Year,Fine anno,
End Year cannot be before Start Year,Fine anno non può essere prima di inizio anno,
End on,Finisci,
End time cannot be before start time,L&#39;ora di fine non può essere precedente all&#39;ora di inizio,
Ends On date cannot be before Next Contact Date.,La data di fine non può essere precedente alla data del contatto successivo.,
Energy,Energia,
Engineer,Ingegnere,
Enough Parts to Build,Parti abbastanza per costruire,
Enroll,Iscriversi,
Enrolling student,studente iscrivendosi,
Enrolling students,Iscrivendo studenti,
Enter depreciation details,Inserire i dettagli di ammortamento,
Enter the Bank Guarantee Number before submittting.,Inserire il numero di garanzia bancaria prima di inviarlo.,
Enter the name of the Beneficiary before submittting.,Inserire il nome del Beneficiario prima di inviarlo.,
Enter the name of the bank or lending institution before submittting.,Immettere il nome della banca o dell&#39;istituto di credito prima di inviarlo.,
Enter value betweeen {0} and {1},Inserisci il valore tra {0} e {1},
Entertainment & Leisure,Intrattenimento e tempo libero,
Entertainment Expenses,Spese di rappresentanza,
Equity,Equità,
Error Log,Registro errori,
Error evaluating the criteria formula,Errore durante la valutazione della formula dei criteri,
Error in formula or condition: {0},Errore nella formula o una condizione: {0},
Error: Not a valid id?,Errore: Non è un documento di identità valido?,
Estimated Cost,Costo stimato,
Evaluation,Valutazione,
"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Anche se ci sono più regole sui prezzi con la priorità più alta, si applicano quindi le seguenti priorità interne:",
Event,Evento,
Event Location,Posizione dell&#39;evento,
Event Name,Nome dell&#39;evento,
Exchange Gain/Loss,Guadagno Exchange / Perdita,
Exchange Rate Revaluation master.,Master di rivalutazione del tasso di cambio.,
Exchange Rate must be same as {0} {1} ({2}),Tasso di cambio deve essere uguale a {0} {1} ({2}),
Excise Invoice,Accise Fattura,
Execution,Esecuzione,
Executive Search,executive Search,
Expand All,Espandi tutto,
Expected Delivery Date,Data di Consegna Confermata,
Expected Delivery Date should be after Sales Order Date,La data di consegna confermata dovrebbe essere successiva alla data dell'Ordine di Vendita,
Expected End Date,Data di chiusura prevista,
Expected Hrs,Ore previste,
Expected Start Date,Data di inizio prevista,
Expense,Spesa,
Expense / Difference account ({0}) must be a 'Profit or Loss' account,Expense / account Differenza ({0}) deve essere un 'utile o perdita' conto,
Expense Account,Conto uscite,
Expense Claim,Rimborso spese,
Expense Claim for Vehicle Log {0},Rimborso spese per veicolo Log {0},
Expense Claim {0} already exists for the Vehicle Log,Rimborso spese {0} esiste già per il registro di veicoli,
Expense Claims,Rimborsi spese,
Expense account is mandatory for item {0},Conto spese è obbligatoria per l'elemento {0},
Expenses,Spese,
Expenses Included In Asset Valuation,Spese incluse nella valutazione delle attività,
Expenses Included In Valuation,Spese incluse nella valorizzazione,
Expired Batches,Lotti scaduti,
Expires On,Scade il,
Expiring On,In scadenza,
Expiry (In Days),Scadenza (in giorni),
Explore,Esplora,
Export E-Invoices,Esporta fatture elettroniche,
Extra Large,Extra Large,
Extra Small,Extra Small,
Fail,Fallire,
Failed,Impossibile,
Failed to create website,Impossibile creare il sito web,
Failed to install presets,Impossibile installare i preset,
Failed to login,Impossibile accedere,
Failed to setup company,Impossibile impostare la società,
Failed to setup defaults,Impostazione predefinita non riuscita,
Failed to setup post company fixtures,Non è stato possibile impostare i dispositivi aziendali,
Fax,Fax,
Fee,tassa,
Fee Created,Fee creata,
Fee Creation Failed,Creazione dei diritti non riuscita,
Fee Creation Pending,Fee Creation In attesa,
Fee Records Created - {0},Records Fee Creato - {0},
Feedback,Riscontri,
Fees,tasse,
Female,Donna,
Fetch Data,Recupera dati,
Fetch Subscription Updates,Recupera gli aggiornamenti delle iscrizioni,
Fetch exploded BOM (including sub-assemblies),Recupera BOM esplosa (sotto unità incluse ),
Fetching records......,Recupero record ...,
Field Name,Nome Campo,
Fieldname,Nome del campo,
Fields,Campi,
Fill the form and save it,Compila il modulo e salva,
Filter Employees By (Optional),Filtra dipendenti per (facoltativo),
"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Fila campi riga n. {0}: il nome campo <b>{1}</b> deve essere di tipo &quot;Collegamento&quot; o &quot;Selezione multipla tabella&quot;,
Filter Total Zero Qty,Qtà filtro totale zero,
Finance Book,Libro delle finanze,
Financial / accounting year.,Esercizio finanziario / contabile .,
Financial Services,Servizi finanziari,
Financial Statements,Bilancio d&#39;esercizio,
Financial Year,Anno finanziario,
Finish,finire,
Finished Good,Finito Bene,
Finished Good Item Code,Codice articolo finito,
Finished Goods,Beni finiti,
Finished Item {0} must be entered for Manufacture type entry,Voce Finito {0} deve essere inserito per il tipo di fabbricazione ingresso,
Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,La quantità di prodotto finito <b>{0}</b> e la quantità di prodotto <b>{1}</b> non possono essere diversi,
First Name,Nome,
"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","Il regime fiscale è obbligatorio, imposta gentilmente il regime fiscale nella società {0}",
Fiscal Year,Anno fiscale,
Fiscal Year End Date should be one year after Fiscal Year Start Date,La data di fine dell&#39;anno fiscale deve essere un anno dopo la data di inizio dell&#39;anno fiscale,
Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Anno fiscale Data di inizio e Data Fine dell'anno fiscale sono già impostati nel Fiscal Year {0},
Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,La data di inizio dell&#39;anno fiscale deve essere un anno prima della data di fine dell&#39;anno fiscale,
Fiscal Year {0} does not exist,Anno fiscale {0} non esiste,
Fiscal Year {0} is required,Fiscal Year {0} è richiesto,
Fiscal Year {0} not found,Anno fiscale {0} non trovato,
Fixed Asset,Asset fisso,
Fixed Asset Item must be a non-stock item.,Un Bene Strumentale  deve essere un Bene Non di Magazzino,
Fixed Assets,immobilizzazioni,
Following Material Requests have been raised automatically based on Item's re-order level,A seguito di richieste di materiale sono state sollevate automaticamente in base al livello di riordino della Voce,
Following accounts might be selected in GST Settings:,Gli account seguenti potrebbero essere selezionati nelle impostazioni GST:,
Following course schedules were created,Sono stati creati i seguenti programmi del corso,
Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,L&#39;articolo seguente {0} non è contrassegnato come articolo {1}. Puoi abilitarli come {1} elemento dal suo master Item,
Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,Gli articoli seguenti {0} non sono contrassegnati come articolo {1}. Puoi abilitarli come {1} elemento dal suo master Item,
Food,Cibo,
"Food, Beverage & Tobacco","Prodotti alimentari , bevande e tabacco",
For,Per,
"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.","Per &#39;prodotto Bundle&#39;, Warehouse, numero di serie e Batch No sarà considerata dal &#39;Packing List&#39; tavolo. Se Magazzino e Batch No sono gli stessi per tutti gli elementi di imballaggio per un elemento qualsiasi &#39;Product Bundle&#39;, questi valori possono essere inseriti nella tabella principale elemento, i valori verranno copiati a &#39;Packing List&#39; tavolo.",
For Employee,Per Dipendente,
For Quantity (Manufactured Qty) is mandatory,Per quantità (Quantità Prodotte) è obbligatorio,
For Supplier,per Fornitore,
For Warehouse,Per magazzino,
For Warehouse is required before Submit,Prima della conferma inserire per Magazzino,
"For an item {0}, quantity must be negative number","Per un articolo {0}, la quantità deve essere un numero negativo",
"For an item {0}, quantity must be positive number","Per un articolo {0}, la quantità deve essere un numero positivo",
"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry","Per la scheda lavoro {0}, è possibile effettuare solo l&#39;immissione di magazzino del tipo &quot;Trasferimento materiale per produzione&quot;",
"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Per riga {0} a {1}. Per includere {2} a tasso Item, righe {3} deve essere inclusa anche",
For row {0}: Enter Planned Qty,Per la riga {0}: inserisci qtà pianificata,
"For {0}, only credit accounts can be linked against another debit entry","Per {0}, solo i conti di credito possono essere collegati contro un'altra voce di addebito",
"For {0}, only debit accounts can be linked against another credit entry","Per {0}, solo gli account di debito possono essere collegati contro un'altra voce di credito",
Form View,Vista forma,
Forum Activity,Attività del forum,
Free item code is not selected,Il codice articolo gratuito non è selezionato,
Freight and Forwarding Charges,Freight Forwarding e spese,
Frequency,Frequenza,
Friday,Venerdì,
From,Da,
From Address 1,Dall&#39;indirizzo 1,
From Address 2,Dall&#39;indirizzo 2,
From Currency and To Currency cannot be same,Da Valuta e A Valuta non possono essere gli stessi,
From Date and To Date lie in different Fiscal Year,Dalla data e dalla data si trovano in diversi anni fiscali,
From Date cannot be greater than To Date,Dalla data non può essere maggiore di A Data,
From Date must be before To Date,Da Data deve essere prima di A Data,
From Date should be within the Fiscal Year. Assuming From Date = {0},Dalla data deve essere entro l'anno fiscale. Assumendo Dalla Data = {0},
From Date {0} cannot be after employee's relieving Date {1},Dalla data {0} non può essere successiva alla Data di rilascio del dipendente {1},
From Date {0} cannot be before employee's joining Date {1},Dalla data {0} non può essere precedente alla data di iscrizione del dipendente {1},
From Datetime,Da datetime,
From Delivery Note,Da Documento di Trasporto,
From Fiscal Year,Dall&#39;anno fiscale,
From GSTIN,Da GSTIN,
From Party Name,Dal nome del partito,
From Pin Code,Dal codice pin,
From Place,Dal luogo,
From Range has to be less than To Range,Da Campo deve essere inferiore al campo,
From State,Da stato,
From Time,Da Periodo,
From Time Should Be Less Than To Time,Dal tempo dovrebbe essere inferiore al tempo,
From Time cannot be greater than To Time.,Da tempo non può essere superiore al tempo.,
"From a supplier under composition scheme, Exempt and Nil rated","Da un fornitore in regime di composizione, esente e zero",
From and To dates required,Data Inizio e Fine sono obbligatorie,
From date can not be less than employee's joining date,Dalla data non può essere inferiore alla data di iscrizione del dipendente,
From value must be less than to value in row {0},Dal valore deve essere inferiore al valore nella riga {0},
From {0} | {1} {2},Da {0} | {1} {2},
Fuel Price,Prezzo Carburante,
Fuel Qty,Quantità di carburante,
Fulfillment,Compimento,
Full,Pieno,
Full Name,Nome Completo,
Full-time,Tempo pieno,
Fully Depreciated,completamente ammortizzato,
Furnitures and Fixtures,Mobili e infissi,
"Further accounts can be made under Groups, but entries can be made against non-Groups","Ulteriori conti possono essere fatti in Gruppi, ma le voci possono essere fatte contro i non-Gruppi",
Further cost centers can be made under Groups but entries can be made against non-Groups,Ulteriori centri di costo possono essere fatte in Gruppi ma le voci possono essere fatte contro i non-Gruppi,
Further nodes can be only created under 'Group' type nodes,Ulteriori nodi possono essere creati solo sotto i nodi di tipo ' Gruppo ',
Future dates not allowed,Date future non consentite,
GSTIN,GSTIN,
GSTR3B-Form,GSTR3B-Form,
Gain/Loss on Asset Disposal,Profitti/Perdite su Asset in smaltimento,
Gantt Chart,Diagramma di Gantt,
Gantt chart of all tasks.,Diagramma di Gantt per tutte le attività.,
Gender,Genere,
General,Generale,
General Ledger,Contabilità Generale,
Generate Material Requests (MRP) and Work Orders.,Genera richieste materiali (MRP) e ordini di lavoro.,
Generate Secret,Genera segreto,
Get Details From Declaration,Ottieni dettagli dalla dichiarazione,
Get Employees,Ottieni dipendenti,
Get Invocies,Ottieni invocazioni,
Get Invoices,Ottieni fatture,
Get Invoices based on Filters,Ottieni fatture in base ai filtri,
Get Items from BOM,Recupera elementi da Distinta Base,
Get Items from Healthcare Services,Ottieni articoli dai servizi sanitari,
Get Items from Prescriptions,Ottieni oggetti da Prescrizioni,
Get Items from Product Bundle,Ottenere elementi dal pacchetto di prodotti,
Get Suppliers,Ottenere Fornitori,
Get Suppliers By,Ottenere fornitori di,
Get Updates,Ricevi aggiornamenti,
Get customers from,Ottieni clienti da,
Get from Patient Encounter,Ottenere dall&#39;incontro paziente,
Getting Started,Iniziare,
GitHub Sync ID,ID di sincronizzazione GitHub,
Global settings for all manufacturing processes.,Impostazioni globali per tutti i processi produttivi.,
Go to the Desktop and start using ERPNext,Vai al desktop e inizia a usare ERPNext,
GoCardless SEPA Mandate,Mandato GoCardless SEPA,
GoCardless payment gateway settings,Impostazioni del gateway di pagamento GoCardless,
Goal and Procedure,Obiettivo e procedura,
Goals cannot be empty,Obiettivi non possono essere vuoti,
Goods In Transit,Merci in transito,
Goods Transferred,Beni trasferiti,
Goods and Services Tax (GST India),Tasse sui beni e servizi (GST India),
Goods are already received against the outward entry {0},Le merci sono già ricevute contro la voce in uscita {0},
Government,Governo,
Grand Total,Somma totale,
Grant,Concedere,
Grant Application,Richiesta di sovvenzione,
Grant Leaves,Concedere ferie,
Grant information.,Concedere informazioni,
Grocery,drogheria,
Gross Pay,Paga lorda,
Gross Profit,Utile lordo,
Gross Profit %,Utile lordo %,
Gross Profit / Loss,Utile lordo / Perdita,
Gross Purchase Amount,Importo Acquisto Gross,
Gross Purchase Amount is mandatory,Gross Importo acquisto è obbligatoria,
Group by Account,Raggruppa per Conto,
Group by Party,Raggruppa per partito,
Group by Voucher,Raggruppa per voucher,
Group by Voucher (Consolidated),Raggruppa per buono (consolidato),
Group node warehouse is not allowed to select for transactions,magazzino nodo di gruppo non è permesso di selezionare per le transazioni,
Group to Non-Group,Gruppo di Non-Group,
Group your students in batches,Gruppo tuoi studenti in batch,
Groups,gruppi,
Guardian1 Email ID,Email ID Guardian1,
Guardian1 Mobile No,Guardian1 Mobile No,
Guardian1 Name,Nome Guardian1,
Guardian2 Email ID,Email ID Guardian2,
Guardian2 Mobile No,Guardian2 Mobile No,
Guardian2 Name,Nome Guardian2,
Guest,ospite,
HR Manager,HR Manager,
HSN,HSN,
HSN/SAC,HSN / SAC,
Half Day,Mezza Giornata,
Half Day Date is mandatory,La mezza giornata è obbligatoria,
Half Day Date should be between From Date and To Date,La data di mezza giornata deve essere compresa da Data a Data,
Half Day Date should be in between Work From Date and Work End Date,La data di mezza giornata deve essere compresa tra la data di fine lavoro e la data di fine lavoro,
Half Yearly,Semestrale,
Half day date should be in between from date and to date,La data di mezza giornata dovrebbe essere tra la data e la data,
Half-Yearly,Semestrale,
Hardware,Hardware,
Head of Marketing and Sales,Responsabile marketing e vendite,
Health Care,Assistenza sanitaria,
Healthcare,Assistenza sanitaria,
Healthcare (beta),Sanità (beta),
Healthcare Practitioner,Operatore sanitario,
Healthcare Practitioner not available on {0},Healthcare Practitioner non disponibile su {0},
Healthcare Practitioner {0} not available on {1},Healthcare Practitioner {0} non disponibile su {1},
Healthcare Service Unit,Unità di assistenza sanitaria,
Healthcare Service Unit Tree,Albero delle unità di servizio sanitario,
Healthcare Service Unit Type,Tipo di unità di assistenza sanitaria,
Healthcare Services,Servizi di assistenza sanitaria,
Healthcare Settings,Impostazioni sanitarie,
Hello,Ciao,
Help Results for,Aiuta i risultati per,
High,Alto,
High Sensitivity,Alta sensibilità,
Hold,Mantieni,
Hold Invoice,Mantieni fattura,
Holiday,Vacanza,
Holiday List,Elenco vacanza,
Hotel Rooms of type {0} are unavailable on {1},Le camere dell&#39;hotel di tipo {0} non sono disponibili in {1},
Hotels,Alberghi,
Hourly,ogni ora,
Hours,Ore,
House rent paid days overlapping with {0},Giorni di affitto della casa pagati sovrapposti con {0},
House rented dates required for exemption calculation,Date di affitto della casa richieste per il calcolo dell&#39;esenzione,
House rented dates should be atleast 15 days apart,Le date in affitto della casa dovrebbero essere di almeno 15 giorni di distanza,
How Pricing Rule is applied?,Come viene applicata la Regola Tariffaria?,
Hub Category,Categoria Hub,
Hub Sync ID,ID di sincronizzazione Hub,
Human Resource,Risorsa Umana,
Human Resources,Risorse umane,
IFSC Code,Codice IFSC,
IGST Amount,Quantità IGST,
IP Address,Indirizzo IP,
ITC Available (whether in full op part),ITC disponibile (sia nella parte operativa completa),
ITC Reversed,ITC invertito,
Identifying Decision Makers,Identificare i Decision Maker,
"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Se l&#39;opzione Auto Opt In è selezionata, i clienti saranno automaticamente collegati al Programma fedeltà in questione (salvo)",
"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Se più regole dei prezzi continuano a prevalere, gli utenti sono invitati a impostare manualmente la priorità per risolvere il conflitto.",
"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.","Se viene selezionata la regola di determinazione dei prezzi per &quot;Tariffa&quot;, sovrascriverà il listino prezzi. Prezzi Il tasso di regola è il tasso finale, quindi non è necessario applicare ulteriori sconti. Pertanto, nelle transazioni come Ordine di vendita, Ordine di acquisto, ecc., Verrà recuperato nel campo &quot;Tariffa&quot;, piuttosto che nel campo &quot;Tariffa di listino prezzi&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.","Se due o più regole sui prezzi sono trovate delle condizioni di cui sopra, viene applicata la priorità. La priorità è un numero compreso tra 0 a 20, mentre il valore di default è pari a zero (vuoto). Numero maggiore significa che avrà la precedenza se ci sono più regole sui prezzi con le stesse condizioni.",
"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.","Se la scadenza è illimitata per i Punti Fedeltà, mantenere la Durata Scadenza vuota o 0.",
"If you have any questions, please get back to us.","Se avete domande, si prega di tornare a noi.",
Ignore Existing Ordered Qty,Ignora quantità ordinata esistente,
Image,Immagine,
Image View,Visualizza immagine,
Import Data,Importa dati,
Import Day Book Data,Importa i dati del day book,
Import Log,Log Importazione,
Import Master Data,Importa dati anagrafici,
Import in Bulk,Importazione Collettiva,
Import of goods,Importazione di beni,
Import of services,Importazione di servizi,
Importing Items and UOMs,Importazione di articoli e UOM,
Importing Parties and Addresses,Parti e indirizzi importatori,
In Maintenance,In manutenzione,
In Production,In produzione,
In Qty,Qtà,
In Stock Qty,Qtà in Stock,
In Stock: ,In Stock:,
In Value,In valore,
"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","Nel caso di un programma multilivello, i clienti verranno assegnati automaticamente al livello interessato come da loro speso",
Inactive,Inattivo,
Incentives,Incentivi,
Include Default Book Entries,Includi voci di libro predefinite,
Include Exploded Items,Includi elementi esplosi,
Include POS Transactions,Includi transazioni POS,
Include UOM,Includi UOM,
Included in Gross Profit,Incluso nell&#39;utile lordo,
Income,Proventi,
Income Account,Conto Proventi,
Income Tax,Tassazione Proventi,
Incoming,in arrivo,
Incoming Rate,Tasso in ingresso,
Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Numero della scrittura in contabilità generale non corretto. Potresti aver selezionato un conto sbagliato nella transazione.,
Increment cannot be 0,Incremento non può essere 0,
Increment for Attribute {0} cannot be 0,Incremento per attributo {0} non può essere 0,
Indirect Expenses,Spese indirette,
Indirect Income,Proventi indiretti,
Individual,Individuale,
Ineligible ITC,ITC non idoneo,
Initiated,Iniziato,
Inpatient Record,Record ospedaliero,
Insert,Inserire,
Installation Note,Nota Installazione,
Installation Note {0} has already been submitted,Nota Installazione {0} già inserita,
Installation date cannot be before delivery date for Item {0},La data di installazione non può essere precedente alla data di consegna per l'Articolo {0},
Installing presets,Installare i preset,
Institute Abbreviation,Abbreviazione Institute,
Institute Name,Nome Istituto,
Instructor,Istruttore,
Insufficient Stock,insufficiente della,
Insurance Start date should be less than Insurance End date,Assicurazione Data di inizio deve essere inferiore a Assicurazione Data Fine,
Integrated Tax,Imposta integrata,
Inter-State Supplies,Forniture interstatali,
Interest Amount,Ammontare Interessi,
Interests,Interessi,
Intern,Stagista,
Internet Publishing,Internet Publishing,
Intra-State Supplies,Forniture intra-statali,
Introduction,Presentazione,
Invalid Attribute,Attributo non valido,
Invalid Blanket Order for the selected Customer and Item,Ordine di copertina non valido per il cliente e l&#39;articolo selezionati,
Invalid Company for Inter Company Transaction.,Azienda non valida per transazione interaziendale.,
Invalid GSTIN! A GSTIN must have 15 characters.,GSTIN non valido! Un GSTIN deve contenere 15 caratteri.,
Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,GSTIN non valido! Le prime 2 cifre di GSTIN devono corrispondere al numero di stato {0}.,
Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,GSTIN non valido! L&#39;input che hai inserito non corrisponde al formato di GSTIN.,
Invalid Posting Time,Tempo di pubblicazione non valido,
Invalid attribute {0} {1},attributo non valido {0} {1},
Invalid quantity specified for item {0}. Quantity should be greater than 0.,Quantità non valido specificato per l'elemento {0}. La quantità dovrebbe essere maggiore di 0.,
Invalid reference {0} {1},Riferimento non valido {0} {1},
Invalid {0},Non valido {0},
Invalid {0} for Inter Company Transaction.,{0} non valido per Transazione interaziendale.,
Invalid {0}: {1},Non valido {0}: {1},
Inventory,Inventario,
Investment Banking,Investment Banking,
Investments,investimenti,
Invoice,Fattura,
Invoice Created,Fattura creata,
Invoice Discounting,Sconti fattura,
Invoice Patient Registration,Registrazione pazienti fattura,
Invoice Posting Date,Fattura Data Pubblicazione,
Invoice Type,Tipo Fattura,
Invoice already created for all billing hours,Fattura già creata per tutte le ore di fatturazione,
Invoice can't be made for zero billing hour,La fattura non può essere effettuata per zero ore di fatturazione,
Invoice {0} no longer exists,La fattura {0} non esiste più,
Invoiced,fatturato,
Invoiced Amount,Importo fatturato,
Invoices,Fatture,
Invoices for Costumers.,Fatture per i clienti.,
Inward supplies from ISD,Rifornimenti interni da ISD,
Inward supplies liable to reverse charge (other than 1 & 2 above),Forniture interne soggette a inversione contabile (diverse da 1 e 2 sopra),
Is Active,È attivo,
Is Default,È Default,
Is Existing Asset,È esistente Asset,
Is Frozen,È congelato,
Is Group,E' un Gruppo,
Issue,Problema,
Issue Material,Problema Materiale,
Issued,Emesso,
Issues,Problemi,
It is needed to fetch Item Details.,E &#39;necessario per recuperare Dettagli elemento.,
Item,Articolo,
Item 1,Articolo 1,
Item 2,Articolo 2,
Item 3,Articolo 3,
Item 4,Articolo 4,
Item 5,Articolo 5,
Item Cart,Prodotto Carrello,
Item Code,Codice articolo,
Item Code cannot be changed for Serial No.,Codice Articolo non può essere modificato per N. di Serie,
Item Code required at Row No {0},Codice articolo richiesto alla riga n. {0},
Item Description,Descrizione Articolo,
Item Group,Gruppo Articoli,
Item Group Tree,Struttura Gruppo Articoli,
Item Group not mentioned in item master for item {0},Gruppo Articoli non menzionato nell'Articolo principale per l'Articolo {0},
Item Name,Nome dell&#39;elemento,
Item Price added for {0} in Price List {1},Prezzo Articolo aggiunto per {0} in Listino Prezzi {1},
"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Il prezzo dell&#39;articolo viene visualizzato più volte in base a listino prezzi, fornitore / cliente, valuta, articolo, UOM, Qtà e date.",
Item Price updated for {0} in Price List {1},Prezzo Articolo aggiornato per {0} nel Listino {1},
Item Row {0}: {1} {2} does not exist in above '{1}' table,Riga articolo {0}: {1} {2} non esiste nella precedente tabella &#39;{1}&#39;,
Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Voce fiscale Row {0} deve avere un account di tipo fiscale o di reddito o spese o addebitabile,
Item Template,Modello di oggetto,
Item Variant Settings,Impostazioni delle varianti dell&#39;elemento,
Item Variant {0} already exists with same attributes,Prodotto Modello {0} esiste già con gli stessi attributi,
Item Variants,Varianti Voce,
Item Variants updated,Varianti oggetto aggiornate,
Item has variants.,Articolo ha varianti.,
Item must be added using 'Get Items from Purchase Receipts' button,L'oggetto deve essere aggiunto utilizzando 'ottenere elementi dal Receipts Purchase pulsante,
Item valuation rate is recalculated considering landed cost voucher amount,Voce tasso di valorizzazione viene ricalcolato considerando atterrato importo buono costo,
Item variant {0} exists with same attributes,Variante item {0} esiste con le stesse caratteristiche,
Item {0} does not exist,L'articolo {0} non esiste,
Item {0} does not exist in the system or has expired,L'articolo {0} non esiste nel sistema o è scaduto,
Item {0} has already been returned,L'articolo {0} è già stato restituito,
Item {0} has been disabled,L'articolo {0} è stato disabilitato,
Item {0} has reached its end of life on {1},L'articolo {0} ha raggiunto la fine della sua vita su {1},
Item {0} ignored since it is not a stock item,Articolo {0} ignorato poiché non è in Giacenza,
"Item {0} is a template, please select one of its variants","L'articolo {0} è un modello, si prega di selezionare una delle sue varianti",
Item {0} is cancelled,L'articolo {0} è annullato,
Item {0} is disabled,Articolo {0} è disattivato,
Item {0} is not a serialized Item,L'articolo {0} non è un elemento serializzato,
Item {0} is not a stock Item,L'articolo {0} non è in Giagenza,
Item {0} is not active or end of life has been reached,L'articolo {0} non è attivo o la fine della vita è stato raggiunta,
Item {0} is not setup for Serial Nos. Check Item master,L'articolo {0} non ha Numeri di Serie. Verifica l'Articolo Principale,
Item {0} is not setup for Serial Nos. Column must be blank,L'articolo {0} non ha Numeri di Serie. La colonna deve essere vuota,
Item {0} must be a Fixed Asset Item,Voce {0} deve essere un asset Articolo fisso,
Item {0} must be a Sub-contracted Item,L'Articolo {0} deve essere di un sub-contratto,
Item {0} must be a non-stock item,Voce {0} deve essere un elemento non-azione,
Item {0} must be a stock Item,L'Articolo {0} deve essere in Giacenza,
Item {0} not found,Articolo {0} non trovato,
Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Articolo {0} non trovato tra le 'Materie Prime Fornite' tabella in Ordine di Acquisto {1},
Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Articolo {0}: Qtà ordinata {1} non può essere inferiore a Qtà minima per ordine {2} (definita per l'Articolo).,
Item: {0} does not exist in the system,Voce: {0} non esiste nel sistema,
Items,Articoli,
Items Filter,Filtro articoli,
Items and Pricing,Oggetti e prezzi,
Items for Raw Material Request,Articoli per richiesta materie prime,
Job Card,Job Card,
Job Description,Descrizione del lavoro,
Job Offer,Offerta di lavoro,
Job card {0} created,Job card {0} creato,
Jobs,Posizioni,
Join,Aderire,
Journal Entries {0} are un-linked,Journal Entries {0} sono un-linked,
Journal Entry,Registrazione Contabile,
Journal Entry {0} does not have account {1} or already matched against other voucher,La Scrittura Contabile {0} non ha conto {1} o già confrontato con un altro buono,
Kanban Board,Kanban Board,
Key Reports,Rapporti chiave,
LMS Activity,Attività LMS,
Lab Test,Test di laboratorio,
Lab Test Report,Report dei test di laboratorio,
Lab Test Sample,Campione di prova da laboratorio,
Lab Test Template,Modello di prova del laboratorio,
Lab Test UOM,Lab Test UOM,
Lab Tests and Vital Signs,Test di laboratorio e segni vitali,
Lab result datetime cannot be before testing datetime,La data e l'ora del risultato di laboratorio non possono essere prima della data e dell'ora del test,
Lab testing datetime cannot be before collection datetime,Test di laboratorio datetime non può essere prima della raccolta datetime,
Label,Etichetta,
Laboratory,Laboratorio,
Language Name,Nome lingua,
Large,Grande,
Last Communication,Ultima comunicazione,
Last Communication Date,Ultima data di comunicazione,
Last Name,Cognome,
Last Order Amount,Ultimo ammontare ordine,
Last Order Date,Ultima data di ordine,
Last Purchase Price,Ultimo prezzo di acquisto,
Last Purchase Rate,Ultima tasso di acquisto,
Latest,ultimo,
Latest price updated in all BOMs,Ultimo prezzo aggiornato in tutte le distinte base,
Lead,Lead,
Lead Count,Conto di piombo,
Lead Owner,Responsabile Lead,
Lead Owner cannot be same as the Lead,Il proprietario del Lead non può essere il Lead stesso,
Lead Time Days,Giorni per la Consegna,
Lead to Quotation,Lead a Preventivo,
"Leads help you get business, add all your contacts and more as your leads","I Leads ti aiutano ad incrementare il tuo business, aggiungi tutti i tuoi contatti come tuoi leads",
Learn,Guide,
Leave Approval Notification,Lascia la notifica di approvazione,
Leave Blocked,Lascia Bloccato,
Leave Encashment,lasciare Incasso,
Leave Management,Lascia Gestione,
Leave Status Notification,Invia notifica di stato,
Leave Type,Tipo di Permesso,
Leave Type is madatory,Lasciare il tipo è pazzesco,
Leave Type {0} cannot be allocated since it is leave without pay,Lascia tipo {0} non può essere assegnato in quanto si lascia senza paga,
Leave Type {0} cannot be carry-forwarded,Lascia tipo {0} non può essere trasmessa carry-,
Leave Type {0} is not encashable,Lasciare il tipo {0} non è incassabile,
Leave Without Pay,Lascia senza stipendio,
Leave and Attendance,Permessi e Presenze,
Leave application {0} already exists against the student {1},Lascia l&#39;applicazione {0} già esistente contro lo studente {1},
"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Ferie non possono essere assegnati prima {0}, come equilibrio congedo è già stato inoltrato carry-in futuro record di assegnazione congedo {1}",
"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Lasciare non può essere applicata / annullato prima {0}, come equilibrio congedo è già stato inoltrato carry-in futuro record di assegnazione congedo {1}",
Leave of type {0} cannot be longer than {1},Lascia di tipo {0} non può essere superiore a {1},
Leave the field empty to make purchase orders for all suppliers,Lascia vuoto il campo per effettuare ordini di acquisto per tutti i fornitori,
Leaves,Le foglie,
Leaves Allocated Successfully for {0},Permessi allocati con successo per {0},
Leaves has been granted sucessfully,Le ferie sono state concesse con successo,
Leaves must be allocated in multiples of 0.5,"Le ferie devono essere assegnati in multipli di 0,5",
Leaves per Year,Ferie per Anno,
Ledger,Ledger,
Legal,legale,
Legal Expenses,Spese legali,
Letter Head,Capo della Lettera,
Letter Heads for print templates.,Lettera intestazioni per modelli di stampa .,
Level,Livello,
Liability,Responsabilità,
License,Licenza,
Lifecycle,Ciclo vitale,
Limit,Limite,
Limit Crossed,limite Crossed,
Link to Material Request,Collega a Richiesta di Materiale,
List of all share transactions,Elenco di tutte le transazioni condivise,
List of available Shareholders with folio numbers,Elenco di azionisti disponibili con numeri di folio,
Loading Payment System,Caricamento del sistema di pagamento,
Loan,Prestito,
Loan Amount cannot exceed Maximum Loan Amount of {0},Importo del prestito non può superare il massimo importo del prestito {0},
Loan Application,Domanda di prestito,
Loan Management,Gestione dei prestiti,
Loan Repayment,Rimborso del prestito,
Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,La data di inizio del prestito e il periodo del prestito sono obbligatori per salvare lo sconto fattura,
Loans (Liabilities),Prestiti (passività ),
Loans and Advances (Assets),Crediti ( Assets ),
Local,Locale,
Log,Log,
Logs for maintaining sms delivery status,I registri per il mantenimento dello stato di consegna sms,
Lost,Perso,
Lost Reasons,Ragioni perse,
Low,Basso,
Low Sensitivity,Sensibilità bassa,
Lower Income,Reddito più basso,
Loyalty Amount,Importo fedeltà,
Loyalty Point Entry,Punto fedeltà,
Loyalty Points,Punti fedeltà,
"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","I Punti Fedeltà saranno calcolati a partire dal totale speso (tramite la Fattura di vendita), in base al fattore di raccolta menzionato.",
Loyalty Points: {0},Punti fedeltà: {0},
Loyalty Program,Programma fedeltà,
Main,Principale,
Maintenance,Manutenzione,
Maintenance Log,Registro di manutenzione,
Maintenance Manager,Responsabile della manutenzione,
Maintenance Schedule,Programma di manutenzione,
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Programma di manutenzione non generato per tutte le voci. Rieseguire 'Genera Programma',
Maintenance Schedule {0} exists against {1},Il programma di manutenzione {0} esiste contro {1},
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Programma di manutenzione {0} deve essere cancellato prima di annullare questo ordine di vendita,
Maintenance Status has to be Cancelled or Completed to Submit,Lo stato di manutenzione deve essere annullato o completato per inviare,
Maintenance User,Manutenzione utente,
Maintenance Visit,Visita di manutenzione,
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,La manutenzione {0} deve essere cancellata prima di annullare questo ordine di vendita,
Maintenance start date can not be before delivery date for Serial No {0},La data di inizio manutenzione non può essere precedente alla data di consegna del Nº di Serie {0},
Make,Fare,
Make Payment,Effettua un  Pagamento,
Make project from a template.,Crea progetto da un modello.,
Making Stock Entries,Creazione scorte,
Male,Maschio,
Manage Customer Group Tree.,Gestire cliente con raggruppamento ad albero,
Manage Sales Partners.,Gestire punti vendita,
Manage Sales Person Tree.,Gestire venditori ad albero,
Manage Territory Tree.,Gestire territorio ad albero,
Manage your orders,Gestisci i tuoi ordini,
Management,Amministrazione,
Manager,Manager,
Managing Projects,Gestione progetti,
Managing Subcontracting,Gestione conto lavoro / terzista,
Mandatory,Obbligatorio,
Mandatory field - Academic Year,Campo obbligatorio - Anno accademico,
Mandatory field - Get Students From,Campo obbligatorio - Prendi gli studenti da,
Mandatory field - Program,Campo obbligatorio - Programma,
Manufacture,Produzione,
Manufacturer,Produttore,
Manufacturer Part Number,Codice articolo Produttore,
Manufacturing,Produzione,
Manufacturing Quantity is mandatory,La quantità da produrre è obbligatoria,
Mapping,Mappatura,
Mapping Type,Tipo di mapping,
Mark Absent,Contrassegna come Assente,
Mark Attendance,Segna la presenza,
Mark Half Day,Segna come Mezza giornata,
Mark Present,Segna come Presente,
Marketing,Marketing,
Marketing Expenses,Spese di marketing,
Marketplace,Mercato,
Marketplace Error,Errore del Marketplace,
Masters,Principali,
Match Payments with Invoices,Partita pagamenti con fatture,
Match non-linked Invoices and Payments.,Partita Fatture non collegati e pagamenti.,
Material,Materiale,
Material Consumption,Consumo di materiale,
Material Consumption is not set in Manufacturing Settings.,Il consumo di materiale non è impostato nelle impostazioni di produzione.,
Material Receipt,Materiale ricevuto,
Material Request,Richiesta materiale,
Material Request Date,Data richiesta materiale,
Material Request No,Richiesta materiale No,
"Material Request not created, as quantity for Raw Materials already available.","Richiesta materiale non creata, poiché quantità per materie prime già disponibile.",
Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Richiesta materiale di massimo {0} può essere fatto per la voce {1} contro ordine di vendita {2},
Material Request to Purchase Order,Richiesta materiale per ordine d&#39;acquisto,
Material Request {0} is cancelled or stopped,Richiesta materiale {0} è stato annullato o interrotto,
Material Request {0} submitted.,Richiesta materiale {0} inviata.,
Material Transfer,Trasferimento materiale,
Material Transferred,Materiale trasferito,
Material to Supplier,Materiale al Fornitore,
Max Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},L&#39;importo massimo dell&#39;esenzione non può essere superiore all&#39;importo massimo dell&#39;esenzione {0} della categoria di esenzione fiscale {1},
Max benefits should be greater than zero to dispense benefits,I benefici massimi dovrebbero essere maggiori di zero per erogare i benefici,
Max discount allowed for item: {0} is {1}%,Sconto massimo consentito per la voce: {0} {1}%,
Max: {0},Max: {0},
Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,Gli esempi massimi - {0} possono essere conservati per Batch {1} e Item {2}.,
Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,Numero massimo di campioni: {0} sono già stati conservati per il batch {1} e l&#39;articolo {2} nel batch {3}.,
Maximum amount eligible for the component {0} exceeds {1},L&#39;importo massimo ammissibile per il componente {0} supera {1},
Maximum benefit amount of component {0} exceeds {1},L&#39;importo massimo del vantaggio del componente {0} supera {1},
Maximum benefit amount of employee {0} exceeds {1},L&#39;importo massimo del beneficio del dipendente {0} supera {1},
Maximum discount for Item {0} is {1}%,Lo sconto massimo per l&#39;articolo {0} è {1}%,
Maximum leave allowed in the leave type {0} is {1},Permesso massimo permesso nel tipo di permesso {0} è {1},
Medical,Medico,
Medical Code,Codice medico,
Medical Code Standard,Codice medico standard,
Medical Department,Dipartimento medico,
Medical Record,Cartella medica,
Medium,Media,
Meeting,Incontro,
Member Activity,Attività dei membri,
Member ID,ID membro,
Member Name,Nome del membro,
Member information.,Informazioni sui membri,
Membership,membri,
Membership Details,Dettagli iscrizione,
Membership ID,ID di appartenenza,
Membership Type,Tipo di abbonamento,
Memebership Details,Dettagli di estensione,
Memebership Type Details,Dettagli tipo di unità,
Merge,Unisci,
Merge Account,Unisci il Conto,
Merge with Existing Account,Unisci con un Conto esistente,
"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","La fusione è possibile solo se le seguenti proprietà sono le stesse in entrambi i record. E' un Gruppo, Tipo Radice, Azienda",
Message Examples,Esempi di messaggi,
Message Sent,Messaggio inviato,
Method,Metodo,
Middle Income,Reddito medio,
Middle Name,Secondo nome,
Middle Name (Optional),Secondo nome (facoltativo),
Min Amt can not be greater than Max Amt,Amt min non può essere maggiore di Amt massimo,
Min Qty can not be greater than Max Qty,La quantità Min non può essere maggiore della quantità Max,
Minimum Lead Age (Days),Età di piombo minima (giorni),
Miscellaneous Expenses,Spese varie,
Missing Currency Exchange Rates for {0},Manca valuta Tassi di cambio in {0},
Missing email template for dispatch. Please set one in Delivery Settings.,Modello di email mancante per la spedizione. Si prega di impostarne uno in Impostazioni di consegna.,
"Missing value for Password, API Key or Shopify URL","Valore mancante per Password, Chiave API o URL Shopify",
Mode of Payment,Modalità di pagamento,
Mode of Payments,Modalità di pagamento,
Mode of Transport,Modalità di trasporto,
Mode of Transportation,Modo di trasporto,
Mode of payment is required to make a payment,Modalità di pagamento è richiesto di effettuare un pagamento,
Model,Modello,
Moderate Sensitivity,Sensibilità moderata,
Monday,Lunedi,
Monthly,Mensile,
Monthly Distribution,Distribuzione mensile,
Monthly Repayment Amount cannot be greater than Loan Amount,Rimborso mensile non può essere maggiore di prestito Importo,
More,Più,
More Information,Maggiori informazioni,
More than one selection for {0} not allowed,Non è consentita più di una selezione per {0},
More...,Di Più...,
Motion Picture & Video,Motion Picture & Video,
Move,Sposta,
Move Item,Sposta articolo,
Multi Currency,Multi valuta,
Multiple Item prices.,Prezzi Articolo Multipli,
Multiple Loyalty Program found for the Customer. Please select manually.,"Sono stati trovati più Programmi Fedeltà per il Cliente. Per favore, selezionane uno manualmente.",
"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}","Più regole Prezzo esiste con stessi criteri, si prega di risolvere i conflitti tramite l&#39;assegnazione di priorità. Regole Prezzo: {0}",
Multiple Variants,Varianti multiple,
Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,esistono più esercizi per la data {0}. Si prega di impostare società l&#39;anno fiscale,
Music,Musica,
My Account,Il Mio Account,
Name error: {0},Nome errore: {0},
Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Nome del nuovo conto. Nota: Si prega di non creare account per Clienti e Fornitori,
Name or Email is mandatory,Nome o e-mail è obbligatorio,
Nature Of Supplies,Natura delle forniture,
Navigating,navigazione,
Needs Analysis,Necessita di analisi,
Negative Quantity is not allowed,Quantità negative non sono consentite,
Negative Valuation Rate is not allowed,Non è consentito un tasso di valorizzazione negativo,
Negotiation/Review,Negoziazione / Recensione,
Net Asset value as on,valore patrimoniale netto su,
Net Cash from Financing,Di cassa netto da finanziamento,
Net Cash from Investing,Di cassa netto da investimenti,
Net Cash from Operations,Cassa netto da attività,
Net Change in Accounts Payable,Variazione netta in Contabilità fornitori,
Net Change in Accounts Receivable,Variazione netta dei crediti,
Net Change in Cash,Variazione netta delle disponibilità,
Net Change in Equity,Variazione netta Patrimonio,
Net Change in Fixed Asset,Variazione netta delle immobilizzazioni,
Net Change in Inventory,Variazione netta Inventario,
Net ITC Available(A) - (B),Net ITC disponibile (A) - (B),
Net Pay,Retribuzione netta,
Net Pay cannot be less than 0,Retribuzione netta non può essere inferiore a 0,
Net Profit,Profitto netto,
Net Salary Amount,Importo salariale netto,
Net Total,Totale netto,
Net pay cannot be negative,Retribuzione netta non può essere negativa,
New Account Name,Nuovo nome account,
New Address,Nuovo indirizzo,
New BOM,Nuova Distinta Base,
New Batch ID (Optional),Nuovo ID batch (opzionale),
New Batch Qty,Nuovo Batch Qty,
New Company,Nuova Azienda,
New Cost Center Name,Nuovo nome centro di costo,
New Customer Revenue,Nuovi Ricavi Cliente,
New Customers,nuovi clienti,
New Department,Nuovo dipartimento,
New Employee,Nuovo Dipendente,
New Location,Nuova sede,
New Quality Procedure,Nuova procedura di qualità,
New Sales Invoice,Nuova fattura di vendita,
New Sales Person Name,Nome nuova persona vendite,
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Un nuovo Serial No non può avere un magazzino. Il magazzino deve essere impostato  nell'entrata giacenza o su ricevuta d'acquisto,
New Warehouse Name,Nuovo nome magazzino,
New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},Il Nuovo limite di credito è inferiore all'attuale importo dovuto dal cliente. Il limite di credito deve essere almeno {0},
New task,Nuova attività,
New {0} pricing rules are created,Vengono create nuove regole di tariffazione {0},
Newsletters,Newsletters,
Newspaper Publishers,Editori Giornali,
Next,Successivo,
Next Contact By cannot be same as the Lead Email Address,Successivo Contatto Con non può coincidere con l'email del Lead,
Next Contact Date cannot be in the past,Successivo Contattaci data non puó essere in passato,
Next Steps,Prossimi passi,
No Action,Nessuna azione,
No Customers yet!,Nessun cliente ancora!,
No Data,Dati Assenti,
No Delivery Note selected for Customer {},Nessuna nota di consegna selezionata per il cliente {},
No Employee Found,Nessun dipendente trovato,
No Item with Barcode {0},Nessun articolo con codice a barre {0},
No Item with Serial No {0},Nessun articolo con numero di serie {0},
No Items available for transfer,Nessun articolo disponibile per il trasferimento,
No Items selected for transfer,Nessun elemento selezionato per il trasferimento,
No Items to pack,Non ci sono elementi per il confezionamento,
No Items with Bill of Materials to Manufacture,Non ci sono elementi con Bill of Materials per la produzione,
No Items with Bill of Materials.,Nessun articolo con distinta materiali.,
No Permission,Nessuna autorizzazione,
No Quote,Nessuna cifra,
No Remarks,Nessun commento,
No Result to submit,Nessun risultato da presentare,
No Salary Structure assigned for Employee {0} on given date {1},Nessuna struttura retributiva assegnata al Dipendente {0} in data determinata {1},
No Staffing Plans found for this Designation,Nessun piano di personale trovato per questa designazione,
No Student Groups created.,Non sono stati creati Gruppi Studenti,
No Students in,Nessun studente dentro,
No Tax Withholding data found for the current Fiscal Year.,Nessun dato di ritenuta fiscale trovato per l&#39;anno fiscale corrente.,
No Work Orders created,Nessun ordine di lavoro creato,
No accounting entries for the following warehouses,Nessuna scritture contabili per le seguenti magazzini,
No active or default Salary Structure found for employee {0} for the given dates,Nessuna struttura attiva o stipendio predefinito trovato per dipendente {0} per le date indicate,
No contacts with email IDs found.,Nessun contatto con ID email trovato.,
No data for this period,Nessun dato per questo periodo,
No description given,Nessuna descrizione fornita,
No employees for the mentioned criteria,Nessun dipendente per i criteri indicati,
No gain or loss in the exchange rate,Nessun guadagno o perdita nel tasso di cambio,
No items listed,Nessun elemento elencato,
No items to be received are overdue,Nessun articolo da ricevere è in ritardo,
No material request created,Nessuna richiesta materiale creata,
No more updates,Nessun altro aggiornamento,
No of Interactions,No di interazioni,
No of Shares,No di azioni,
No pending Material Requests found to link for the given items.,Nessuna richiesta materiale in sospeso trovata per il collegamento per gli elementi specificati.,
No products found,Nessun prodotto trovato,
No products found.,Nessun prodotto trovato.,
No record found,Nessun record trovato,
No records found in the Invoice table,Nessun record trovato nella tabella Fattura,
No records found in the Payment table,Nessun record trovato nella tabella di Pagamento,
No replies from,Nessuna replica da,
No salary slip found to submit for the above selected criteria OR salary slip already submitted,Nessun documento retributivo scoperto da presentare per i criteri sopra menzionati OPPURE lo stipendio già presentato,
No tasks,Nessuna attività,
No time sheets,Non ci sono fogli di presenza,
No values,Nessun valore,
No {0} found for Inter Company Transactions.,Nessun {0} trovato per transazioni interaziendali.,
Non GST Inward Supplies,Forniture interne non GST,
Non Profit,Non Profit,
Non Profit (beta),Nonprofit (beta),
Non-GST outward supplies,Forniture esterne non GST,
Non-Group to Group,Non-gruppo a gruppo,
None,Nessuna,
None of the items have any change in quantity or value.,Nessuno articolo ha modifiche in termini di quantità o di valore.,
Nos,Nr,
Not Available,Non disponibile,
Not Marked,Non segnato,
Not Paid and Not Delivered,Non pagato e non spedito,
Not Permitted,Non Consentito,
Not Started,Non iniziato,
Not active,Non attivo,
Not allow to set alternative item for the item {0},Non consentire di impostare articoli alternativi per l&#39;articolo {0},
Not allowed to update stock transactions older than {0},Non è permesso aggiornare i documenti di magazzino di età superiore a {0},
Not authorized to edit frozen Account {0},Non autorizzato a modificare account congelati {0},
Not authroized since {0} exceeds limits,Non autorizzato poiché {0} supera i limiti,
Not permitted for {0},Non consentito per {0},
"Not permitted, configure Lab Test Template as required","Non consentito, configurare Lab Test Template come richiesto",
Not permitted. Please disable the Service Unit Type,Non consentito. Si prega di disabilitare il tipo di unità di servizio,
Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Nota: La data scadenza / riferimento supera i giorni ammessi per il credito dei clienti da {0} giorno (i),
Note: Item {0} entered multiple times,Nota : Articolo {0} inserito più volte,
Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,Nota : non verrà creato il Pagamento poiché non è stato specificato il Conto Bancario,
Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Nota : Il sistema non controlla over - consegna e over -booking per la voce {0} come la quantità o la quantità è 0,
Note: There is not enough leave balance for Leave Type {0},Nota : Non hai giorni sufficienti per il permesso {0},
Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Nota : Questo centro di costo è un gruppo . Non può fare scritture contabili contro i gruppi .,
Note: {0},Nota : {0},
Notes,Note,
Nothing is included in gross,Niente è incluso in lordo,
Nothing more to show.,Niente di più da mostrare.,
Nothing to change,Niente da cambiare,
Notice Period,Periodo di preavviso,
Notify Customers via Email,Invia ai clienti tramite e-mail,
Number,Numero,
Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Numero degli ammortamenti prenotata non può essere maggiore di Numero totale degli ammortamenti,
Number of Interaction,Numero di interazione,
Number of Order,Numero d'Ordine,
"Number of new Account, it will be included in the account name as a prefix","Numero del nuovo account, sarà incluso nel nome dell&#39;account come prefisso",
"Number of new Cost Center, it will be included in the cost center name as a prefix","Numero del nuovo centro di costo, sarà incluso nel nome del centro di costo come prefisso",
Number of root accounts cannot be less than 4,Il numero di account root non può essere inferiore a 4,
Odometer,Odometro,
Office Equipments,Apparecchiature per ufficio,
Office Maintenance Expenses,Spese di manutenzione dell'ufficio,
Office Rent,Affitto ufficio,
On Hold,In attesa,
On Net Total,Sul totale netto,
One customer can be part of only single Loyalty Program.,Un cliente può far parte di un solo programma fedeltà.,
Online Auctions,Aste online,
Only Leave Applications with status 'Approved' and 'Rejected' can be submitted,Solo le autorizzazioni con lo stato 'Approvato' o 'Rifiutato' possono essere confermate,
"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",Solo il candidato studente con lo stato &quot;Approvato&quot; sarà selezionato nella tabella sottostante.,
Only users with {0} role can register on Marketplace,Solo gli utenti con il ruolo {0} possono registrarsi sul Marketplace,
Open BOM {0},Apri la Distinta Base {0},
Open Item {0},Apri articolo {0},
Open Notifications,Aperte Notifiche,
Open Orders,Ordini aperti,
Open a new ticket,Apri un nuovo ticket,
Opening,Apertura,
Opening (Cr),Opening ( Cr ),
Opening (Dr),Opening ( Dr),
Opening Accounting Balance,Apertura bilancio contabile,
Opening Accumulated Depreciation,Apertura del deprezzamento accumulato,
Opening Accumulated Depreciation must be less than equal to {0},L&#39;apertura del deprezzamento accumulato deve essere inferiore uguale a {0},
Opening Balance,Saldo di apertura,
Opening Balance Equity,Apertura Balance Equità,
Opening Date and Closing Date should be within same Fiscal Year,Data e Data di chiusura di apertura dovrebbe essere entro lo stesso anno fiscale,
Opening Date should be before Closing Date,Data di apertura dovrebbe essere prima Data di chiusura,
Opening Entry Journal,Diario di apertura,
Opening Invoice Creation Tool,Strumento di Creazione di Fattura Tardiva,
Opening Invoice Item,Articolo di Fattura Tardiva,
Opening Invoices,Fatture Tardive,
Opening Invoices Summary,Riepilogo delle Fatture Tardive,
Opening Qty,Quantità di apertura,
Opening Stock,Disponibilità Iniziale,
Opening Stock Balance,Apertura Saldo delle Scorte,
Opening Value,Valore di apertura,
Opening {0} Invoice created,Apertura della {0} fattura creata,
Operation,Operazione,
Operation Time must be greater than 0 for Operation {0},Tempo di funzionamento deve essere maggiore di 0 per Operation {0},
"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operazione {0} più di tutte le ore di lavoro disponibili a workstation {1}, abbattere l&#39;operazione in più operazioni",
Operations,operazioni,
Operations cannot be left blank,Le operazioni non possono essere lasciati in bianco,
Opp Count,Opp Count,
Opp/Lead %,Opp / Lead%,
Opportunities,Opportunità,
Opportunities by lead source,Opportunità per fonte di piombo,
Opportunity,Opportunità,
Opportunity Amount,Importo opportunità,
Optional Holiday List not set for leave period {0},Elenco festività facoltativo non impostato per periodo di ferie {0},
"Optional. Sets company's default currency, if not specified.","Opzionale. Imposta valuta predefinita dell&#39;azienda, se non specificato.",
Optional. This setting will be used to filter in various transactions.,Facoltativo. Questa impostazione verrà utilizzato per filtrare in diverse operazioni .,
Options,Opzioni,
Order Count,Conteggio ordini,
Order Entry,Inserimento ordini,
Order Value,Valore dell&#39;ordine,
Order rescheduled for sync,Ordine riprogrammato per la sincronizzazione,
Order/Quot %,Ordine / Quota%,
Ordered,Ordinato,
Ordered Qty,Quantità ordinato,
"Ordered Qty: Quantity ordered for purchase, but not received.","Quantità ordinata: Quantità ordinato per l'acquisto , ma non ricevuto .",
Orders,Ordini,
Orders released for production.,Ordini rilasciati per la produzione.,
Organization,Organizzazione,
Organization Name,Nome organizzazione,
Other,Altro,
Other Reports,Altri Reports,
"Other outward supplies(Nil rated,Exempted)","Altre forniture esterne (esenti da zero, esenti)",
Others,Altri,
Out Qty,out Quantità,
Out Value,Valore out,
Out of Order,Guasto,
Outgoing,In partenza,
Outstanding,In sospeso,
Outstanding Amount,Importo Dovuto,
Outstanding Amt,Importo Dovuto,
Outstanding Cheques and Deposits to clear,Gli assegni in circolazione e depositi per cancellare,
Outstanding for {0} cannot be less than zero ({1}),In sospeso per {0} non può essere inferiore a zero ( {1} ),
Outward taxable supplies(zero rated),Rifornimenti imponibili esteriori (zero valutato),
Overdue,in ritardo,
Overlap in scoring between {0} and {1},Sovrapposizione nel punteggio tra {0} e {1},
Overlapping conditions found between:,Condizioni sovrapposti trovati tra :,
Owner,Proprietario,
PAN,PAN,
PO already created for all sales order items,PO già creato per tutti gli articoli dell&#39;ordine di vendita,
POS,POS,
POS Profile,POS Profilo,
POS Profile is required to use Point-of-Sale,Il profilo POS è richiesto per utilizzare Point-of-Sale,
POS Profile required to make POS Entry,POS Profilo tenuto a POS Entry,
POS Settings,Impostazioni POS,
Packed quantity must equal quantity for Item {0} in row {1},La quantità imballata deve essere uguale per l'articolo {0} sulla riga {1},
Packing Slip,Documento di trasporto,
Packing Slip(s) cancelled,Documento(i) di trasporto annullato(i),
Paid,Pagato,
Paid Amount,Importo pagato,
Paid Amount cannot be greater than total negative outstanding amount {0},L'Importo versato non può essere maggiore del totale importo dovuto negativo {0},
Paid amount + Write Off Amount can not be greater than Grand Total,Importo pagato + Importo svalutazione non può essere superiore a Totale generale,
Paid and Not Delivered,Pagato e non consegnato,
Parameter,Parametro,
Parent Item {0} must not be a Stock Item,Articolo padre {0} non deve essere un Articolo in stock,
Parents Teacher Meeting Attendance,Presenza alla riunione degli insegnanti genitori,
Part-time,A tempo parziale,
Partially Depreciated,parzialmente ammortizzato,
Partially Received,Parzialmente ricevuto,
Party,Partner,
Party Name,Nome del Partner,
Party Type,Tipo Partner,
Party Type and Party is mandatory for {0} account,Tipo di partito e festa sono obbligatori per l&#39;account {0},
Party Type is mandatory,Tipo Partner è obbligatorio,
Party is mandatory,Il Partner è obbligatorio,
Password,Password,
Password policy for Salary Slips is not set,La politica password per le buste paga non è impostata,
Past Due Date,Data già scaduta,
Patient,Paziente,
Patient Appointment,Appuntamento paziente,
Patient Encounter,Incontro paziente,
Patient not found,Paziente non trovato,
Pay Remaining,Paga rimanente,
Pay {0} {1},Paga {0} {1},
Payable,pagabile,
Payable Account,Conto pagabile,
Payable Amount,Importo da pagare,
Payment,Pagamento,
Payment Cancelled. Please check your GoCardless Account for more details,Pagamento annullato. Controlla il tuo account GoCardless per maggiori dettagli,
Payment Confirmation,Conferma di pagamento,
Payment Date,Data di pagamento,
Payment Days,Giorni di pagamento,
Payment Document,Documento di pagamento,
Payment Due Date,Scadenza,
Payment Entries {0} are un-linked,I Pagamenti {0} non sono collegati,
Payment Entry,Pagamento,
Payment Entry already exists,Il Pagamento esiste già,
Payment Entry has been modified after you pulled it. Please pull it again.,Pagamento ingresso è stato modificato dopo l'tirato. Si prega di tirare di nuovo.,
Payment Entry is already created,Il Pagamento è già stato creato,
Payment Failed. Please check your GoCardless Account for more details,Pagamento fallito. Controlla il tuo account GoCardless per maggiori dettagli,
Payment Gateway,Gateway di pagamento,
"Payment Gateway Account not created, please create one manually.","Payment Gateway account non ha creato, per favore creare uno manualmente.",
Payment Gateway Name,Nome gateway di pagamento,
Payment Mode,Modalità di pagamento,
Payment Receipt Note,Nota Ricevuta di pagamento,
Payment Request,Richiesta di pagamento,
Payment Request for {0},Richiesta di pagamento per {0},
Payment Tems,Temi di pagamento,
Payment Term,Termine di pagamento,
Payment Terms,Termini di pagamento,
Payment Terms Template,Modello di termini di pagamento,
Payment Terms based on conditions,Termini di pagamento in base alle condizioni,
Payment Type,Tipo di pagamento,
"Payment Type must be one of Receive, Pay and Internal Transfer","Tipo di pagamento deve essere uno dei Ricevere, Pay e di trasferimento interno",
Payment against {0} {1} cannot be greater than Outstanding Amount {2},Il pagamento contro {0} {1} non può essere maggiore dell'importo dovuto {2},
Payment of {0} from {1} to {2},Pagamento di {0} da {1} a {2},
Payment request {0} created,La richiesta di pagamento {0} è stata creata,
Payments,pagamenti,
Payroll,Libro paga,
Payroll Number,Numero del libro paga,
Payroll Payable,Payroll da pagare,
Payslip,Busta paga,
Pending Activities,Attività in sospeso,
Pending Amount,Importo in attesa,
Pending Leaves,Ferie in sospeso,
Pending Qty,Quantità in attesa,
Pending Quantity,Quantità in sospeso,
Pending Review,In attesa di validazione,
Pending activities for today,Attività di attesa per oggi,
Pension Funds,Fondi pensione,
Percentage Allocation should be equal to 100%,Percentuale di ripartizione dovrebbe essere pari al 100 %,
Perception Analysis,Analisi della percezione,
Period,periodo,
Period Closing Entry,Entrata Periodo di chiusura,
Period Closing Voucher,Periodo di chiusura Voucher,
Periodicity,Periodicità,
Personal Details,Dettagli personali,
Pharmaceutical,farmaceutico,
Pharmaceuticals,Farmaceutici,
Physician,Medico,
Piecework,lavoro a cottimo,
Pincode,CAP,
Place Of Supply (State/UT),Luogo di fornitura (stato / UT),
Place Order,Inserisci ordine,
Plan Name,Nome piano,
Plan for maintenance visits.,Piano per le visite di manutenzione.,
Planned Qty,Quantità prevista,
"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Qtà pianificata: quantità, per la quale l&#39;ordine di lavoro è stato aumentato, ma è in attesa di essere prodotto.",
Planning,Pianificazione,
Plants and Machineries,Impianti e Macchinari,
Please Set Supplier Group in Buying Settings.,Si prega di impostare il gruppo di fornitori in Impostazioni acquisto.,
Please add a Temporary Opening account in Chart of Accounts,Aggiungi un account di apertura temporanea nel piano dei conti,
Please add the account to root level Company - ,Aggiungi l&#39;account alla società di livello principale -,
Please add the remaining benefits {0} to any of the existing component,Si prega di aggiungere i restanti benefici {0} a qualsiasi componente esistente,
Please check Multi Currency option to allow accounts with other currency,Si prega di verificare l&#39;opzione multi valuta per consentire agli account con altra valuta,
Please click on 'Generate Schedule',Si prega di cliccare su ' Generate Schedule ',
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},Si prega di cliccare su ' Generate Schedule ' a prendere Serial No aggiunto per la voce {0},
Please click on 'Generate Schedule' to get schedule,Si prega di cliccare su ' Generate Schedule ' per ottenere pianificazione,
Please confirm once you have completed your training,Si prega di confermare una volta completata la tua formazione,
Please create purchase receipt or purchase invoice for the item {0},Crea una ricevuta di acquisto o una fattura di acquisto per l&#39;articolo {0},
Please define grade for Threshold 0%,Definisci il grado per Soglia 0%,
Please enable Applicable on Booking Actual Expenses,Si prega di abilitare Applicabile sulle spese effettive di prenotazione,
Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Si prega di abilitare Applicabile su ordine d&#39;acquisto e applicabile alle spese effettive di prenotazione,
Please enable default incoming account before creating Daily Work Summary Group,Abilitare l&#39;account predefinito in entrata prima di creare il gruppo di riepilogo del lavoro giornaliero,
Please enable pop-ups,Si prega di abilitare i pop-up,
Please enter 'Is Subcontracted' as Yes or No,Si prega di specificare ' è un Conto lavoro ' come Si o No,
Please enter API Consumer Key,Inserisci la chiave consumer dell&#39;API,
Please enter API Consumer Secret,Inserisci l&#39;API Consumer Secret,
Please enter Account for Change Amount,Si prega di inserire account per quantità di modifica,
Please enter Approving Role or Approving User,Inserisci Approvazione ruolo o Approvazione utente,
Please enter Cost Center,Inserisci Centro di costo,
Please enter Delivery Date,Inserisci la Data di Consegna,
Please enter Employee Id of this sales person,Inserisci ID dipendente di questa persona di vendite,
Please enter Expense Account,Inserisci il Conto uscite,
Please enter Item Code to get Batch Number,Inserisci Codice Articolo per ottenere il numero di lotto,
Please enter Item Code to get batch no,Inserisci il codice Item per ottenere lotto non,
Please enter Item first,Inserisci articolo prima,
Please enter Maintaince Details first,Inserisci Maintaince dettagli prima,
Please enter Planned Qty for Item {0} at row {1},Inserisci pianificato quantità per la voce {0} alla riga {1},
Please enter Preferred Contact Email,Inserisci il contatto preferito Email,
Please enter Production Item first,Inserisci prima articolo Produzione,
Please enter Purchase Receipt first,Si prega di inserire prima la Ricevuta di Acquisto,
Please enter Receipt Document,Si prega di inserire prima il Documento di Ricevimento,
Please enter Reference date,Inserisci Data di riferimento,
Please enter Repayment Periods,Si prega di inserire periodi di rimborso,
Please enter Reqd by Date,Si prega di inserire la data di consegna richiesta,
Please enter Woocommerce Server URL,Inserisci l&#39;URL del server Woocommerce,
Please enter Write Off Account,Inserisci Conto per Svalutazioni,
Please enter atleast 1 invoice in the table,Inserisci atleast 1 fattura nella tabella,
Please enter company first,Inserisci prima azienda,
Please enter company name first,Inserisci il nome della società prima,
Please enter default currency in Company Master,Inserisci valuta predefinita in Azienda Maestro,
Please enter message before sending,Inserisci il messaggio prima di inviarlo,
Please enter parent cost center,Inserisci il centro di costo genitore,
Please enter quantity for Item {0},Inserite la quantità per articolo {0},
Please enter relieving date.,Inserisci la data alleviare .,
Please enter repayment Amount,Si prega di inserire l&#39;importo di rimborso,
Please enter valid Financial Year Start and End Dates,Si prega di inserire valido Esercizio inizio e di fine,
Please enter valid email address,Inserisci indirizzo email valido,
Please enter {0} first,Si prega di inserire {0} prima,
Please fill in all the details to generate Assessment Result.,Si prega di compilare tutti i dettagli per generare il risultato della valutazione.,
Please identify/create Account (Group) for type - {0},Identifica / crea Account (Gruppo) per il tipo - {0},
Please identify/create Account (Ledger) for type - {0},Identificare / creare un account (libro mastro) per il tipo - {0},
Please login as another user to register on Marketplace,Effettua il login come un altro utente per registrarsi sul 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.,Assicurati di voler cancellare tutte le transazioni di questa azienda. I dati anagrafici rimarranno così com&#39;è. Questa azione non può essere annullata.,
Please mention Basic and HRA component in Company,Si prega di citare i componenti Basic e HRA in Azienda,
Please mention Round Off Account in Company,Si prega di citare Arrotondamento account in azienda,
Please mention Round Off Cost Center in Company,Si prega di citare Arrotondamento centro di costo in azienda,
Please mention no of visits required,Si prega di citare nessuna delle visite richieste,
Please mention the Lead Name in Lead {0},Si prega di citare il Lead Name in Lead {0},
Please pull items from Delivery Note,Si prega di tirare oggetti da DDT,
Please register the SIREN number in the company information file,Si prega di registrare il numero SIREN nel file delle informazioni aziendali,
Please remove this Invoice {0} from C-Form {1},Si prega di rimuovere questo Invoice {0} dal C-Form {1},
Please save the patient first,Si prega di salvare prima il paziente,
Please save the report again to rebuild or update,Salva di nuovo il rapporto per ricostruire o aggiornare,
"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Seleziona importo assegnato, Tipo fattura e fattura numero in almeno uno di fila",
Please select Apply Discount On,Si prega di selezionare Applica sconto su,
Please select BOM against item {0},Seleziona la BOM rispetto all&#39;articolo {0},
Please select BOM for Item in Row {0},Seleziona la Distinta Base per l'Articolo nella riga {0},
Please select BOM in BOM field for Item {0},Seleziona Distinta Base nel campo Distinta Base per la voce {0},
Please select Category first,Si prega di selezionare Categoria prima,
Please select Charge Type first,Seleziona il tipo di carica prima,
Please select Company,Selezionare prego,
Please select Company and Designation,Si prega di selezionare Società e designazione,
Please select Company and Party Type first,Per favore selezionare prima l'azienda e il tipo di Partner,
Please select Company and Posting Date to getting entries,Seleziona Società e Data di pubblicazione per ottenere le voci,
Please select Company first,Seleziona prima azienda,
Please select Completion Date for Completed Asset Maintenance Log,Selezionare la data di completamento per il registro di manutenzione delle attività completato,
Please select Completion Date for Completed Repair,Selezionare la data di completamento per la riparazione completata,
Please select Course,Seleziona Corso,
Please select Drug,Si prega di selezionare droga,
Please select Employee,Si prega di selezionare Dipendente,
Please select Existing Company for creating Chart of Accounts,Seleziona esistente Società per la creazione di piano dei conti,
Please select Healthcare Service,Si prega di selezionare il servizio sanitario,
"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle","Si prega di selezionare la voce dove &quot;è articolo di&quot; è &quot;No&quot; e &quot;Is Voce di vendita&quot; è &quot;Sì&quot;, e non c&#39;è nessun altro pacchetto di prodotti",
Please select Maintenance Status as Completed or remove Completion Date,Selezionare Stato di manutenzione come completato o rimuovere Data di completamento,
Please select Party Type first,Selezionare prima il tipo di Partner,
Please select Patient,Si prega di selezionare Paziente,
Please select Patient to get Lab Tests,Selezionare Patient per ottenere i test di laboratorio,
Please select Posting Date before selecting Party,Si prega di selezionare la data di registrazione prima di selezionare il Partner,
Please select Posting Date first,Seleziona Data Pubblicazione primo,
Please select Price List,Seleziona Listino Prezzi,
Please select Program,Seleziona Programma,
Please select Qty against item {0},Seleziona Qtà rispetto all&#39;articolo {0},
Please select Sample Retention Warehouse in Stock Settings first,Seleziona prima il magazzino di conservazione dei campioni in Impostazioni stock,
Please select Start Date and End Date for Item {0},Scegliere una data di inizio e di fine per la voce {0},
Please select Student Admission which is mandatory for the paid student applicant,Si prega di scegliere l&#39;ammissione all&#39;allievo che è obbligatoria per il candidato scolastico pagato,
Please select a BOM,Seleziona una Distinta Base,
Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,Seleziona un batch per l&#39;articolo {0}. Impossibile trovare un unico batch che soddisfi questo requisito,
Please select a Company,Seleziona una società,
Please select a batch,Seleziona un batch,
Please select a csv file,Seleziona un file csv,
Please select a field to edit from numpad,Seleziona un campo da modificare da numpad,
Please select a table,Seleziona una tabella,
Please select a valid Date,Si prega di selezionare una data valida,
Please select a value for {0} quotation_to {1},Si prega di selezionare un valore per {0} quotation_to {1},
Please select a warehouse,Seleziona un magazzino,
Please select at least one domain.,Si prega di selezionare almeno un dominio.,
Please select correct account,Seleziona account corretto,
Please select date,Seleziona la data,
Please select item code,Si prega di selezionare il codice articolo,
Please select month and year,Si prega di selezionare mese e anno,
Please select prefix first,Si prega di selezionare il prefisso prima,
Please select the Company,Si prega di selezionare la società,
Please select the Multiple Tier Program type for more than one collection rules.,Seleziona il tipo di Programma a più livelli per più di una regola di raccolta.,
Please select the assessment group other than 'All Assessment Groups',Seleziona il gruppo di valutazione diverso da &#39;Tutti i gruppi di valutazione&#39;,
Please select the document type first,Si prega di selezionare il tipo di documento prima,
Please select weekly off day,Seleziona il giorno di riposo settimanale,
Please select {0},Si prega di selezionare {0},
Please select {0} first,Si prega di selezionare {0} prima,
Please set 'Apply Additional Discount On',Impostare 'Applicare lo Sconto Aggiuntivo su',
Please set 'Asset Depreciation Cost Center' in Company {0},Si prega di impostare &#39;Asset Centro ammortamento dei costi&#39; in compagnia {0},
Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Si prega di impostare &#39;Conto / perdita di guadagno su Asset Disposal&#39; in compagnia {0},
Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Imposta Account in Magazzino {0} o Account inventario predefinito in Azienda {1},
Please set B2C Limit in GST Settings.,Imposta il limite B2C nelle impostazioni GST.,
Please set Company,Imposti la Società,
Please set Company filter blank if Group By is 'Company',Impostare il filtro aziendale vuoto se Group By è &#39;Azienda&#39;,
Please set Default Payroll Payable Account in Company {0},Si prega di impostare di default Payroll conto da pagare in azienda {0},
Please set Depreciation related Accounts in Asset Category {0} or Company {1},Si prega di impostare gli account relativi ammortamenti nel settore Asset Categoria {0} o {1} società,
Please set Email Address,Si prega di impostare l&#39;indirizzo e-mail,
Please set GST Accounts in GST Settings,Si prega di impostare account GST in Impostazioni GST,
Please set Hotel Room Rate on {},Si prega di impostare la tariffa della camera dell&#39;hotel su {},
Please set Number of Depreciations Booked,Si prega di impostare Numero di ammortamenti Prenotato,
Please set Unrealized Exchange Gain/Loss Account in Company {0},Imposta l&#39;account di guadagno / perdita di cambio non realizzato nella società {0},
Please set User ID field in an Employee record to set Employee Role,Impostare campo ID utente in un record Employee impostare Ruolo Employee,
Please set a default Holiday List for Employee {0} or Company {1},Si prega di impostare un valore predefinito lista per le vacanze per i dipendenti {0} o {1} società,
Please set account in Warehouse {0},Imposta l&#39;account in Magazzino {0},
Please set an active menu for Restaurant {0},Imposta un menu attivo per il ristorante {0},
Please set associated account in Tax Withholding Category {0} against Company {1},Imposta l&#39;account associato in Categoria ritenuta d&#39;acconto {0} contro l&#39;azienda {1},
Please set at least one row in the Taxes and Charges Table,Si prega di impostare almeno una riga nella tabella Imposte e spese,
Please set default Cash or Bank account in Mode of Payment {0},Si prega di impostare di default Contanti o conto bancario in Modalità di pagamento {0},
Please set default account in Salary Component {0},Si prega di impostare account predefinito di stipendio componente {0},
Please set default customer in Restaurant Settings,Impostare il cliente predefinito in Impostazioni ristorante,
Please set default template for Leave Approval Notification in HR Settings.,Si prega di impostare il modello predefinito per lasciare la notifica di approvazione nelle impostazioni delle risorse umane.,
Please set default template for Leave Status Notification in HR Settings.,Si prega di impostare il modello predefinito per lasciare notifica dello stato nelle impostazioni delle risorse umane.,
Please set default {0} in Company {1},Si prega di impostare di default {0} nell&#39;azienda {1},
Please set filter based on Item or Warehouse,Si prega di impostare il filtro in base al punto o in un magazzino,
Please set leave policy for employee {0} in Employee / Grade record,Si prega di impostare la politica di ferie per i dipendenti {0} nel record Dipendente / Grade,
Please set recurring after saving,Si prega di impostare ricorrenti dopo il salvataggio,
Please set the Company,Imposti la Società,
Please set the Customer Address,Si prega di impostare l&#39;indirizzo del cliente,
Please set the Date Of Joining for employee {0},Imposta la data di assunzione del dipendente {0},
Please set the Default Cost Center in {0} company.,Impostare il centro di costo predefinito in {0} società.,
Please set the Email ID for the Student to send the Payment Request,Impostare l&#39;ID di posta elettronica per lo studente per inviare la richiesta di pagamento,
Please set the Item Code first,Impostare prima il codice dell&#39;articolo,
Please set the Payment Schedule,Si prega di impostare il programma di pagamento,
Please set the series to be used.,Si prega di impostare la serie da utilizzare.,
Please set {0} for address {1},Si prega di impostare {0} per l&#39;indirizzo {1},
Please setup Students under Student Groups,Impostare gli studenti in gruppi di studenti,
Please share your feedback to the training by clicking on 'Training Feedback' and then 'New',"Per favore, condividi i tuoi commenti con la formazione cliccando su &quot;Informazioni sulla formazione&quot; e poi su &quot;Nuovo&quot;",
Please specify Company,Si prega di specificare Azienda,
Please specify Company to proceed,Si prega di specificare Società di procedere,
Please specify a valid 'From Case No.',Si prega di specificare una valida &#39;Dalla sentenza n&#39;,
Please specify a valid Row ID for row {0} in table {1},Si prega di specificare un ID Row valido per riga {0} nella tabella {1},
Please specify at least one attribute in the Attributes table,Specifica almeno un attributo nella tabella Attributi,
Please specify currency in Company,Si prega di specificare la valuta in Azienda,
Please specify either Quantity or Valuation Rate or both,Si prega di specificare Quantitativo o Tasso di valutazione o di entrambi,
Please specify from/to range,Si prega di specificare da / a gamma,
Please supply the specified items at the best possible rates,Si prega di fornire gli elementi specificati ai migliori prezzi possibili,
Please update your status for this training event,Aggiorna il tuo stato per questo evento di addestramento,
Please wait 3 days before resending the reminder.,Attendi 3 giorni prima di inviare nuovamente il promemoria.,
Point of Sale,Punto di vendita,
Point-of-Sale,Punto vendita,
Point-of-Sale Profile,Point-of-Sale Profilo,
Portal,Portale,
Portal Settings,Impostazioni del portale,
Possible Supplier,Fornitore Possibile,
Postal Expenses,Spese postali,
Posting Date,Data di Registrazione,
Posting Date cannot be future date,La data di registrazione non può essere una data futura,
Posting Time,Ora di Registrazione,
Posting date and posting time is mandatory,Data e ora di registrazione sono obbligatori,
Posting timestamp must be after {0},Distacco timestamp deve essere successiva {0},
Potential opportunities for selling.,Potenziali opportunità di vendita.,
Practitioner Schedule,Programma del praticante,
Pre Sales,Pre vendita,
Preference,Preferenza,
Prescribed Procedures,Procedure prescritte,
Prescription,Prescrizione,
Prescription Dosage,Dosaggio prescrizione,
Prescription Duration,Durata della prescrizione,
Prescriptions,prescrizioni,
Present,Presente,
Prev,prev,
Preview,anteprima,
Preview Salary Slip,Anteprima foglio paga,
Previous Financial Year is not closed,Il Precedente Esercizio Finanziario non è chiuso,
Price,Prezzo,
Price List,Listino prezzi,
Price List Currency not selected,Listino Prezzi Valuta non selezionati,
Price List Rate,Prezzo di listino,
Price List master.,Maestro listino prezzi.,
Price List must be applicable for Buying or Selling,Prezzo di listino deve essere applicabile per l'acquisto o la vendita di,
Price List {0} is disabled or does not exist,Listino {0} è disattivato o non esiste,
Price or product discount slabs are required,Sono richiesti lastre di prezzo o di sconto del prodotto,
Pricing,Prezzi,
Pricing Rule,Regola Prezzi,
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Regola Prezzi viene prima selezionato in base al 'applicare sul campo', che può essere prodotto, Articolo di gruppo o di marca.",
"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Regola Pricing è fatto per sovrascrivere Listino Prezzi / definire la percentuale di sconto, sulla base di alcuni criteri.",
Pricing Rule {0} is updated,La regola dei prezzi {0} è stata aggiornata,
Pricing Rules are further filtered based on quantity.,Regole dei prezzi sono ulteriormente filtrati in base alla quantità.,
Primary Address Details,Dettagli indirizzo primario,
Primary Contact Details,Dettagli del contatto principale,
Principal Amount,Quota capitale,
Print Format,Formato Stampa,
Print IRS 1099 Forms,Stampa moduli IRS 1099,
Print Report Card,Stampa la pagella,
Print Settings,Impostazioni di stampa,
Print and Stationery,Di stampa e di cancelleria,
Print settings updated in respective print format,Le impostazioni di stampa aggiornati nel rispettivo formato di stampa,
Print taxes with zero amount,Stampa le tasse con importo zero,
Printing and Branding,Stampa e branding,
Private Equity,Private Equity,
Privilege Leave,Lascia Privilege,
Probation,Prova,
Probationary Period,Periodo di prova,
Procedure,Procedura,
Process Day Book Data,Elaborazione dei dati del Daybook,
Process Master Data,Elaborare dati anagrafici,
Processing Chart of Accounts and Parties,Elaborazione del piano contabile e delle parti,
Processing Items and UOMs,Elaborazione di articoli e UOM,
Processing Party Addresses,Indirizzi degli elaboratori,
Processing Vouchers,Elaborazione di buoni,
Procurement,Approvvigionamento,
Produced Qty,Qtà prodotta,
Product,Prodotto,
Product Bundle,Bundle prodotto,
Product Search,Ricerca prodotto,
Production,Produzione,
Production Item,Produzione Articolo,
Products,Prodotti,
Profit and Loss,Profitti e perdite,
Profit for the year,profitto dell&#39;anno,
Program,Programma,
Program in the Fee Structure and Student Group {0} are different.,Il programma nella struttura tariffaria e nel gruppo di studenti {0} sono diversi.,
Program {0} does not exist.,Il programma {0} non esiste.,
Program: ,Programma:,
Progress % for a task cannot be more than 100.,Avanzamento % per un'attività non può essere superiore a 100.,
Project Collaboration Invitation,Progetto di collaborazione Invito,
Project Id,Progetto Id,
Project Manager,Responsabile Progetto,
Project Name,Nome del progetto,
Project Start Date,Data di inizio del progetto,
Project Status,Stato del progetto,
Project Summary for {0},Riepilogo progetto per {0},
Project Update.,Aggiornamento del progetto.,
Project Value,Valore di progetto,
Project activity / task.,Attività / attività del progetto.,
Project master.,Progetto Master.,
Project-wise data is not available for Quotation,Dati di progetto non sono disponibile per Preventivo,
Projected,proiettata,
Projected Qty,Qtà proiettata,
Projected Quantity Formula,Formula quantità proiettata,
Projects,progetti,
Property,Proprietà,
Property already added,Proprietà già aggiunta,
Proposal Writing,Scrivere proposta,
Proposal/Price Quote,Proposta / preventivo prezzi,
Prospecting,prospezione,
Provisional Profit / Loss (Credit),Risultato provvisorio / Perdita (credito),
Publications,pubblicazioni,
Publish Items on Website,Pubblica articoli sul Sito Web,
Published,Pubblicato,
Publishing,editoria,
Purchase,Acquisto,
Purchase Amount,Ammontare dell&#39;acquisto,
Purchase Date,Data di acquisto,
Purchase Invoice,Fattura di Acquisto,
Purchase Invoice {0} is already submitted,La Fattura di Acquisto {0} è già stata presentata,
Purchase Manager,Responsabile Acquisti,
Purchase Master Manager,Direttore Acquisti,
Purchase Order,Ordine di acquisto,
Purchase Order Amount,Importo ordine d&#39;acquisto,
Purchase Order Amount(Company Currency),Importo ordine d&#39;acquisto (valuta dell&#39;azienda),
Purchase Order Date,Data dell&#39;ordine d&#39;acquisto,
Purchase Order Items not received on time,Ordine d&#39;acquisto Articoli non ricevuti in tempo,
Purchase Order number required for Item {0},Numero ordine di acquisto richiesto per la voce {0},
Purchase Order to Payment,Ordine d&#39;acquisto a pagamento,
Purchase Order {0} is not submitted,L'ordine di Acquisto {0} non è stato presentato,
Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Gli ordini di acquisto non sono consentiti per {0} a causa di una posizione di scorecard di {1}.,
Purchase Orders given to Suppliers.,Ordini di acquisto emessi ai Fornitori.,
Purchase Price List,Acquisto Listino Prezzi,
Purchase Receipt,Ricevuta di Acquisto,
Purchase Receipt {0} is not submitted,La Ricevuta di Acquisto {0} non è stata presentata,
Purchase Tax Template,Acquisto fiscale Template,
Purchase User,Utente Acquisti,
Purchase orders help you plan and follow up on your purchases,Gli ordini di acquisto ti aiutano a pianificare e monitorare i tuoi acquisti,
Purchasing,Acquisto,
Purpose must be one of {0},Scopo deve essere uno dei {0},
Qty,Qtà,
Qty To Manufacture,Qtà da Produrre,
Qty Total,Qtà totale,
Qty for {0},Quantità per {0},
Qualification,Qualifica,
Quality,Qualità,
Quality Action,Azione di qualità,
Quality Goal.,Obiettivo di qualità,
Quality Inspection,Controllo Qualità,
Quality Inspection: {0} is not submitted for the item: {1} in row {2},Ispezione di qualità: {0} non è stato inviato per l&#39;articolo: {1} nella riga {2},
Quality Management,Gestione della qualità,
Quality Meeting,Riunione di qualità,
Quality Procedure,Procedura di qualità,
Quality Procedure.,Procedura di qualità,
Quality Review,Revisione della qualità,
Quantity,Quantità,
Quantity for Item {0} must be less than {1},Quantità per la voce {0} deve essere inferiore a {1},
Quantity in row {0} ({1}) must be same as manufactured quantity {2},Quantità in riga {0} ( {1} ) deve essere uguale quantità prodotta {2},
Quantity must be less than or equal to {0},La quantità deve essere minore o uguale a {0},
Quantity must not be more than {0},Quantità non deve essere superiore a {0},
Quantity required for Item {0} in row {1},Quantità necessaria per la voce {0} in riga {1},
Quantity should be greater than 0,Quantità deve essere maggiore di 0,
Quantity to Make,Quantità da fare,
Quantity to Manufacture must be greater than 0.,Quantità di Fabbricazione deve essere maggiore di 0.,
Quantity to Produce,Quantità da produrre,
Quantity to Produce can not be less than Zero,La quantità da produrre non può essere inferiore a zero,
Query Options,Opzioni query,
Queued for replacing the BOM. It may take a few minutes.,In coda per la sostituzione della BOM. Potrebbero essere necessari alcuni minuti.,
Queued for updating latest price in all Bill of Materials. It may take a few minutes.,In coda per aggiornare il prezzo più recente in tutte le fatture dei materiali. Può richiedere alcuni minuti.,
Quick Journal Entry,Breve diario,
Quot Count,Quot Count,
Quot/Lead %,Quot / Lead%,
Quotation,Preventivo,
Quotation {0} is cancelled,Preventivo {0} è annullato,
Quotation {0} not of type {1},Preventivo {0} non di tipo {1},
Quotations,Preventivi,
"Quotations are proposals, bids you have sent to your customers","Le quotazioni sono proposte, offerte che hai inviato ai tuoi clienti",
Quotations received from Suppliers.,Preventivi ricevuti dai Fornitori.,
Quotations: ,Preventivi:,
Quotes to Leads or Customers.,Preventivo a Leads o a Clienti.,
RFQs are not allowed for {0} due to a scorecard standing of {1},RFQ non sono consentite per {0} a causa del valutazione {1},
Range,Intervallo,
Rate,Prezzo,
Rate:,Vota:,
Rating,Valutazione,
Raw Material,Materia prima,
Raw Materials,Materiali grezzi,
Raw Materials cannot be blank.,Materie prime non può essere vuoto.,
Re-open,Riaprire,
Read blog,Leggi il blog,
Read the ERPNext Manual,Leggere il manuale ERPNext,
Reading Uploaded File,Lettura del file caricato,
Real Estate,Immobiliare,
Reason For Putting On Hold,Motivo per mettere in attesa,
Reason for Hold,Motivo della sospensione,
Reason for hold: ,Motivo della sospensione:,
Receipt,Ricevuta,
Receipt document must be submitted,La Ricevuta deve essere presentata,
Receivable,ricevibile,
Receivable Account,Conto Crediti,
Received,Ricevuto,
Received On,Ricevuto On,
Received Quantity,Quantità ricevuta,
Received Stock Entries,Voci di magazzino ricevute,
Receiver List is empty. Please create Receiver List,Lista Receiver è vuoto . Si prega di creare List Ricevitore,
Recipients,Destinatari,
Reconcile,conciliare,
"Record of all communications of type email, phone, chat, visit, etc.","Salva tutte le comunicazioni di tipo e-mail, telefono, chat, visita, ecc",
Records,Records,
Redirect URL,URL di reindirizzamento,
Ref,Rif,
Ref Date,Data Rif,
Reference,Riferimento,
Reference #{0} dated {1},Riferimento # {0} datato {1},
Reference Date,Data di riferimento,
Reference Doctype must be one of {0},Riferimento Doctype deve essere uno dei {0},
Reference Document,Documento di riferimento,
Reference Document Type,Riferimento Tipo di documento,
Reference No & Reference Date is required for {0},N. di riferimento & Reference Data è necessario per {0},
Reference No and Reference Date is mandatory for Bank transaction,Di riferimento e di riferimento Data è obbligatoria per la transazione Bank,
Reference No is mandatory if you entered Reference Date,N. di riferimento è obbligatoria se hai inserito Reference Data,
Reference No.,Numero di riferimento,
Reference Number,Numero di riferimento,
Reference Owner,Riferimento proprietario,
Reference Type,Tipo di riferimento,
"Reference: {0}, Item Code: {1} and Customer: {2}","Riferimento: {0}, codice dell&#39;articolo: {1} e cliente: {2}",
References,Riferimenti,
Refresh Token,Aggiorna Token,
Region,Regione,
Register,Registrare,
Reject,Rifiutare,
Rejected,Rifiutato,
Related,Collegamento,
Relation with Guardian1,Rapporto con Guardian1,
Relation with Guardian2,Rapporto con Guardian2,
Release Date,Data di rilascio,
Reload Linked Analysis,Ricarica l&#39;analisi collegata,
Remaining,Disponibile,
Remaining Balance,Equilibrio restante,
Remarks,Osservazioni,
Reminder to update GSTIN Sent,Promemoria per aggiornare GSTIN inviato,
Remove item if charges is not applicable to that item,Rimuovere articolo se le spese non è applicabile a tale elemento,
Removed items with no change in quantity or value.,Eliminati elementi senza variazione di quantità o valore.,
Reopen,Riaprire,
Reorder Level,Riordina Level,
Reorder Qty,Riordina quantità,
Repeat Customer Revenue,Ripetere Revenue clienti,
Repeat Customers,Ripetere i clienti,
Replace BOM and update latest price in all BOMs,Sostituire il BOM e aggiornare il prezzo più recente in tutte le BOM,
Replied,Ha risposto,
Replies,risposte,
Report,Report,
Report Builder,Report Builder,
Report Type,Tipo Report,
Report Type is mandatory,Tipo di Report è obbligatorio,
Reports,Report,
Reqd By Date,Data di Consegna,
Reqd Qty,Reqd Qty,
Request for Quotation,Richiesta di offerta,
Request for Quotations,Richieste di offerta,
Request for Raw Materials,Richiesta di materie prime,
Request for purchase.,Richiesta di acquisto.,
Request for quotation.,Richiesta di offerta.,
Requested Qty,richiesto Quantità,
"Requested Qty: Quantity requested for purchase, but not ordered.","Richiesto Quantità : Quantità richiesto per l'acquisto , ma non ordinato.",
Requesting Site,Sito richiedente,
Requesting payment against {0} {1} for amount {2},Richiesta di Pagamento contro {0} {1} per quantità {2},
Requestor,Richiedente,
Required On,Richiesto On,
Required Qty,Quantità richiesta,
Required Quantity,Quantità richiesta,
Reschedule,Riprogrammare,
Research,Ricerca,
Research & Development,Ricerca & Sviluppo,
Researcher,Ricercatore,
Resend Payment Email,Invia di nuovo pagamento Email,
Reserve Warehouse,Riserva magazzino,
Reserved Qty,Riservato Quantità,
Reserved Qty for Production,Quantità Riservata per la Produzione,
Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Qtà riservata per la produzione: quantità di materie prime per la produzione di articoli.,
"Reserved Qty: Quantity ordered for sale, but not delivered.","Riservato Quantità : quantità ordinata in vendita , ma non consegnati .",
Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Il magazzino riservato è obbligatorio per l&#39;articolo {0} in materie prime fornite,
Reserved for manufacturing,Riservato per la produzione,
Reserved for sale,Riservato per la vendita,
Reserved for sub contracting,Riservato per il subappalto,
Resistant,Resistente,
Resolve error and upload again.,Risolvi errore e carica di nuovo.,
Responsibilities,responsabilità,
Rest Of The World,Resto del mondo,
Restart Subscription,Riavvia abbonamento,
Restaurant,Ristorante,
Result Date,Data di risultato,
Result already Submitted,Risultato già inviato,
Resume,Curriculum vitae,
Retail,Vendita al dettaglio,
Retail & Wholesale,Retail & Wholesale,
Retail Operations,Le operazioni di vendita al dettaglio,
Retained Earnings,Utili trattenuti,
Retention Stock Entry,Retention stock entry,
Retention Stock Entry already created or Sample Quantity not provided,Memorizzazione stock già creata o Quantità campione non fornita,
Return,Ritorno,
Return / Credit Note,Ritorno / Nota di credito,
Return / Debit Note,Reso / Nota di Debito,
Returns,Restituisce,
Reverse Journal Entry,Entrata di giornale inversa,
Review Invitation Sent,Rivedi l&#39;invito inviato,
Review and Action,Revisione e azione,
Role,Ruolo,
Rooms Booked,Camere prenotate,
Root Company,Azienda principale,
Root Type,Root Tipo,
Root Type is mandatory,Root Type è obbligatorio,
Root cannot be edited.,Root non può essere modificato .,
Root cannot have a parent cost center,Root non può avere un centro di costo genitore,
Round Off,Arrotondare,
Rounded Total,Totale arrotondato,
Route,Itinerario,
Row # {0}: ,Row # {0}:,
Row # {0}: Batch No must be same as {1} {2},Fila # {0}: Lotto n deve essere uguale a {1} {2},
Row # {0}: Cannot return more than {1} for Item {2},Row # {0}: Impossibile restituire più di {1} per la voce {2},
Row # {0}: Rate cannot be greater than the rate used in {1} {2},Riga # {0}: la velocità non può essere superiore alla velocità utilizzata in {1} {2},
Row # {0}: Serial No is mandatory,Fila # {0}: N. di serie è obbligatoria,
Row # {0}: Serial No {1} does not match with {2} {3},Fila # {0}: N. di serie {1} non corrisponde con {2} {3},
Row #{0} (Payment Table): Amount must be negative,Riga # {0} (Tabella pagamenti): l&#39;importo deve essere negativo,
Row #{0} (Payment Table): Amount must be positive,Riga # {0} (Tabella pagamenti): l&#39;importo deve essere positivo,
Row #{0}: Account {1} does not belong to company {2},Riga n. {0}: l&#39;account {1} non appartiene all&#39;azienda {2},
Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Riga # {0}: L'Importo assegnato non può essere superiore all'importo dovuto.,
"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Row # {0}: Asset {1} non può essere presentata, è già {2}",
Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Riga # {0}: impossibile impostare Tasso se l&#39;importo è maggiore dell&#39;importo fatturato per l&#39;articolo {1}.,
Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Row # {0}: Data di Liquidazione {1} non può essere prima Assegno Data {2},
Row #{0}: Duplicate entry in References {1} {2},Riga # {0}: duplica la voce nei riferimenti {1} {2},
Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Riga # {0}: la Data di Consegna Confermata non può essere precedente all'Ordine di Acquisto,
Row #{0}: Item added,Riga # {0}: elemento aggiunto,
Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Row # {0}: diario {1} non ha conto {2} o già confrontato con un altro buono,
Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Fila # {0}: Non è consentito cambiare il Fornitore quando l'Ordine di Acquisto esiste già,
Row #{0}: Please set reorder quantity,Fila # {0}: Si prega di impostare la quantità di riordino,
Row #{0}: Please specify Serial No for Item {1},Row # {0}: Si prega di specificare Numero d'ordine per la voce {1},
Row #{0}: Qty increased by 1,Riga # {0}: Qtà aumentata di 1,
Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Riga #{0}: il Rapporto deve essere lo stesso di {1}: {2} ({3} / {4}),
Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Riga # {0}: Il tipo di documento di riferimento deve essere uno dei requisiti di spesa o voce del giornale,
"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Row # {0}: Riferimento Tipo di documento deve essere uno di Ordine di Acquisto, fatture di acquisto o diario",
Row #{0}: Rejected Qty can not be entered in Purchase Return,Row # {0}: Rifiutato Quantità non è possibile entrare in acquisto di ritorno,
Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Fila # {0}: Rifiutato Warehouse è obbligatoria per la voce respinto {1},
Row #{0}: Reqd by Date cannot be before Transaction Date,Riga n. {0}: La data di consegna richiesta non può essere precedente alla data della transazione,
Row #{0}: Set Supplier for item {1},Fila # {0}: Impostare Fornitore per Articolo {1},
Row #{0}: Status must be {1} for Invoice Discounting {2},Riga # {0}: lo stato deve essere {1} per lo sconto fattura {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","Riga # {0}: Il lotto {1} ha solo {2} qta. Si prega di selezionare un altro lotto che dispone di {3} qta oppure dividere la riga in più righe, per consegnare/emettere da più lotti",
Row #{0}: Timings conflicts with row {1},Row # {0}: conflitti Timings con riga {1},
Row #{0}: {1} can not be negative for item {2},Row # {0}: {1} non può essere negativo per la voce {2},
Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Fila No {0}: Importo non può essere maggiore di attesa Importo contro Rimborso Spese {1}. In attesa importo è {2},
Row {0} : Operation is required against the raw material item {1},Riga {0}: l&#39;operazione è necessaria per l&#39;articolo di materie prime {1},
Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2},Riga {0} # L&#39;importo assegnato {1} non può essere maggiore dell&#39;importo non reclamato {2},
Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},La riga {0} # articolo {1} non può essere trasferita più di {2} contro l&#39;ordine d&#39;acquisto {3},
Row {0}# Paid Amount cannot be greater than requested advance amount,La riga {0} N. importo pagato non può essere maggiore dell&#39;importo anticipato richiesto,
Row {0}: Activity Type is mandatory.,Riga {0}: Tipo Attività è obbligatoria.,
Row {0}: Advance against Customer must be credit,Riga {0}: Advance contro il Cliente deve essere di credito,
Row {0}: Advance against Supplier must be debit,Riga {0}: L'anticipo verso Fornitore deve essere un debito,
Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Riga {0}: l'importo assegnato {1} deve essere inferiore o uguale alI'importo del Pagamento {2},
Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Riga {0}: l'importo assegnato {1} deve essere inferiore o uguale alla fatturazione dell'importo dovuto {2},
Row {0}: An Reorder entry already exists for this warehouse {1},Riga {0}: Una voce di riordino esiste già per questo magazzino {1},
Row {0}: Bill of Materials not found for the Item {1},Riga {0}: Distinta materiali non trovato per la voce {1},
Row {0}: Conversion Factor is mandatory,Riga {0}: fattore di conversione è obbligatoria,
Row {0}: Cost center is required for an item {1},Riga {0}: è necessario un centro di costo per un elemento {1},
Row {0}: Credit entry can not be linked with a {1},Riga {0}: ingresso di credito non può essere collegato con un {1},
Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Riga {0}: Valuta del BOM # {1} deve essere uguale alla valuta selezionata {2},
Row {0}: Debit entry can not be linked with a {1},Riga {0}: addebito iscrizione non può essere collegato con un {1},
Row {0}: Depreciation Start Date is required,Riga {0}: è richiesta la Data di inizio ammortamento,
Row {0}: Enter location for the asset item {1},Riga {0}: inserisci la posizione per la voce di bene {1},
Row {0}: Exchange Rate is mandatory,Riga {0}: Tasso di cambio è obbligatorio,
Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Riga {0}: Valore previsto dopo che la vita utile deve essere inferiore all&#39;importo di acquisto lordo,
Row {0}: From Time and To Time is mandatory.,Riga {0}: From Time To Time ed è obbligatoria.,
Row {0}: From Time and To Time of {1} is overlapping with {2},Riga {0}: From Time To Time e di {1} si sovrappone {2},
Row {0}: From time must be less than to time,Riga {0}: da ora deve essere inferiore a ora,
Row {0}: Hours value must be greater than zero.,Riga {0}: valore Ore deve essere maggiore di zero.,
Row {0}: Invalid reference {1},Riga {0}: Riferimento non valido {1},
Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Riga {0}: Partner / Account non corrisponde con {1} / {2} {3} {4},
Row {0}: Party Type and Party is required for Receivable / Payable account {1},Riga {0}: Tipo Partner e Partner sono necessari per conto Crediti / Debiti  {1},
Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Riga {0}: Pagamento contro vendite / ordine di acquisto deve essere sempre contrassegnato come anticipo,
Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,Riga {0}: Abilita 'è Advance' contro Account {1} se questa è una voce di anticipo.,
Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Riga {0}: impostare il motivo dell&#39;esenzione fiscale in Imposte e addebiti,
Row {0}: Please set the Mode of Payment in Payment Schedule,Riga {0}: imposta la Modalità di pagamento in Pianificazione pagamenti,
Row {0}: Please set the correct code on Mode of Payment {1},Riga {0}: imposta il codice corretto su Modalità di pagamento {1},
Row {0}: Qty is mandatory,Riga {0}: Quantità è obbligatorio,
Row {0}: Quality Inspection rejected for item {1},Riga {0}: Ispezione di qualità rifiutata per l&#39;articolo {1},
Row {0}: UOM Conversion Factor is mandatory,Riga {0}: UOM fattore di conversione è obbligatoria,
Row {0}: select the workstation against the operation {1},Riga {0}: seleziona la workstation rispetto all&#39;operazione {1},
Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Riga {0}: {1} Numeri di serie necessari per l&#39;articolo {2}. Hai fornito {3}.,
Row {0}: {1} is required to create the Opening {2} Invoices,Riga {0}: {1} è richiesta per creare le Fatture di apertura {2},
Row {0}: {1} must be greater than 0,Riga {0}: {1} deve essere maggiore di 0,
Row {0}: {1} {2} does not match with {3},Riga {0}: {1} {2} non corrisponde con {3},
Row {0}:Start Date must be before End Date,Riga {0} : Data di inizio deve essere precedente Data di fine,
Rows with duplicate due dates in other rows were found: {0},Righe con date di scadenza duplicate in altre righe sono state trovate: {0},
Rules for adding shipping costs.,Regole per l'aggiunta di spese di spedizione .,
Rules for applying pricing and discount.,Le modalità di applicazione di prezzi e sconti .,
S.O. No.,S.O. No.,
SGST Amount,Importo SGST,
SO Qty,SO Quantità,
Safety Stock,Scorta di sicurezza,
Salary,Stipendio,
Salary Slip ID,Stipendio slittamento ID,
Salary Slip of employee {0} already created for this period,Foglio paga del dipendente {0} già creato per questo periodo,
Salary Slip of employee {0} already created for time sheet {1},Salario Slip of dipendente {0} già creato per foglio di tempo {1},
Salary Slip submitted for period from {0} to {1},Salary Slip presentato per il periodo da {0} a {1},
Salary Structure Assignment for Employee already exists,L&#39;assegnazione della struttura salariale per il dipendente esiste già,
Salary Structure Missing,Stipendio Struttura mancante,
Salary Structure must be submitted before submission of Tax Ememption Declaration,La struttura salariale deve essere presentata prima della presentazione della Dichiarazione di esenzione fiscale,
Salary Structure not found for employee {0} and date {1},Struttura salariale non trovata per il dipendente {0} e data {1},
Salary Structure should have flexible benefit component(s) to dispense benefit amount,La struttura salariale dovrebbe disporre di componenti di benefit flessibili per erogare l&#39;importo del benefit,
"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.","Stipendio già elaborato per il periodo compreso tra {0} e {1}, Lascia periodo di applicazione non può essere tra questo intervallo di date.",
Sales,Vendite,
Sales Account,Conto vendita,
Sales Expenses,Spese di vendita,
Sales Funnel,imbuto di vendita,
Sales Invoice,Fattura di vendita,
Sales Invoice {0} has already been submitted,La fattura di vendita {0} è già stata presentata,
Sales Invoice {0} must be cancelled before cancelling this Sales Order,La fattura di vendita {0} deve essere cancellata prima di annullare questo ordine di vendita,
Sales Manager,Sales Manager,
Sales Master Manager,Sales Master Manager,
Sales Order,Ordine di vendita,
Sales Order Item,Articolo dell'Ordine di Vendita,
Sales Order required for Item {0},Ordine di Vendita necessario per l'Articolo {0},
Sales Order to Payment,Ordine di vendita a pagamento,
Sales Order {0} is not submitted,L'ordine di vendita {0} non è stato presentato,
Sales Order {0} is not valid,Sales Order {0} non è valido,
Sales Order {0} is {1},Sales Order {0} è {1},
Sales Orders,Ordini di vendita,
Sales Partner,Partner vendite,
Sales Pipeline,Pipeline di vendita,
Sales Price List,Lista Prezzo di vendita,
Sales Return,Ritorno di vendite,
Sales Summary,Riepilogo vendite,
Sales Tax Template,Sales Tax Template,
Sales Team,Team di vendita,
Sales User,Utente Vendite,
Sales and Returns,Vendite e restituzioni,
Sales campaigns.,Campagne di vendita .,
Sales orders are not available for production,Gli ordini di vendita non sono disponibili per la produzione,
Salutation,Appellativo,
Same Company is entered more than once,La stessa azienda viene inserito più di una volta,
Same item cannot be entered multiple times.,Lo stesso articolo non può essere inserito più volte.,
Same supplier has been entered multiple times,Lo stesso fornitore è stato inserito più volte,
Sample,Esempio,
Sample Collection,Raccolta di campioni,
Sample quantity {0} cannot be more than received quantity {1},La quantità di esempio {0} non può essere superiore alla quantità ricevuta {1},
Sanctioned,sanzionato,
Sanctioned Amount,Importo sanzionato,
Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Importo sanzionato non può essere maggiore di rivendicazione Importo in riga {0}.,
Sand,Sabbia,
Saturday,Sabato,
Saved,Salvato,
Saving {0},Salvataggio di {0},
Scan Barcode,Scansione Barcode,
Schedule,Pianificare,
Schedule Admission,Pianifica l&#39;ammissione,
Schedule Course,Programma del corso,
Schedule Date,Programma Data,
Schedule Discharge,Schedule Discharge,
Scheduled,Pianificate,
Scheduled Upto,Pianificato Upto,
"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Schedule per {0} si sovrappone, vuoi procedere dopo aver saltato gli slot sovrapposti?",
Score cannot be greater than Maximum Score,Il punteggio non può essere maggiore del punteggio massimo,
Score must be less than or equal to 5,Il punteggio deve essere minore o uguale a 5,
Scorecards,Scorecards,
Scrapped,Demolita,
Search,Cerca,
Search Results,risultati di ricerca,
Search Sub Assemblies,Cerca Sub Assemblies,
"Search by item code, serial number, batch no or barcode","Cerca per codice articolo, numero di serie, numero di lotto o codice a barre",
"Seasonality for setting budgets, targets etc.","Stagionalità per impostare i budget, obiettivi ecc",
Secret Key,Chiave segreta,
Secretary,segretario,
Section Code,Codice di sezione,
Secured Loans,Prestiti garantiti,
Securities & Commodity Exchanges,Securities & borse merci,
Securities and Deposits,I titoli e depositi,
See All Articles,Vedi tutti gli articoli,
See all open tickets,Vedi tutti i biglietti aperti,
See past orders,Vedi gli ordini passati,
See past quotations,Vedi le citazioni precedenti,
Select,Selezionare,
Select Alternate Item,Seleziona elemento alternativo,
Select Attribute Values,Seleziona i valori degli attributi,
Select BOM,Seleziona la Distinta Materiali,
Select BOM and Qty for Production,Selezionare Distinta Materiali e Quantità per la  Produzione,
"Select BOM, Qty and For Warehouse","Selezionare DBA, Qtà e Per magazzino",
Select Batch,Seleziona batch,
Select Batch Numbers,Selezionare i numeri di batch,
Select Brand...,Seleziona Marchio ...,
Select Company,Seleziona Azienda,
Select Company...,Seleziona Company ...,
Select Customer,Seleziona cliente,
Select Days,Seleziona giorni,
Select Default Supplier,Selezionare il Fornitore predefinito,
Select DocType,Selezionare DocType,
Select Fiscal Year...,Selezionare l'anno fiscale ...,
Select Item (optional),Seleziona voce (opzionale),
Select Items based on Delivery Date,Selezionare gli elementi in base alla Data di Consegna,
Select Items to Manufacture,Selezionare gli elementi da Fabbricazione,
Select Loyalty Program,Seleziona il programma fedeltà,
Select Patient,Selezionare Paziente,
Select Possible Supplier,Selezionare il Fornitore Possibile,
Select Property,Seleziona proprietà,
Select Quantity,Seleziona quantità,
Select Serial Numbers,Selezionare i numeri di serie,
Select Target Warehouse,Seleziona il Magazzino di Destinazione,
Select Warehouse...,Seleziona magazzino ...,
Select an account to print in account currency,Seleziona un account per stampare nella valuta dell&#39;account,
Select an employee to get the employee advance.,Seleziona un dipendente per visualizzare gli anticipi.,
Select at least one value from each of the attributes.,Seleziona almeno un valore da ciascuno degli attributi.,
Select change amount account,conto importo Selezionare cambiamento,
Select company first,Seleziona prima la società,
Select students manually for the Activity based Group,Selezionare manualmente gli studenti per il gruppo basato sulle attività,
Select the customer or supplier.,Seleziona il cliente o il fornitore.,
Select the nature of your business.,Selezionare la natura della vostra attività.,
Select the program first,Selezionare prima il programma,
Select to add Serial Number.,Selezionare per aggiungere il numero di serie.,
Select your Domains,Seleziona i tuoi domini,
Selected Price List should have buying and selling fields checked.,Il listino prezzi selezionato deve contenere i campi di acquisto e vendita.,
Sell,Vendere,
Selling,Vendite,
Selling Amount,Importo di vendita,
Selling Price List,Listino prezzi di vendita,
Selling Rate,Tasso di vendita,
"Selling must be checked, if Applicable For is selected as {0}","Vendita deve essere controllato, se applicabile per è selezionato come {0}",
Send Grant Review Email,Invia e-mail di revisione di Grant,
Send Now,Invia Ora,
Send SMS,Invia SMS,
Send Supplier Emails,Inviare e-mail del fornitore,
Send mass SMS to your contacts,Invia SMS di massa ai tuoi contatti,
Sensitivity,sensibilità,
Sent,Inviati,
Serial #,Serial #,
Serial No and Batch,N. di serie e batch,
Serial No is mandatory for Item {0},Numero d'ordine è obbligatorio per la voce {0},
Serial No {0} does not belong to Batch {1},Il numero di serie {0} non appartiene a Batch {1},
Serial No {0} does not belong to Delivery Note {1},Serial No {0} non appartiene alla Consegna Nota {1},
Serial No {0} does not belong to Item {1},Serial No {0} non appartiene alla voce {1},
Serial No {0} does not belong to Warehouse {1},Serial No {0} non appartiene al Warehouse {1},
Serial No {0} does not belong to any Warehouse,N. di serie {0} non appartiene ad alcun magazzino,
Serial No {0} does not exist,Serial No {0} non esiste,
Serial No {0} has already been received,Serial No {0} è già stato ricevuto,
Serial No {0} is under maintenance contract upto {1},Serial No {0} è sotto contratto di manutenzione fino a {1},
Serial No {0} is under warranty upto {1},Serial No {0} è in garanzia fino a {1},
Serial No {0} not found,Serial No {0} non trovato,
Serial No {0} not in stock,Serial No {0} non in magazzino,
Serial No {0} quantity {1} cannot be a fraction,Serial No {0} {1} quantità non può essere una frazione,
Serial Nos Required for Serialized Item {0},Serial Nos Obbligatorio per la voce Serialized {0},
Serial Number: {0} is already referenced in Sales Invoice: {1},Numero di serie: {0} è già indicato nella fattura di vendita: {1},
Serial Numbers,Numeri seriali,
Serial Numbers in row {0} does not match with Delivery Note,I numeri seriali nella riga {0} non corrispondono alla nota di consegna,
Serial no {0} has been already returned,Il numero di serie {0} è già stato restituito,
Serial number {0} entered more than once,Numero di serie {0} è entrato più di una volta,
Serialized Inventory,Serialized Inventario,
Series Updated,Serie aggiornata,
Series Updated Successfully,Serie aggiornata con successo,
Series is mandatory,La serie è obbligatoria,
Series {0} already used in {1},Serie {0} già utilizzata in {1},
Service,servizio,
Service Expense,spese per servizi,
Service Level Agreement,Accordo sul livello di servizio,
Service Level Agreement.,Accordo sul livello di servizio.,
Service Level.,Livello di servizio.,
Service Stop Date cannot be after Service End Date,La data di interruzione del servizio non può essere successiva alla data di fine del servizio,
Service Stop Date cannot be before Service Start Date,La data di arresto del servizio non può essere precedente alla data di inizio del servizio,
Services,Servizi,
"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Impostare i valori predefiniti , come Società , valuta , corrente anno fiscale , ecc",
Set Details,Imposta dettagli,
Set New Release Date,Imposta nuova data di rilascio,
Set Project and all Tasks to status {0}?,Impostare Project e tutte le attività sullo stato {0}?,
Set Status,Imposta stato,
Set Tax Rule for shopping cart,Set di regole fiscali per carrello della spesa,
Set as Closed,Imposta come Chiuso,
Set as Completed,Imposta come completato,
Set as Default,Imposta come predefinito,
Set as Lost,Imposta come persa,
Set as Open,Imposta come aperto,
Set default inventory account for perpetual inventory,Imposta l&#39;account di inventario predefinito per l&#39;inventario perpetuo,
Set this if the customer is a Public Administration company.,Impostare questo se il cliente è una società della pubblica amministrazione.,
Set {0} in asset category {1} or company {2},Imposta {0} nella categoria di asset {1} o nella società {2},
"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Impostazione Eventi a {0}, in quanto il dipendente attaccato al di sotto personale di vendita non dispone di un ID utente {1}",
Setting defaults,Impostazione delle impostazioni predefinite,
Setting up Email,Configurazione della posta elettronica,
Setting up Email Account,Impostazione di account e-mail,
Setting up Employees,Impostazione dipendenti,
Setting up Taxes,Impostazione Tasse,
Setting up company,Costituzione di società,
Settings,Impostazioni,
"Settings for online shopping cart such as shipping rules, price list etc.","Impostazioni carrello della spesa, come Tipi di Spedizione, Listino Prezzi ecc",
Settings for website homepage,Impostazioni per homepage del sito,
Settings for website product listing,Impostazioni per l&#39;elenco dei prodotti del sito web,
Settled,sistemato,
Setup Gateway accounts.,Conti Gateway Setup.,
Setup SMS gateway settings,Configura impostazioni gateway SMS,
Setup cheque dimensions for printing,Configurazione Dimensioni Assegno per la stampa,
Setup default values for POS Invoices,Imposta i valori predefiniti per le fatture POS,
Setup mode of POS (Online / Offline),Imposta modalità del POS (Online / Offline),
Setup your Institute in ERPNext,Imposta il tuo istituto in ERPNext,
Share Balance,Condividi saldo,
Share Ledger,Condividi libro mastro,
Share Management,Gestione delle azioni,
Share Transfer,Condividi trasferimento,
Share Type,Condividi tipo,
Shareholder,Azionista,
Ship To State,Spedire allo stato,
Shipments,Spedizioni,
Shipping,spedizione,
Shipping Address,indirizzo di spedizione,
"Shipping Address does not have country, which is required for this Shipping Rule","Indirizzo di spedizione non ha paese, che è richiesto per questa regola di spedizione",
Shipping rule only applicable for Buying,Regola di spedizione applicabile solo per l&#39;acquisto,
Shipping rule only applicable for Selling,Regola di spedizione applicabile solo per la vendita,
Shopify Supplier,Shopify fornitore,
Shopping Cart,Carrello spesa,
Shopping Cart Settings,Carrello Impostazioni,
Short Name,Nome breve,
Shortage Qty,Carenza Quantità,
Show Completed,Mostra completata,
Show Cumulative Amount,Mostra quantità cumulativa,
Show Employee,Mostra dipendente,
Show Open,Mostra aperta,
Show Opening Entries,Mostra voci di apertura,
Show Payment Details,Mostra i dettagli del pagamento,
Show Return Entries,Mostra voci di ritorno,
Show Salary Slip,Visualizza foglio paga,
Show Variant Attributes,Mostra attributi Variant,
Show Variants,Mostra varianti,
Show closed,Mostra chiusi,
Show exploded view,Mostra vista esplosa,
Show only POS,Mostra solo POS,
Show unclosed fiscal year's P&L balances,Mostra di P &amp; L saldi non chiusa anno fiscale di,
Show zero values,Mostra valori zero,
Sick Leave,Permesso per Malattia,
Silt,Limo,
Single Variant,Variante singola,
Single unit of an Item.,Unità singola di un articolo.,
"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Ignora Permessi allocati per i seguenti dipendenti, poiché i record di permessi allocati esistono già. {0}",
"Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}","Salto dell&#39;assegnazione della struttura salariale per i seguenti dipendenti, poiché i registri di assegnazione della struttura salariale già esistono contro di loro. {0}",
Slideshow,Slideshow,
Slots for {0} are not added to the schedule,Gli slot per {0} non vengono aggiunti alla pianificazione,
Small,Piccolo,
Soap & Detergent,Soap & Detergente,
Software,Software,
Software Developer,Software Developer,
Softwares,software,
Soil compositions do not add up to 100,Le composizioni del suolo non si sommano a 100,
Sold,Venduto,
Some emails are invalid,Alcune email non sono valide,
Some information is missing,Alcune informazioni manca,
Something went wrong!,Qualcosa è andato storto!,
"Sorry, Serial Nos cannot be merged","Siamo spiacenti , Serial Nos non può essere fusa",
Source,Fonte,
Source Name,Source Name,
Source Warehouse,Magazzino di provenienza,
Source and Target Location cannot be same,La posizione di origine e destinazione non può essere la stessa,
Source and target warehouse cannot be same for row {0},Magazzino di origine e di destinazione non possono essere uguali per rigo {0},
Source and target warehouse must be different,Magazzino di Origine e di Destinazione devono essere diversi,
Source of Funds (Liabilities),Fonte di Fondi ( Passivo ),
Source warehouse is mandatory for row {0},Il Magazzino di provenienza è obbligatorio per il rigo {0},
Specified BOM {0} does not exist for Item {1},BOM specificato {0} non esiste per la voce {1},
Split,Diviso,
Split Batch,Split Batch,
Split Issue,Dividi Problema,
Sports,sportivo,
Staffing Plan {0} already exist for designation {1},Il piano di staff {0} esiste già per la designazione {1},
Standard,Standard,
Standard Buying,Listino d'Acquisto,
Standard Selling,Listino di Vendita,
Standard contract terms for Sales or Purchase.,Condizioni contrattuali standard per la vendita o di acquisto.,
Start Date,Data di inizio,
Start Date of Agreement can't be greater than or equal to End Date.,La data di inizio dell&#39;accordo non può essere maggiore o uguale alla data di fine.,
Start Year,Inizio Anno,
"Start and end dates not in a valid Payroll Period, cannot calculate {0}","Le date di inizio e fine non si trovano in un periodo di gestione stipendi valido, impossibile calcolare {0}",
"Start and end dates not in a valid Payroll Period, cannot calculate {0}.","Le date di inizio e di fine non sono in un periodo di stipendio valido, non è possibile calcolare {0}.",
Start date should be less than end date for Item {0},Data di inizio dovrebbe essere inferiore a quella di fine per la voce {0},
Start date should be less than end date for task {0},La data di inizio dovrebbe essere inferiore alla data di fine per l&#39;attività {0},
Start day is greater than end day in task '{0}',Il giorno iniziale è maggiore del giorno finale nell&#39;&#39;attività &#39;{0}&#39;,
Start on,Inizia,
State,Stato,
State/UT Tax,Imposta statale / UT,
Statement of Account,Estratto conto,
Status must be one of {0},Stato deve essere uno dei {0},
Stock,Magazzino,
Stock Adjustment,Regolazione della,
Stock Analytics,Analytics Archivio,
Stock Assets,Attivo Immagini,
Stock Available,Disponibile a magazzino,
Stock Balance,Saldo Delle Scorte,
Stock Entries already created for Work Order ,Registrazioni azionarie già create per ordine di lavoro,
Stock Entry,Movimento di magazzino,
Stock Entry {0} created,Entrata Scorte di Magazzino {0} creata,
Stock Entry {0} is not submitted,Movimento di magazzino {0} non confermato,
Stock Expenses,Spese di stoccaggio,
Stock In Hand,Stock in mano,
Stock Items,Articoli di magazzino,
Stock Ledger,Inventario,
Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Inserimenti Inventario e Libro Mastro sono aggiornati per le Ricevute di Acquisto selezionate,
Stock Levels,I livelli delle scorte,
Stock Liabilities,Passività in Giacenza,
Stock Options,Stock Options,
Stock Qty,Quantità di magazzino,
Stock Received But Not Billed,Giacenza Ricevuta ma non Fatturata,
Stock Reports,Report Magazzino,
Stock Summary,Sintesi della,
Stock Transactions,Documenti di magazzino,
Stock UOM,UdM Giacenza,
Stock Value,Valore Giacenza,
Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},Equilibrio Stock in Lotto {0} sarà negativo {1} per la voce {2} a Warehouse {3},
Stock cannot be updated against Delivery Note {0},Stock non può essere aggiornata contro Consegna Nota {0},
Stock cannot be updated against Purchase Receipt {0},Stock non può essere aggiornato nei confronti di acquisto ricevuta {0},
Stock cannot exist for Item {0} since has variants,Stock non può esistere per la voce {0} dal ha varianti,
Stock transactions before {0} are frozen,Operazioni Giacenza prima {0} sono bloccate,
Stop,Stop,
Stopped,Arrestato,
"Stopped Work Order cannot be cancelled, Unstop it first to cancel","L&#39;ordine di lavoro interrotto non può essere annullato, fermalo prima per annullare",
Stores,negozi,
Structures have been assigned successfully,Le strutture sono state assegnate correttamente,
Student,Alunno,
Student Activity,Attività studentesca,
Student Address,Indirizzo studente,
Student Admissions,Ammissioni di studenti,
Student Attendance,La partecipazione degli studenti,
"Student Batches help you track attendance, assessments and fees for students","I lotti degli studenti aiutano a tenere traccia di presenza, le valutazioni e le tasse per gli studenti",
Student Email Address,Student Indirizzo e-mail,
Student Email ID,Student Email ID,
Student Group,Gruppo Student,
Student Group Strength,Forza del gruppo studente,
Student Group is already updated.,Il gruppo studente è già aggiornato.,
Student Group: ,Gruppo di studenti:,
Student ID,Student ID,
Student ID: ,ID studente:,
Student LMS Activity,Attività LMS per studenti,
Student Mobile No.,No. studente in mobilità,
Student Name,Nome dello studente,
Student Name: ,Nome dello studente:,
Student Report Card,Student Report Card,
Student is already enrolled.,Studente è già registrato.,
Student {0} - {1} appears Multiple times in row {2} & {3},Studente {0} - {1} compare più volte nella riga {2} e {3},
Student {0} does not belong to group {1},Lo studente {0} non appartiene al gruppo {1},
Student {0} exist against student applicant {1},Studente {0} esiste contro richiedente studente {1},
"Students are at the heart of the system, add all your students","Gli studenti sono al cuore del sistema, aggiungere tutti gli studenti",
Sub Assemblies,sub Assemblies,
Sub Type,Sottotipo,
Sub-contracting,Subappalto,
Subcontract,Conto lavoro,
Subject,Oggetto,
Submit,Conferma,
Submit Proof,Invia prova,
Submit Salary Slip,Presenta Busta Paga,
Submit this Work Order for further processing.,Invia questo ordine di lavoro per ulteriori elaborazioni.,
Submit this to create the Employee record,Invia questo per creare il record Dipendente,
Submitting Salary Slips...,Invio di buste salariali ...,
Subscription,Sottoscrizione,
Subscription Management,Gestione delle iscrizioni,
Subscriptions,Sottoscrizioni,
Subtotal,Sub Totale,
Successful,Riuscito,
Successfully Reconciled,Riconciliati correttamente,
Successfully Set Supplier,Impostare correttamente il fornitore,
Successfully created payment entries,Voci di pagamento create con successo,
Successfully deleted all transactions related to this company!,"Tutte le operazioni relative a questa società, sono state cancellate con successo!",
Sum of Scores of Assessment Criteria needs to be {0}.,Somma dei punteggi di criteri di valutazione deve essere {0}.,
Sum of points for all goals should be 100. It is {0},Somma dei punti per tutti gli obiettivi dovrebbero essere 100. E &#39;{0},
Summary,Sommario,
Summary for this month and pending activities,Riepilogo per questo mese e le attività in corso,
Summary for this week and pending activities,Riepilogo per questa settimana e le attività in corso,
Sunday,Domenica,
Suplier,suplier,
Supplier,Fornitore,
Supplier Group,Gruppo di fornitori,
Supplier Group master.,Gruppo di fornitori master.,
Supplier Id,ID fornitore,
Supplier Invoice Date cannot be greater than Posting Date,La data Fattura Fornitore non può essere superiore della Data Registrazione,
Supplier Invoice No,Fattura Fornitore N.,
Supplier Invoice No exists in Purchase Invoice {0},La Fattura Fornitore non esiste nella Fattura di Acquisto {0},
Supplier Name,Nome Fornitore,
Supplier Part No,Articolo Fornitore No,
Supplier Quotation,Preventivo Fornitore,
Supplier Scorecard,Scorecard dei fornitori,
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Magazzino Fornitore obbligatorio per ricevuta d'acquisto del conto lavoro,
Supplier database.,Database dei fornitori.,
Supplier {0} not found in {1},Fornitore {0} non trovato in {1},
Supplier(s),Fornitore(i),
Supplies made to UIN holders,Forniture effettuate ai possessori di UIN,
Supplies made to Unregistered Persons,Forniture effettuate a persone non registrate,
Suppliies made to Composition Taxable Persons,Supplementi fatti ai soggetti passivi di composizione,
Supply Type,Tipo di fornitura,
Support,Post Vendita,
Support Analytics,Analytics Support,
Support Settings,Impostazioni di supporto,
Support Tickets,Supporta i biglietti,
Support queries from customers.,Supportare le query da parte dei clienti.,
Susceptible,suscettibile,
Sync has been temporarily disabled because maximum retries have been exceeded,La sincronizzazione è stata temporaneamente disabilitata perché sono stati superati i tentativi massimi,
Syntax error in condition: {0},Errore di sintassi nella condizione: {0},
Syntax error in formula or condition: {0},Errore di sintassi nella formula o una condizione: {0},
System Manager,System Manager,
TDS Rate %,Tasso TDS%,
Tap items to add them here,Tocca gli elementi da aggiungere qui,
Target,Obiettivo,
Target ({}),Bersaglio ({}),
Target On,obiettivo On,
Target Warehouse,Magazzino di Destinazione,
Target warehouse is mandatory for row {0},Il Magazzino di Destinazione per il rigo {0},
Task,Attività,
Tasks,Attività,
Tasks have been created for managing the {0} disease (on row {1}),Le attività sono state create per la gestione della {0} malattia (sulla riga {1}),
Tax,Tassa,
Tax Assets,Assetti fiscali,
Tax Category,Categoria fiscale,
Tax Category for overriding tax rates.,Categoria fiscale per aliquote fiscali prevalenti.,
"Tax Category has been changed to ""Total"" because all the Items are non-stock items",La categoria fiscale è stata modificata in &quot;Totale&quot; perché tutti gli articoli sono oggetti non in magazzino,
Tax ID,P. IVA / Cod. Fis.,
Tax Id: ,ID fiscale:,
Tax Rate,Aliquota fiscale,
Tax Rule Conflicts with {0},Conflitti norma fiscale con {0},
Tax Rule for transactions.,Regola fiscale per le operazioni.,
Tax Template is mandatory.,Tax modello è obbligatoria.,
Tax Withholding rates to be applied on transactions.,Tassi ritenuti alla fonte da applicare sulle transazioni.,
Tax template for buying transactions.,Modelli fiscali per le transazioni di acquisto.,
Tax template for item tax rates.,Modello fiscale per le aliquote fiscali dell&#39;articolo.,
Tax template for selling transactions.,Modelli fiscali per le transazioni di vendita.,
Taxable Amount,Imponibile,
Taxes,Tasse,
Team Updates,squadra Aggiornamenti,
Technology,Tecnologia,
Telecommunications,Telecomunicazioni,
Telephone Expenses,Spese telefoniche,
Television,Televisione,
Template Name,Nome modello,
Template of terms or contract.,Template di termini o di contratto.,
Templates of supplier scorecard criteria.,Modelli di criteri di scorecard fornitori.,
Templates of supplier scorecard variables.,Modelli delle variabili dei scorecard fornitori.,
Templates of supplier standings.,Modelli di classifica dei fornitori.,
Temporarily on Hold,Temporaneamente in attesa,
Temporary,Temporaneo,
Temporary Accounts,Conti provvisori,
Temporary Opening,Apertura temporanea,
Terms and Conditions,Termini e condizioni,
Terms and Conditions Template,Termini e condizioni Template,
Territory,Territorio,
Test,Test,
Thank you,Grazie,
Thank you for your business!,Grazie per il tuo business!,
The 'From Package No.' field must neither be empty nor it's value less than 1.,Il &#39;Da n. Pacchetto&#39; il campo non deve essere vuoto o il suo valore è inferiore a 1.,
The Brand,Il marchio / brand,
The Item {0} cannot have Batch,L'articolo {0} non può avere Lotto,
The Loyalty Program isn't valid for the selected company,Il programma fedeltà non è valido per la società selezionata,
The Payment Term at row {0} is possibly a duplicate.,Il termine di pagamento nella riga {0} è probabilmente un duplicato.,
The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Il Data Terminologia fine non può essere anteriore alla data di inizio Term. Si prega di correggere le date e riprovare.,
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.,Il Data Terminologia fine non può essere successiva alla data di fine anno dell&#39;anno accademico a cui il termine è legata (Anno Accademico {}). Si prega di correggere le date e riprovare.,
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.,Il Data Terminologia di inizio non può essere anteriore alla data di inizio anno dell&#39;anno accademico a cui il termine è legata (Anno Accademico {}). Si prega di correggere le date e riprovare.,
The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,La Data di fine anno non può essere anteriore alla data di inizio anno. Si prega di correggere le date e riprovare.,
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.,L&#39;importo di {0} impostato in questa richiesta di pagamento è diverso dall&#39;importo calcolato di tutti i piani di pagamento: {1}. Assicurarsi che questo sia corretto prima di inviare il documento.,
The day(s) on which you are applying for leave are holidays. You need not apply for leave.,Le giornate per cui si stanno segnando le ferie sono già di vacanze. Non è necessario chiedere un permesso.,
The field From Shareholder cannot be blank,Il campo Dall&#39;Azionista non può essere vuoto,
The field To Shareholder cannot be blank,Il campo per l&#39;azionista non può essere vuoto,
The fields From Shareholder and To Shareholder cannot be blank,I campi Dall&#39;Azionista e All&#39;Azionista non possono essere vuoti,
The folio numbers are not matching,I numeri del folio non corrispondono,
The holiday on {0} is not between From Date and To Date,La vacanza su {0} non è tra da Data e A Data,
The name of the institute for which you are setting up this system.,Il nome dell&#39;istituto per il quale si sta impostando questo sistema.,
The name of your company for which you are setting up this system.,Il nome dell'azienda per la quale si sta configurando questo sistema.,
The number of shares and the share numbers are inconsistent,Il numero di condivisioni e i numeri di condivisione sono incoerenti,
The payment gateway account in plan {0} is different from the payment gateway account in this payment request,L&#39;account del gateway di pagamento nel piano {0} è diverso dall&#39;account del gateway di pagamento in questa richiesta di pagamento,
The request for quotation can be accessed by clicking on the following link,Accedere alla richiesta di offerta cliccando sul seguente link,
The selected BOMs are not for the same item,Le distinte materiali selezionati non sono per la stessa voce,
The selected item cannot have Batch,La voce selezionata non può avere Batch,
The seller and the buyer cannot be the same,Il venditore e l&#39;acquirente non possono essere uguali,
The shareholder does not belong to this company,L&#39;azionista non appartiene a questa società,
The shares already exist,Le azioni esistono già,
The shares don't exist with the {0},Le condivisioni non esistono con {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","L&#39;attività è stata accodata come processo in background. Nel caso in cui si verifichino problemi durante l&#39;elaborazione in background, il sistema aggiungerà un commento sull&#39;errore in questa Riconciliazione di magazzino e tornerà alla fase Bozza",
"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Quindi le Regole dei prezzi vengono filtrate in base a cliente, Gruppo Cliente, Territorio, Fornitore, Tipo Fornitore, Campagna, Partner di vendita ecc",
"There are inconsistencies between the rate, no of shares and the amount calculated","Ci sono incongruenze tra il tasso, no delle azioni e l&#39;importo calcolato",
There are more holidays than working days this month.,Ci sono più feste che giorni di lavoro questo mese.,
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.,Ci può essere un fattore di raccolta a più livelli basato sul totale speso. Ma il fattore di conversione per la redenzione sarà sempre lo stesso per tutto il livello.,
There can only be 1 Account per Company in {0} {1},Ci può essere solo 1 account per ogni impresa in {0} {1},
"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Può esserci una sola Condizione per Tipo di Spedizione con valore 0 o con valore vuoto per ""A Valore""",
There is no leave period in between {0} and {1},Non c&#39;è periodo di ferie tra {0} e {1},
There is not enough leave balance for Leave Type {0},Non hai giorni sufficienti per il permesso {0},
There is nothing to edit.,Non c'è nulla da modificare.,
There isn't any item variant for the selected item,Non c&#39;è alcuna variante di articolo per l&#39;articolo selezionato,
"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.","Sembra esserci un problema con la configurazione del server GoCardless. Non preoccuparti, in caso di errore, l'importo verrà rimborsato sul tuo conto.",
There were errors creating Course Schedule,Si sono verificati degli errori durante la creazione del programma del corso,
There were errors.,Ci sono stati degli errori.,
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,Questo articolo è un modello e non può essere utilizzato nelle transazioni. Attributi Voce verranno copiate nelle varianti meno che sia impostato 'No Copy',
This Item is a Variant of {0} (Template).,Questa voce è una variante di {0} (Template).,
This Month's Summary,Sommario di questo mese,
This Week's Summary,Sintesi di questa settimana,
This action will stop future billing. Are you sure you want to cancel this subscription?,Questa azione interromperà la fatturazione futura. Sei sicuro di voler cancellare questo abbonamento?,
This covers all scorecards tied to this Setup,Ciò copre tutte le scorecard legate a questo programma di installazione,
This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Questo documento è oltre il limite da {0} {1} per item {4}. State facendo un altro {3} contro lo stesso {2}?,
This is a root account and cannot be edited.,Questo è un account di root e non può essere modificato .,
This is a root customer group and cannot be edited.,Si tratta di un gruppo di clienti root e non può essere modificato .,
This is a root department and cannot be edited.,Questo è un dipartimento root e non può essere modificato.,
This is a root healthcare service unit and cannot be edited.,Questa è un&#39;unità di assistenza sanitaria di root e non può essere modificata.,
This is a root item group and cannot be edited.,Questo è un gruppo elemento principale e non può essere modificato .,
This is a root sales person and cannot be edited.,Si tratta di una persona di vendita di root e non può essere modificato .,
This is a root supplier group and cannot be edited.,Questo è un gruppo di fornitori root e non può essere modificato.,
This is a root territory and cannot be edited.,Questo è un territorio root e non può essere modificato .,
This is an example website auto-generated from ERPNext,Questo è un sito di esempio generato automaticamente da ERPNext,
This is based on logs against this Vehicle. See timeline below for details,Questo si basa su tronchi contro questo veicolo. Vedere cronologia sotto per i dettagli,
This is based on stock movement. See {0} for details,Questo si basa sui movimenti di magazzino. Vedere {0} per i dettagli,
This is based on the Time Sheets created against this project,Questo si basa sulla tabella dei tempi create contro questo progetto,
This is based on the attendance of this Employee,Questo si basa sulla presenza di questo dipendente,
This is based on the attendance of this Student,Questo si basa sulla presenza di questo Student,
This is based on transactions against this Customer. See timeline below for details,Questo si basa su operazioni contro questo cliente. Vedere cronologia sotto per i dettagli,
This is based on transactions against this Healthcare Practitioner.,Questo si basa sulle transazioni contro questo operatore sanitario.,
This is based on transactions against this Patient. See timeline below for details,Questo è basato sulle transazioni contro questo paziente. Per dettagli vedere la sequenza temporale qui sotto,
This is based on transactions against this Sales Person. See timeline below for details,Questo si basa sulle transazioni con questa persona di vendita. Vedi la cronologia qui sotto per i dettagli,
This is based on transactions against this Supplier. See timeline below for details,Questo si basa su operazioni relative a questo fornitore. Vedere cronologia sotto per i dettagli,
This will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,Questo invierà Salary Slips e creerà la registrazione ufficiale. Vuoi procedere?,
This {0} conflicts with {1} for {2} {3},Questo {0} conflitti con {1} per {2} {3},
Time Sheet for manufacturing.,Scheda attività per la produzione.,
Time Tracking,Monitoraggio tempo,
"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Intervallo di tempo saltato, lo slot da {0} a {1} si sovrappone agli slot esistenti da {2} a {3}",
Time slots added,Fascia temporale aggiunta,
Time(in mins),Tempo (in minuti),
Timer,Timer,
Timer exceeded the given hours.,Il timer ha superato le ore indicate.,
Timesheet,Scheda attività,
Timesheet for tasks.,Scheda attività,
Timesheet {0} is already completed or cancelled,La scheda attività {0} è già stata completata o annullata,
Timesheets,Schede attività,
"Timesheets help keep track of time, cost and billing for activites done by your team","Schede attività per tenere traccia del tempo, i costi e la fatturazione per attività fatta per tua squadra",
Titles for print templates e.g. Proforma Invoice.,Titoli di modelli di stampa p. es. Fattura proforma,
To,A,
To Address 1,Indirizzo 1,
To Address 2,Per Indirizzo 2,
To Bill,Da Fatturare,
To Date,A Data,
To Date cannot be before From Date,'A Data' deve essere successiva a 'Da Data',
To Date cannot be less than From Date,Alla data non può essere inferiore alla data,
To Date must be greater than From Date,A data deve essere maggiore di Da data,
To Date should be within the Fiscal Year. Assuming To Date = {0},'A Data' deve essere entro l'anno fiscale. Assumendo A Data = {0},
To Datetime,Per Data Ora,
To Deliver,Da Consegnare,
To Deliver and Bill,Da Consegnare e Fatturare,
To Fiscal Year,All&#39;anno fiscale,
To GSTIN,A GSTIN,
To Party Name,Per il nome del party,
To Pin Code,Codice PIN,
To Place,Piazzare,
To Receive,Ricevere,
To Receive and Bill,Da ricevere e fatturare,
To State,Stato,
To Warehouse,Al magazzino,
To create a Payment Request reference document is required,Per creare un Riferimento di Richiesta di Pagamento è necessario un Documento,
To date can not be equal or less than from date,Ad oggi non può essere uguale o inferiore alla data,
To date can not be less than from date,Ad oggi non può essere inferiore alla data,
To date can not greater than employee's relieving date,Ad oggi non può essere maggiore della data di rilascio del dipendente,
"To filter based on Party, select Party Type first","Per filtrare sulla base del Partner, selezionare prima il tipo di Partner",
"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","Per ottenere il meglio da ERPNext, si consiglia di richiedere un certo tempo e guardare questi video di aiuto.",
"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Per includere fiscale in riga {0} in rate articolo , tasse nelle righe {1} devono essere inclusi",
To make Customer based incentive schemes.,Per creare piani di incentivi basati sui clienti.,
"To merge, following properties must be same for both items","Per unire , seguenti proprietà devono essere uguali per entrambe le voci",
"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Per non applicare l'articolo Pricing in una determinata operazione, tutte le norme sui prezzi applicabili devono essere disabilitati.",
"To set this Fiscal Year as Default, click on 'Set as Default'","Per impostare questo anno fiscale come predefinito , clicca su ' Imposta come predefinito'",
To view logs of Loyalty Points assigned to a Customer.,Per visualizzare i registri dei punti fedeltà assegnati a un cliente.,
To {0},Per {0},
To {0} | {1} {2},Per {0} | {1} {2},
Toggle Filters,Attiva / disattiva filtri,
Too many columns. Export the report and print it using a spreadsheet application.,Troppe colonne. Esportare il report e stamparlo utilizzando un foglio di calcolo.,
Tools,Strumenti,
Total (Credit),Totale (credito),
Total (Without Tax),Totale (senza tasse),
Total Absent,Totale assente,
Total Achieved,Totale raggiunto,
Total Actual,Totale Actual,
Total Allocated Leaves,Ferie totali allocate,
Total Amount,Totale Importo,
Total Amount Credited,Importo totale accreditato,
Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Totale oneri addebitati in Acquisto tabella di carico Gli articoli devono essere uguale Totale imposte e oneri,
Total Budget,Budget totale,
Total Collected: {0},Totale raccolto: {0},
Total Commission,Commissione totale,
Total Contribution Amount: {0},Importo totale del contributo: {0},
Total Credit/ Debit Amount should be same as linked Journal Entry,L&#39;importo totale del credito / debito dovrebbe essere uguale a quello del giorno di registrazione collegato,
Total Debit must be equal to Total Credit. The difference is {0},Debito totale deve essere pari al totale credito .,
Total Deduction,Deduzione totale,
Total Invoiced Amount,Importo Totale Fatturato,
Total Leaves,Ferie totali,
Total Order Considered,Totale ordine considerato,
Total Order Value,Totale valore di ordine,
Total Outgoing,Uscita totale,
Total Outstanding,Assolutamente stupendo,
Total Outstanding Amount,Totale Importo Dovuto,
Total Outstanding: {0},Totale in sospeso: {0},
Total Paid Amount,Importo totale pagato,
Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,L&#39;importo totale del pagamento nel programma di pagamento deve essere uguale al totale totale / arrotondato,
Total Payments,Pagamenti totali,
Total Present,Presente totale,
Total Qty,Totale Quantità,
Total Quantity,Quantità totale,
Total Revenue,Entrate totali,
Total Student,Studente totale,
Total Target,Obiettivo totale,
Total Tax,Totale IVA,
Total Taxable Amount,Importo totale imponibile,
Total Taxable Value,Valore imponibile totale,
Total Unpaid: {0},Totale non pagato: {0},
Total Variance,Varianza totale,
Total Weightage of all Assessment Criteria must be 100%,Weightage totale di tutti i criteri di valutazione deve essere al 100%,
Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),L'Anticipo totale ({0}) relativo all'ordine {1} non può essere superiore al totale complessivo ({2}),
Total advance amount cannot be greater than total claimed amount,L&#39;importo totale anticipato non può essere superiore all&#39;importo totale richiesto,
Total advance amount cannot be greater than total sanctioned amount,L&#39;importo totale anticipato non può essere maggiore dell&#39;importo sanzionato totale,
Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,Le ferie allocate totali sono più giorni dell'assegnazione massima del tipo di permesso {0} per il dipendente {1} nel periodo,
Total allocated leaves are more than days in the period,Totale ferie assegnate sono più giorni nel periodo,
Total allocated percentage for sales team should be 100,Totale percentuale assegnato per il team di vendita dovrebbe essere di 100,
Total cannot be zero,Totale non può essere zero,
Total contribution percentage should be equal to 100,La percentuale di contributo totale dovrebbe essere pari a 100,
Total flexible benefit component amount {0} should not be less than max benefits {1},L&#39;importo della componente di benefit flessibile totale {0} non deve essere inferiore ai benefit massimi {1},
Total hours: {0},Ore totali: {0},
Total leaves allocated is mandatory for Leave Type {0},Le ferie totali assegnate sono obbligatorie per Tipo di uscita {0},
Total working hours should not be greater than max working hours {0},l&#39;orario di lavoro totale non deve essere maggiore di ore di lavoro max {0},
Total {0} ({1}),Totale {0} ({1}),
"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'","Totale {0} per tutti gli elementi è pari a zero, può essere che si dovrebbe cambiare &#39;distribuire oneri corrispondenti&#39;",
Total(Amt),Totale (Amt),
Total(Qty),Totale (Quantità),
Traceability,tracciabilità,
Traceback,Rintracciare,
Track Leads by Lead Source.,Monitora lead per lead source.,
Training,Formazione,
Training Event,Evento di formazione,
Training Events,Eventi formativi,
Training Feedback,Formazione Commenti,
Training Result,Risultato Formazione,
Transaction,Transazioni,
Transaction Date,Transaction Data,
Transaction Type,Tipo di transazione,
Transaction currency must be same as Payment Gateway currency,Valuta di transazione deve essere uguale a pagamento moneta Gateway,
Transaction not allowed against stopped Work Order {0},Transazione non consentita contro interrotta Ordine di lavorazione {0},
Transaction reference no {0} dated {1},di riferimento della transazione non {0} {1} datato,
Transactions,Le transazioni,
Transactions can only be deleted by the creator of the Company,Le transazioni possono essere eliminati solo dal creatore della Società,
Transfer,Trasferimento,
Transfer Material,Material Transfer,
Transfer Type,Tipo di trasferimento,
Transfer an asset from one warehouse to another,Trasferire un bene da un magazzino all&#39;altro,
Transfered,Trasferiti,
Transferred Quantity,Quantità trasferita,
Transport Receipt Date,Data di ricevimento del trasporto,
Transport Receipt No,Ricevuta di trasporto n,
Transportation,Trasporto,
Transporter ID,ID del trasportatore,
Transporter Name,Trasportatore Nome,
Travel,viaggi,
Travel Expenses,Spese di viaggio,
Tree Type,albero Type,
Tree of Bill of Materials,Albero di Bill of Materials,
Tree of Item Groups.,Albero di gruppi di articoli .,
Tree of Procedures,Albero delle procedure,
Tree of Quality Procedures.,Albero delle procedure di qualità.,
Tree of financial Cost Centers.,Albero dei centri di costo finanziario.,
Tree of financial accounts.,Albero dei conti finanziari.,
Treshold {0}% appears more than once,Soglia {0}% appare più di una volta,
Trial Period End Date Cannot be before Trial Period Start Date,Data di fine del periodo di prova Non può essere precedente alla Data di inizio del periodo di prova,
Trialling,sperimentazione,
Type of Business,Tipo di affare,
Types of activities for Time Logs,Tipi di attività per i registri di tempo,
UOM,Unità di misura,
UOM Conversion factor is required in row {0},Fattore di conversione Unità di Misurà è obbligatoria sulla riga {0},
UOM coversion factor required for UOM: {0} in Item: {1},Fattore di conversione Unità di Misura è obbligatorio per Unità di Misura: {0} alla voce: {1},
URL,URL,
Unable to find DocType {0},Impossibile trovare DocType {0},
Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Impossibile trovare il tasso di cambio per {0} a {1} per la data chiave {2}. Si prega di creare un record Exchange Exchange manualmente,
Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,Impossibile trovare il punteggio partendo da {0}. È necessario avere punteggi in piedi che coprono 0 a 100,
Unable to find variable: ,Impossibile trovare la variabile:,
Unblock Invoice,Sblocca fattura,
Uncheck all,Deseleziona tutto,
Unclosed Fiscal Years Profit / Loss (Credit),Anni fiscali non chiusi - Utile/Perdita (credito),
Unit,Unità,
Unit of Measure,Unità di misura,
Unit of Measure {0} has been entered more than once in Conversion Factor Table,Unità di misura {0} è stata inserita più volte nella tabella di conversione,
Unknown,Sconosciuto,
Unpaid,Non pagata,
Unsecured Loans,Prestiti non garantiti,
Unsubscribe from this Email Digest,Disiscriviti da questo Email Digest,
Unsubscribed,Disiscritto,
Until,Fino a,
Unverified Webhook Data,Dati Webhook non verificati,
Update Account Name / Number,Aggiorna nome / numero account,
Update Account Number / Name,Aggiorna numero / nome account,
Update Cost,Aggiorna il Costo,
Update Items,Aggiorna articoli,
Update Print Format,Aggiornamento Formato di Stampa,
Update Response,Aggiorna risposta,
Update bank payment dates with journals.,Aggiorna le date di pagamento bancario con il Giornale.,
Update in progress. It might take a while.,Aggiornamento in corso. Potrebbe volerci un po &#39;.,
Update rate as per last purchase,Aggiorna i prezzi come da ultimo acquisto,
Update stock must be enable for the purchase invoice {0},Lo stock di aggiornamento deve essere abilitato per la fattura di acquisto {0},
Updating Variants...,Aggiornamento delle varianti ...,
Upload your letter head and logo. (you can edit them later).,Carica la tua testa lettera e logo. (È possibile modificare in un secondo momento).,
Upper Income,Reddito superiore,
Use Sandbox,Usa Sandbox,
Used Leaves,Ferie Usate,
User,Utente,
User ID,ID utente,
User ID not set for Employee {0},ID utente non impostato per Dipedente {0},
User Remark,Osservazioni dell'utente,
User has not applied rule on the invoice {0},L&#39;utente non ha applicato la regola sulla fattura {0},
User {0} already exists,L&#39;&#39;utente {0} esiste già,
User {0} created,Utente {0} creato,
User {0} does not exist,Utente {0} non esiste,
User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,L&#39;utente {0} non ha alcun profilo POS predefinito. Controlla predefinito alla riga {1} per questo utente.,
User {0} is already assigned to Employee {1},Utente {0} è già assegnato a Employee {1},
User {0} is already assigned to Healthcare Practitioner {1},L&#39;utente {0} è già assegnato a Healthcare Practitioner {1},
Users,utenti,
Utility Expenses,Spese di utenza,
Valid From Date must be lesser than Valid Upto Date.,Valido dalla data deve essere minore di Valido fino alla data.,
Valid Till,Valido fino a,
Valid from and valid upto fields are mandatory for the cumulative,I campi validi da e validi fino a sono obbligatori per l&#39;accumulatore,
Valid from date must be less than valid upto date,Valido dalla data deve essere inferiore a valido fino alla data,
Valid till date cannot be before transaction date,Valida fino alla data non può essere prima della data della transazione,
Validity,Validità,
Validity period of this quotation has ended.,Il periodo di validità di questa quotazione è terminato.,
Valuation Rate,Tasso di Valorizzazione,
Valuation Rate is mandatory if Opening Stock entered,La valorizzazione è obbligatoria se si tratta di una disponibilità iniziale di magazzino,
Valuation type charges can not marked as Inclusive,Spese tipo di valutazione non possono contrassegnata come Inclusive,
Value Or Qty,Valore o Quantità,
Value Proposition,Proposta di valore,
Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Valore per l&#39;attributo {0} deve essere all&#39;interno della gamma di {1} a {2} nei incrementi di {3} per la voce {4},
Value missing,Valore mancante,
Value must be between {0} and {1},Il valore deve essere compreso tra {0} e {1},
"Values of exempt, nil rated and non-GST inward supplies","Valori di forniture interne esenti, nulli e non GST",
Variable,Variabile,
Variance,Varianza,
Variance ({}),Varianza ({}),
Variant,Variante,
Variant Attributes,Attributi Variante,
Variant Based On cannot be changed,La variante basata su non può essere modificata,
Variant Details Report,Rapporto dettagli varianti,
Variant creation has been queued.,La creazione di varianti è stata accodata.,
Vehicle Expenses,Spese del veicolo,
Vehicle No,Veicolo No,
Vehicle Type,Tipo Veicolo,
Vehicle/Bus Number,Numero di veicolo / bus,
Venture Capital,capitale a rischio,
View Chart of Accounts,Visualizza il piano dei conti,
View Fees Records,Visualizza i record delle commissioni,
View Form,Visualizza modulo,
View Lab Tests,Visualizza test di laboratorio,
View Leads,Visualizza i Leads,
View Ledger,vista Ledger,
View Now,Guarda ora,
View a list of all the help videos,Visualizzare un elenco di tutti i video di aiuto,
View in Cart,Vedi Carrello,
Visit report for maintenance call.,Visita rapporto per chiamata di manutenzione.,
Visit the forums,Visita i forum,
Vital Signs,Segni vitali,
Volunteer,Volontario,
Volunteer Type information.,Informazioni sul tipo di volontariato.,
Volunteer information.,Volontariato,
Voucher #,Voucher #,
Voucher No,Voucher no,
Voucher Type,Voucher Tipo,
WIP Warehouse,WIP Warehouse,
Walk In,Walk In,
Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Magazzino non può essere eliminato siccome esiste articolo ad inventario per questo Magazzino .,
Warehouse cannot be changed for Serial No.,Magazzino non può essere modificato per Serial No.,
Warehouse is mandatory,Magazzino è obbligatorio,
Warehouse is mandatory for stock Item {0} in row {1},Magazzino è obbligatorio per l'Articolo in Giacenza {0} alla Riga {1},
Warehouse not found in the system,Magazzino non trovato nel sistema,
"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Magazzino richiesto alla riga n. {0}, impostare il magazzino predefinito per l&#39;articolo {1} per la società {2}",
Warehouse required for stock Item {0},Magazzino richiesto per l'Articolo in Giacenza {0},
Warehouse {0} can not be deleted as quantity exists for Item {1},Magazzino {0} non può essere cancellato in quanto esiste la quantità per l' articolo {1},
Warehouse {0} does not belong to company {1},Magazzino {0} non appartiene alla società {1},
Warehouse {0} does not exist,Magazzino {0} non esiste,
"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.","Il magazzino {0} non è collegato a nessun account, si prega di citare l&#39;account nel record magazzino o impostare l&#39;account di inventario predefinito nella società {1}.",
Warehouses with child nodes cannot be converted to ledger,Magazzini con nodi figli non possono essere convertiti a Ledger,
Warehouses with existing transaction can not be converted to group.,Magazzini con transazione esistenti non possono essere convertiti in gruppo.,
Warehouses with existing transaction can not be converted to ledger.,Magazzini con transazione esistenti non possono essere convertiti in contabilità.,
Warning,Attenzione,
Warning: Another {0} # {1} exists against stock entry {2},Attenzione: Un altro {0} # {1} esiste per l'entrata Giacenza {2},
Warning: Invalid SSL certificate on attachment {0},Attenzione: certificato SSL non valido sull&#39;attaccamento {0},
Warning: Invalid attachment {0},Attenzione: L&#39;allegato non valido {0},
Warning: Leave application contains following block dates,Attenzione: la Richiesta di Ferie contiene le seguenti date bloccate,
Warning: Material Requested Qty is less than Minimum Order Qty,Attenzione : Materiale Qty richiesto è inferiore minima quantità,
Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Attenzione: ordini di vendita {0} esiste già contro Ordine di Acquisto del Cliente {1},
Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Attenzione : Il sistema non controlla fatturazione eccessiva poiché importo per la voce {0} in {1} è zero,
Warranty,Garanzia,
Warranty Claim,Richiesta di garanzia,
Warranty Claim against Serial No.,Richiesta Garanzia per N. Serie,
Website,Sito Web,
Website Image should be a public file or website URL,Website Immagine dovrebbe essere un file o URL del sito web pubblico,
Website Image {0} attached to Item {1} cannot be found,Website Immagine {0} collegata alla voce {1} non può essere trovato,
Website Listing,Elenco dei siti web,
Website Manager,Responsabile sito web,
Website Settings,Impostazioni Sito,
Wednesday,Mercoledì,
Week,Settimana,
Weekdays,Nei giorni feriali,
Weekly,Settimanale,
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Il peso è menzionato, \n prega di citare ""Peso UOM"" troppo",
Welcome email sent,Email di benvenuto inviata con successo,
Welcome to ERPNext,Benvenuti in ERPNext,
What do you need help with?,Con cosa hai bisogno di aiuto?,
What does it do?,Che cosa fa ?,
Where manufacturing operations are carried.,Dove si svolgono le operazioni di fabbricazione.,
"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Durante la creazione dell&#39;account per la società figlio {0}, l&#39;account padre {1} non è stato trovato. Crea l&#39;account principale nel COA corrispondente",
White,Bianco,
Wire Transfer,Bonifico bancario,
WooCommerce Products,Prodotti WooCommerce,
Work In Progress,Lavori in corso,
Work Order,Ordine di lavoro,
Work Order already created for all items with BOM,Ordine di lavorazione già creato per tutti gli articoli con BOM,
Work Order cannot be raised against a Item Template,L&#39;ordine di lavoro non può essere aumentato rispetto a un modello di oggetto,
Work Order has been {0},L&#39;ordine di lavoro è stato {0},
Work Order not created,Ordine di lavoro non creato,
Work Order {0} must be cancelled before cancelling this Sales Order,L&#39;ordine di lavoro {0} deve essere annullato prima di annullare questo ordine cliente,
Work Order {0} must be submitted,L&#39;ordine di lavoro {0} deve essere inviato,
Work Orders Created: {0},Ordini di lavoro creati: {0},
Work Summary for {0},Riepilogo del lavoro per {0},
Work-in-Progress Warehouse is required before Submit,Specificare il magazzino Work- in- Progress prima della Conferma,
Workflow,Flusso di lavoro,
Working,Lavorando,
Working Hours,Orari di lavoro,
Workstation,stazione di lavoro,
Workstation is closed on the following dates as per Holiday List: {0},Stazione di lavoro chiusa nei seguenti giorni secondo la lista delle vacanze: {0},
Wrapping up,Avvolgendo,
Wrong Password,Password errata,
Year start date or end date is overlapping with {0}. To avoid please set company,La data di inizio o di fine Anno si sovrappone con {0}. Per risolvere questo problema impostare l'Azienda,
You are not authorized to add or update entries before {0},Non sei autorizzato ad aggiungere o aggiornare le voci prima di {0},
You are not authorized to approve leaves on Block Dates,Non sei autorizzato ad approvare ferie su Date Protette,
You are not authorized to set Frozen value,Non sei autorizzato a impostare il valore bloccato,
You are not present all day(s) between compensatory leave request days,Non sei presente tutto il giorno / i tra giorni di ferie di congedi compensativi,
You can not change rate if BOM mentioned agianst any item,Non è possibile cambiare tariffa se la Distinta Base è già assegnata a un articolo,
You can not enter current voucher in 'Against Journal Entry' column,Non è possibile inserire il buono nella colonna 'Against Journal Entry',
You can only have Plans with the same billing cycle in a Subscription,Puoi avere solo piani con lo stesso ciclo di fatturazione in un abbonamento,
You can only redeem max {0} points in this order.,Puoi solo riscattare massimo {0} punti in questo ordine.,
You can only renew if your membership expires within 30 days,Puoi rinnovare solo se la tua iscrizione scade entro 30 giorni,
You can only select a maximum of one option from the list of check boxes.,È possibile selezionare solo un massimo di un&#39;opzione dall&#39;elenco di caselle di controllo.,
You can only submit Leave Encashment for a valid encashment amount,È possibile inviare solo escissione per un importo di incasso valido,
You can't redeem Loyalty Points having more value than the Grand Total.,Non è possibile riscattare punti fedeltà che hanno più valore del totale generale.,
You cannot credit and debit same account at the same time,"Non si può di credito e debito stesso conto , allo stesso tempo",
You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Non è possibile cancellare l&#39;anno fiscale {0}. Anno fiscale {0} è impostato in modo predefinito in Impostazioni globali,
You cannot delete Project Type 'External',Non è possibile eliminare il tipo di progetto &#39;Esterno&#39;,
You cannot edit root node.,Non è possibile modificare il nodo principale.,
You cannot restart a Subscription that is not cancelled.,Non è possibile riavviare una sottoscrizione che non è stata annullata.,
You don't have enought Loyalty Points to redeem,Non hai abbastanza Punti fedeltà da riscattare,
You have already assessed for the assessment criteria {}.,Hai già valutato i criteri di valutazione {}.,
You have already selected items from {0} {1},Hai già selezionato elementi da {0} {1},
You have been invited to collaborate on the project: {0},Sei stato invitato a collaborare al progetto: {0},
You have entered duplicate items. Please rectify and try again.,Hai inserito degli elementi duplicati . Si prega di correggere e riprovare .,
You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,Devi essere un utente diverso dall&#39;amministratore con i ruoli di System Manager e Item Manager da registrare sul Marketplace.,
You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,Devi essere un utente con i ruoli di System Manager e Item Manager per aggiungere utenti al Marketplace.,
You need to be a user with System Manager and Item Manager roles to register on Marketplace.,Devi essere un utente con i ruoli di System Manager e Item Manager da registrare sul Marketplace.,
You need to be logged in to access this page,Devi essere loggato per accedere a questa pagina,
You need to enable Shopping Cart,È necessario abilitare Carrello,
You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Perderai i record delle fatture generate in precedenza. Sei sicuro di voler riavviare questo abbonamento?,
Your Organization,La tua organizzazione,
Your cart is Empty,Il tuo carrello è vuoto,
Your email address...,Il tuo indirizzo di posta elettronica...,
Your order is out for delivery!,Il tuo ordine è fuori consegna!,
Your tickets,I tuoi biglietti,
ZIP Code,Cap,
[Error],[Errore],
[{0}](#Form/Item/{0}) is out of stock,[{0}](#Form/Item/{0}) è esaurito,
`Freeze Stocks Older Than` should be smaller than %d days.,`Blocca Scorte più vecchie di` dovrebbero essere inferiori %d giorni .,
based_on,basato su,
cannot be greater than 100,non può essere superiore a 100,
disabled user,utente disabilitato,
"e.g. ""Build tools for builders""","p. es. "" Costruire strumenti per i costruttori """,
"e.g. ""Primary School"" or ""University""","ad esempio, ""Scuola Elementare"" o ""Università""",
"e.g. Bank, Cash, Credit Card","p. es. Banca, Bonifico, Contanti, Carta di credito",
hidden,nascosto,
modified,modificata,
old_parent,old_parent,
on,On,
{0} '{1}' is disabled,{0} '{1}' è disabilitato,
{0} '{1}' not in Fiscal Year {2},{0} '{1}' non in anno fiscale {2},
{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) non può essere maggiore della quantità pianificata ({2}) nell'ordine di lavoro {3},
{0} - {1} is inactive student,{0} - {1} è uno studente inattivo,
{0} - {1} is not enrolled in the Batch {2},{0} - {1} non è incluso nel lotto {2},
{0} - {1} is not enrolled in the Course {2},{0} - {1} non è iscritto al corso {2},
{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} budget per l'account {1} contro {2} {3} è {4}. Si supererà di {5},
{0} Digest,{0} Digest,
{0} Request for {1},{0} Richiesta per {1},
{0} Result submittted,{0} Risultato inviato,
{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} numeri di serie necessari per la voce {1}. Lei ha fornito {2}.,
{0} Student Groups created.,{0} Gruppo Studenti creato.,
{0} Students have been enrolled,{0} Gli studenti sono stati iscritti,
{0} against Bill {1} dated {2},{0} per fattura {1} in data {2},
{0} against Purchase Order {1},{0} contro ordine di acquisto {1},
{0} against Sales Invoice {1},{0} per fattura di vendita {1},
{0} against Sales Order {1},{0} per ordine di vendita {1},
{0} already allocated for Employee {1} for period {2} to {3},{0} già allocato il dipendente {1} per il periodo {2} a {3},
{0} applicable after {1} working days,{0} applicabile dopo {1} giorni lavorativi,
{0} asset cannot be transferred,{0} attività non può essere trasferito,
{0} can not be negative,{0} non può essere negativo,
{0} created,{0} creato,
"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.",{0} ha attualmente una posizione di valutazione del fornitore {1} e gli ordini di acquisto a questo fornitore dovrebbero essere rilasciati con cautela.,
"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.",{0} è attualmente in possesso di una valutazione (Scorecard) del fornitore pari a {1}  e le RFQ a questo fornitore dovrebbero essere inviate con cautela.,
{0} does not belong to Company {1},{0} non appartiene alla società {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} non vi è nessuna programmazione di Operatori Sanitari. Aggiungilo nella sezione principale degli Operatori Sanitari,
{0} entered twice in Item Tax,{0} inserito due volte in tassazione articolo,
{0} for {1},{0} per {1},
{0} has been submitted successfully,{0} è stato inviato correttamente,
{0} has fee validity till {1},{0} ha la validità della tassa fino a {1},
{0} hours,{0} ore,
{0} in row {1},{0} nella riga {1},
{0} is blocked so this transaction cannot proceed,"{0} è bloccato, quindi questa transazione non può continuare",
{0} is mandatory,{0} è obbligatorio,
{0} is mandatory for Item {1},{0} è obbligatorio per la voce {1},
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} è obbligatorio. Forse il record di cambio di valuta non è stato creato per {1} {2}.,
{0} is not a stock Item,{0} non è un articolo in scorta,
{0} is not a valid Batch Number for Item {1},{0} non è un numero di lotto valido per la voce {1},
{0} is not added in the table,{0} non è stato aggiunto nella tabella,
{0} is not in Optional Holiday List,{0} non è presente nell'elenco delle festività opzionali,
{0} is not in a valid Payroll Period,{0} non è in un periodo di stipendio valido,
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} è ora l'anno fiscale predefinito. Si prega di aggiornare il browser perché la modifica abbia effetto .,
{0} is on hold till {1},{0} è in attesa fino a {1},
{0} item found.,{0} elemento trovato.,
{0} items found.,{0} elementi trovati.,
{0} items in progress,{0} articoli in lavorazione,
{0} items produced,{0} articoli prodotti,
{0} must appear only once,{0} deve apparire una sola volta,
{0} must be negative in return document,{0} deve essere negativo nel documento di reso,
{0} must be submitted,{0} deve essere inviato,
{0} not allowed to transact with {1}. Please change the Company.,{0} non è consentito effettuare transazioni con {1}. Per favore cambia la compagnia.,
{0} not found for item {1},{0} non trovato per l&#39;articolo {1},
{0} parameter is invalid,Il parametro {0} non è valido,
{0} payment entries can not be filtered by {1},{0} I Pagamenti non possono essere filtrati per {1},
{0} should be a value between 0 and 100,{0} dovrebbe essere un valore compreso tra 0 e 100,
{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} unità di [{1}](#Form/Item/{1}) trovate in [{2}](#Form/Warehouse/{2}),
{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} unità di {1} necessarie in {2} su {3} {4} di {5} per completare la transazione.,
{0} units of {1} needed in {2} to complete this transaction.,{0} unità di {1} necessarie in {2} per completare la transazione.,
{0} valid serial nos for Item {1},{0} numeri di serie validi per l'articolo {1},
{0} variants created.,{0} varianti create.,
{0} {1} created,{0} {1} creato,
{0} {1} does not exist,{0} {1} non esiste,
{0} {1} does not exist.,{0} {1} non esiste.,
{0} {1} has been modified. Please refresh.,{0} {1} è stato modificato. Aggiornare prego.,
{0} {1} has not been submitted so the action cannot be completed,{0} {1} non è stato inviato perciò l'azione non può essere completata,
"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} è associato a {2}, ma il conto partito è {3}",
{0} {1} is cancelled or closed,{0} {1} è stato chiuso o eliminato,
{0} {1} is cancelled or stopped,{0} {1} viene cancellato o fermato,
{0} {1} is cancelled so the action cannot be completed,{0} {1} è cancellato perciò l'azione non può essere completata,
{0} {1} is closed,{0} {1} è stato chiuso,
{0} {1} is disabled,{0} {1} è disabilitato,
{0} {1} is frozen,{0} {1} è bloccato,
{0} {1} is fully billed,{0} {1} è completamente fatturato,
{0} {1} is not active,{0} {1} non è attivo,
{0} {1} is not associated with {2} {3},{0} {1} non è associato a {2} {3},
{0} {1} is not present in the parent company,{0} {1} non è presente nella società madre,
{0} {1} is not submitted,{0} {1} non è confermato,
{0} {1} is {2},{0} {1} è {2},
{0} {1} must be submitted,{0} {1} deve essere confermato,
{0} {1} not in any active Fiscal Year.,{0} {1} non presente in alcun Anno Fiscale attivo.,
{0} {1} status is {2},{0} {1} stato è {2},
{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,{0} {1}: Conto economico {2} non ammesso nelle registrazioni di apertura,
{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Il conto {2} non appartiene alla società {3},
{0} {1}: Account {2} is inactive,{0} {1}: Il conto {2} è inattivo,
{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: La scrittura contabile {2} può essere effettuate solo in : {3},
{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: centro di costo è obbligatorio per la voce {2},
{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,{0} {1}: E' richiesto il Centro di Costo per il Conto Economico {2}. Configura un Centro di Costo di default per l'azienda,
{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: Il Centro di Costo {2} non appartiene all'azienda {3},
{0} {1}: Customer is required against Receivable account {2},{0} {1}:Per la Contabilità Clienti è necessario specificare un Cliente  {2},
{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Un importo a debito o a credito è richiesto per {2},
{0} {1}: Supplier is required against Payable account {2},{0} {1}: Il campo Fornitore è richiesto per il conto di debito  {2},
{0}% Billed,{0}% Fatturato,
{0}% Delivered,{0}% consegnato,
"{0}: Employee email not found, hence email not sent","{0}: Indirizzo e-mail del dipendente non trovato, e-mail non inviata",
{0}: From {0} of type {1},{0}: da {0} di tipo {1},
{0}: From {1},{0}: da {1},
{0}: {1} does not exists,{0}: {1} non esiste,
{0}: {1} not found in Invoice Details table,{0}: {1} non trovato in tabella Dettagli Fattura,
{} of {},{} di {},
Chat,Chat,
Completed By,Completato da,
Conditions,condizioni,
County,Contea,
Day of Week,Giorno della settimana,
"Dear System Manager,","Spettabile Responsabile di Sistema,",
Default Value,Valore Predefinito,
Email Group,Email Group,
Email Settings,Impostazioni E-mail,
Email not sent to {0} (unsubscribed / disabled),E-mail non inviato a {0} (sottoscritte / disabilitato),
Error Message,Messaggio di errore,
Fieldtype,Tipo di campo,
Help Articles,Aiuto articoli,
ID,ID,
Images,Immagini,
Import,Importazione,
Language,Lingua,
Likes,Piace,
Merge with existing,Unisci con esistente,
Office,Ufficio,
Orientation,Orientamento,
Passive,Passivo,
Percent,Percentuale,
Permanent,Permanente,
Personal,Personale,
Plant,Impianto,
Post,Messaggio,
Postal,Postale,
Postal Code,Codice Postale,
Previous,Precedente,
Provider,Provider,
Read Only,Solo lettura,
Recipient,Destinatario,
Reviews,Recensioni,
Sender,Mittente,
Shop,Negozio,
Sign Up,Iscriviti,
Subsidiary,Sussidiario,
There is some problem with the file url: {0},C&#39;è qualche problema con il file url: {0},
There were errors while sending email. Please try again.,Ci sono stati errori durante l'invio email. Riprova.,
Values Changed,valori modificati,
or,oppure,
Ageing Range 4,Intervallo di invecchiamento 4,
Allocated amount cannot be greater than unadjusted amount,L&#39;importo assegnato non può essere superiore all&#39;importo non rettificato,
Allocated amount cannot be negative,L&#39;importo assegnato non può essere negativo,
"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Il Conto differenze deve essere un account di tipo Attivo / Responsabilità, poiché questa Voce di magazzino è una Voce iniziale",
Error in some rows,Errore in alcune righe,
Import Successful,Importazione riuscita,
Please save first,Si prega di salvare prima,
Price not found for item {0} in price list {1},Prezzo non trovato per l&#39;articolo {0} nel listino prezzi {1},
Warehouse Type,Tipo di magazzino,
'Date' is required,È richiesta la &quot;data&quot;,
Benefit,Beneficiare,
Budgets,i bilanci,
Bundle Qty,Qtà del pacco,
Company GSTIN,Azienda GSTIN,
Company field is required,È richiesto il campo dell&#39;azienda,
Creating Dimensions...,Creazione di quote ...,
Duplicate entry against the item code {0} and manufacturer {1},Voce duplicata rispetto al codice articolo {0} e al produttore {1},
Import Chart Of Accounts from CSV / Excel files,Importa piano dei conti da file CSV / Excel,
Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,GSTIN non valido! L&#39;input inserito non corrisponde al formato GSTIN per titolari UIN o provider di servizi OIDAR non residenti,
Invoice Grand Total,Totale totale fattura,
Last carbon check date cannot be a future date,La data dell&#39;ultima verifica del carbonio non può essere una data futura,
Make Stock Entry,Effettuare una registrazione di magazzino,
Quality Feedback,Feedback sulla qualità,
Quality Feedback Template,Modello di feedback sulla qualità,
Rules for applying different promotional schemes.,Regole per l&#39;applicazione di diversi schemi promozionali.,
Shift,Cambio,
Show {0},Mostra {0},
"Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Caratteri speciali tranne &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; E &quot;}&quot; non consentiti nelle serie di nomi",
Target Details,Dettagli target,
API,API,
Annual,Annuale,
Approved,Approvato,
Change,Cambia,
Contact Email,Email Contatto,
Export Type,Tipo di esportazione,
From Date,Da Data,
Group By,Raggruppare per,
Importing {0} of {1},Importazione di {0} di {1},
Invalid URL,URL non valido,
Landscape,Paesaggio,
Last Sync On,Ultima sincronizzazione attivata,
Naming Series,Denominazione Serie,
No data to export,Nessun dato da esportare,
Portrait,Ritratto,
Print Heading,Intestazione di stampa,
Show Document,Mostra documento,
Show Traceback,Mostra traccia,
Video,video,
Webhook Secret,Segreto Webhook,
% Of Grand Total,% Del totale complessivo,
'employee_field_value' and 'timestamp' are required.,Sono richiesti &#39;employee_field_value&#39; e &#39;timestamp&#39;.,
<b>Company</b> is a mandatory filter.,<b>La società</b> è un filtro obbligatorio.,
<b>From Date</b> is a mandatory filter.,<b>Dalla data</b> è un filtro obbligatorio.,
<b>From Time</b> cannot be later than <b>To Time</b> for {0},<b>From Time</b> non può essere successivo a <b>To Time</b> per {0},
<b>To Date</b> is a mandatory filter.,<b>Ad oggi</b> è un filtro obbligatorio.,
A new appointment has been created for you with {0},Un nuovo appuntamento è stato creato per te con {0},
Account Value,Valore del conto,
Account is mandatory to get payment entries,L&#39;account è obbligatorio per ottenere voci di pagamento,
Account is not set for the dashboard chart {0},L&#39;account non è impostato per il grafico del dashboard {0},
Account {0} does not belong to company {1},Il Conto {0} non appartiene alla società {1},
Account {0} does not exists in the dashboard chart {1},L&#39;account {0} non esiste nel grafico del dashboard {1},
Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Conto: <b>{0}</b> è capitale Lavori in corso e non può essere aggiornato dalla registrazione prima nota,
Account: {0} is not permitted under Payment Entry,Account: {0} non è consentito in Voce pagamento,
Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,La dimensione contabile <b>{0}</b> è richiesta per il conto &quot;Bilancio&quot; {1}.,
Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,La dimensione contabile <b>{0}</b> è richiesta per l&#39;account &quot;Profitti e perdite&quot; {1}.,
Accounting Masters,Master in contabilità,
Accounting Period overlaps with {0},Il periodo contabile si sovrappone a {0},
Activity,Attività,
Add / Manage Email Accounts.,Aggiungere / Gestire accounts email.,
Add Child,Aggiungi una sottovoce,
Add Loan Security,Aggiungi protezione prestito,
Add Multiple,Aggiunta multipla,
Add Participants,Aggiungi partecipanti,
Add to Featured Item,Aggiungi all&#39;elemento in evidenza,
Add your review,Aggiungi la tua recensione,
Add/Edit Coupon Conditions,Aggiungi / Modifica condizioni coupon,
Added to Featured Items,Aggiunto agli articoli in evidenza,
Added {0} ({1}),Aggiunti {0} ({1}),
Address Line 1,Indirizzo,
Addresses,Indirizzi,
Admission End Date should be greater than Admission Start Date.,La data di fine dell&#39;ammissione deve essere maggiore della data di inizio dell&#39;ammissione.,
Against Loan,Contro il prestito,
Against Loan:,Contro il prestito:,
All,Tutti,
All bank transactions have been created,Tutte le transazioni bancarie sono state create,
All the depreciations has been booked,Tutti gli ammortamenti sono stati registrati,
Allocation Expired!,Allocazione scaduta!,
Allow Resetting Service Level Agreement from Support Settings.,Consenti il ripristino del contratto sul livello di servizio dalle impostazioni di supporto.,
Amount of {0} is required for Loan closure,Per la chiusura del prestito è richiesto un importo di {0},
Amount paid cannot be zero,L&#39;importo pagato non può essere zero,
Applied Coupon Code,Codice coupon applicato,
Apply Coupon Code,Applica il codice coupon,
Appointment Booking,Prenotazione appuntamenti,
"As there are existing transactions against item {0}, you can not change the value of {1}","Poiché esistono transazioni esistenti rispetto all'oggetto {0}, non è possibile modificare il valore di {1}",
Asset Id,ID risorsa,
Asset Value,Valore patrimoniale,
Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,La rettifica del valore degli asset non può essere registrata prima della data di acquisto dell&#39;asset <b>{0}</b> .,
Asset {0} does not belongs to the custodian {1},L&#39;asset {0} non appartiene al custode {1},
Asset {0} does not belongs to the location {1},L&#39;asset {0} non appartiene alla posizione {1},
At least one of the Applicable Modules should be selected,È necessario selezionare almeno uno dei moduli applicabili,
Atleast one asset has to be selected.,È necessario selezionare almeno una risorsa.,
Attendance Marked,Presenza segnata,
Attendance has been marked as per employee check-ins,La partecipazione è stata contrassegnata come da check-in dei dipendenti,
Authentication Failed,Autenticazione fallita,
Automatic Reconciliation,Riconciliazione automatica,
Available For Use Date,Disponibile per l&#39;uso Data,
Available Stock,Stock disponibile,
"Available quantity is {0}, you need {1}","La quantità disponibile è {0}, è necessario {1}",
BOM 1,DBA 1,
BOM 2,DBA 2,
BOM Comparison Tool,Strumento di confronto della distinta base,
BOM recursion: {0} cannot be child of {1},Ricorsione DBA: {0} non può essere figlio di {1},
BOM recursion: {0} cannot be parent or child of {1},Ricorsione DBA: {0} non può essere genitore o figlio di {1},
Back to Home,Tornare a casa,
Back to Messages,Torna ai messaggi,
Bank Data mapper doesn't exist,Il mappatore dei dati bancari non esiste,
Bank Details,Coordinate bancarie,
Bank account '{0}' has been synchronized,Il conto bancario &quot;{0}&quot; è stato sincronizzato,
Bank account {0} already exists and could not be created again,Il conto bancario {0} esiste già e non è stato possibile crearlo nuovamente,
Bank accounts added,Conti bancari aggiunti,
Batch no is required for batched item {0},Il numero di lotto non è richiesto per l&#39;articolo in batch {0},
Billing Date,Data di fatturazione,
Billing Interval Count cannot be less than 1,Il conteggio degli intervalli di fatturazione non può essere inferiore a 1,
Blue,Blu,
Book,Libro,
Book Appointment,Prenota un appuntamento,
Brand,Marca,
Browse,Sfoglia,
Call Connected,Chiama connessa,
Call Disconnected,Chiamata disconnessa,
Call Missed,Chiamata persa,
Call Summary,Riepilogo chiamate,
Call Summary Saved,Riepilogo chiamate salvato,
Cancelled,Annullato,
Cannot Calculate Arrival Time as Driver Address is Missing.,Impossibile calcolare l&#39;orario di arrivo poiché l&#39;indirizzo del conducente è mancante.,
Cannot Optimize Route as Driver Address is Missing.,Impossibile ottimizzare il percorso poiché manca l&#39;indirizzo del driver.,
Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,Impossibile completare l&#39;attività {0} poiché l&#39;attività dipendente {1} non è stata completata / annullata.,
Cannot create loan until application is approved,Impossibile creare un prestito fino all&#39;approvazione della domanda,
Cannot find a matching Item. Please select some other value for {0}.,Non riesco a trovare un prodotto trovato. Si prega di selezionare un altro valore per {0}.,
"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Impossibile eseguire l&#39;overbilling per l&#39;articolo {0} nella riga {1} più di {2}. Per consentire l&#39;eccessiva fatturazione, imposta l&#39;indennità in Impostazioni account",
"Capacity Planning Error, planned start time can not be same as end time","Errore di pianificazione della capacità, l&#39;ora di inizio pianificata non può coincidere con l&#39;ora di fine",
Categories,categorie,
Changes in {0},Modifiche in {0},
Chart,Grafico,
Choose a corresponding payment,Scegli un pagamento corrispondente,
Click on the link below to verify your email and confirm the appointment,Fai clic sul link in basso per verificare la tua email e confermare l&#39;appuntamento,
Close,Chiudi,
Communication,Comunicazione,
Compact Item Print,Compact elemento di stampa,
Company,Azienda,
Company of asset {0} and purchase document {1} doesn't matches.,La società dell&#39;asset {0} e il documento di acquisto {1} non corrispondono.,
Compare BOMs for changes in Raw Materials and Operations,Confronta le distinte base per le modifiche alle materie prime e alle operazioni,
Compare List function takes on list arguments,La funzione Confronta elenco accetta argomenti dell&#39;elenco,
Complete,Completare,
Completed,Completato,
Completed Quantity,Quantità completata,
Connect your Exotel Account to ERPNext and track call logs,Collega il tuo account Exotel a ERPNext e traccia i registri delle chiamate,
Connect your bank accounts to ERPNext,Collega i tuoi conti bancari a ERPNext,
Contact Seller,Contatta il venditore,
Continue,Continuare,
Cost Center: {0} does not exist,Centro di costo: {0} non esiste,
Couldn't Set Service Level Agreement {0}.,Impossibile impostare l&#39;accordo sul livello di servizio {0}.,
Country,Paese,
Country Code in File does not match with country code set up in the system,Il codice paese nel file non corrisponde al codice paese impostato nel sistema,
Create New Contact,Crea nuovo contatto,
Create New Lead,Crea nuovo lead,
Create Pick List,Crea elenco di prelievo,
Create Quality Inspection for Item {0},Crea controllo di qualità per l&#39;articolo {0},
Creating Accounts...,Creazione di account ...,
Creating bank entries...,Creazione di registrazioni bancarie ...,
Creating {0},Creazione di {0},
Credit limit is already defined for the Company {0},Il limite di credito è già definito per la società {0},
Ctrl + Enter to submit,Ctrl + Invio per inviare,
Ctrl+Enter to submit,Ctrl + Invio per inviare,
Currency,Valuta,
Current Status,Stato Corrente,
Customer PO,PO cliente,
Customize,Personalizza,
Daily,Giornaliero,
Date,Data,
Date Range,Intervallo di date,
Date of Birth cannot be greater than Joining Date.,La data di nascita non può essere superiore alla data di iscrizione.,
Dear,Gentile,
Default,Predefinito,
Define coupon codes.,Definire i codici coupon.,
Delayed Days,Giorni in ritardo,
Delete,Elimina,
Delivered Quantity,Quantità consegnata,
Delivery Notes,Bolle di consegna,
Depreciated Amount,Ammortamento,
Description,Descrizione,
Designation,Designazione,
Difference Value,Differenza Valore,
Dimension Filter,Filtro dimensionale,
Disabled,Disabilitato,
Disbursement and Repayment,Esborso e rimborso,
Distance cannot be greater than 4000 kms,La distanza non può essere superiore a 4000 km,
Do you want to submit the material request,Vuoi inviare la richiesta materiale,
Doctype,Doctype,
Document {0} successfully uncleared,Documento {0} non chiarito correttamente,
Download Template,Scarica Modello,
Dr,Dr,
Due Date,Data di scadenza,
Duplicate,Duplica,
Duplicate Project with Tasks,Progetto duplicato con attività,
Duplicate project has been created,È stato creato un progetto duplicato,
E-Way Bill JSON can only be generated from a submitted document,E-Way Bill JSON può essere generato solo da un documento inviato,
E-Way Bill JSON can only be generated from submitted document,E-Way Bill JSON può essere generato solo dal documento inviato,
E-Way Bill JSON cannot be generated for Sales Return as of now,e-Way Bill JSON non può essere generato per il ritorno vendite al momento,
ERPNext could not find any matching payment entry,ERPNext non è stato possibile trovare alcuna voce di pagamento corrispondente,
Earliest Age,Prima età,
Edit Details,Modifica i dettagli,
Edit Profile,Modifica Profilo,
Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,È richiesto l&#39;ID del trasportatore GST o il numero del veicolo se la modalità di trasporto è su strada,
Email,E-mail,
Email Campaigns,Campagne e-mail,
Employee ID is linked with another instructor,L&#39;ID dipendente è collegato con un altro istruttore,
Employee Tax and Benefits,Imposta sui dipendenti e benefici,
Employee is required while issuing Asset {0},Il dipendente è richiesto durante l&#39;emissione del bene {0},
Employee {0} does not belongs to the company {1},Il dipendente {0} non appartiene alla società {1},
Enable Auto Re-Order,Abilita il riordino automatico,
End Date of Agreement can't be less than today.,La data di fine dell&#39;accordo non può essere inferiore a oggi.,
End Time,Ora fine,
Energy Point Leaderboard,Classifica dei punti energetici,
Enter API key in Google Settings.,Inserisci la chiave API in Impostazioni Google.,
Enter Supplier,Inserisci il fornitore,
Enter Value,Immettere Valore,
Entity Type,Tipo di entità,
Error,Errore,
Error in Exotel incoming call,Errore nella chiamata in arrivo Exotel,
Error: {0} is mandatory field,Errore: {0} è un campo obbligatorio,
Event Link,Link evento,
Exception occurred while reconciling {0},Si è verificata un&#39;eccezione durante la riconciliazione {0},
Expected and Discharge dates cannot be less than Admission Schedule date,Le date previste e di scarico non possono essere inferiori alla data del Programma di ammissione,
Expire Allocation,Scadenza allocazione,
Expired,Scaduto,
Export,Esporta,
Export not allowed. You need {0} role to export.,Esportazione non consentita . Hai bisogno di {0} ruolo/i da esportare.,
Failed to add Domain,Impossibile aggiungere il dominio,
Fetch Items from Warehouse,Recupera articoli dal magazzino,
Fetching...,Recupero ...,
Field,Campo,
File Manager,File Manager,
Filters,Filtri,
Finding linked payments,Trovare pagamenti collegati,
Fleet Management,Gestione della flotta,
Following fields are mandatory to create address:,I seguenti campi sono obbligatori per creare l&#39;indirizzo:,
For Month,Per mese,
"For item {0} at row {1}, count of serial numbers does not match with the picked quantity","Per l&#39;articolo {0} alla riga {1}, il conteggio dei numeri di serie non corrisponde alla quantità selezionata",
For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Per l&#39;operazione {0}: la quantità ({1}) non può essere inferiore rispetto alla quantità in sospeso ({2}),
For quantity {0} should not be greater than work order quantity {1},Per quantità {0} non dovrebbe essere maggiore della quantità ordine di lavoro {1},
Free item not set in the pricing rule {0},Articolo gratuito non impostato nella regola dei prezzi {0},
From Date and To Date are Mandatory,Dalla data e fino alla data sono obbligatori,
From employee is required while receiving Asset {0} to a target location,Da dipendente è richiesto durante la ricezione di attività {0} in una posizione target,
Fuel Expense,Spese di carburante,
Future Payment Amount,Importo pagamento futuro,
Future Payment Ref,Rif. Pagamento futuro,
Future Payments,Pagamenti futuri,
GST HSN Code does not exist for one or more items,Il codice GST HSN non esiste per uno o più articoli,
Generate E-Way Bill JSON,Genera E-Way Bill JSON,
Get Items,Ottieni Articoli,
Get Outstanding Documents,Ottieni documenti eccezionali,
Goal,Obiettivo,
Greater Than Amount,Maggiore dell&#39;ammontare,
Green,Verde,
Group,Gruppo,
Group By Customer,Raggruppa per cliente,
Group By Supplier,Raggruppa per fornitore,
Group Node,Nodo Group,
Group Warehouses cannot be used in transactions. Please change the value of {0},I magazzini di gruppo non possono essere utilizzati nelle transazioni. Modifica il valore di {0},
Help,Aiuto,
Help Article,Aiuto articolo,
"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Ti aiuta a tenere traccia dei contratti in base a fornitore, cliente e dipendente",
Helps you manage appointments with your leads,Ti aiuta a gestire gli appuntamenti con i tuoi contatti,
Home,Home,
IBAN is not valid,IBAN non è valido,
Import Data from CSV / Excel files.,Importa dati da file CSV / Excel.,
In Progress,In corso,
Incoming call from {0},Chiamata in arrivo da {0},
Incorrect Warehouse,Magazzino errato,
Intermediate,Intermedio,
Invalid Barcode. There is no Item attached to this barcode.,Codice a barre non valido. Non ci sono articoli collegati a questo codice a barre.,
Invalid credentials,Credenziali non valide,
Invite as User,Invita come utente,
Issue Priority.,Priorità al problema.,
Issue Type.,Tipo di problema.,
"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.","Sembra che ci sia un problema con la configurazione delle strisce del server. In caso di fallimento, l&#39;importo verrà rimborsato sul tuo conto.",
Item Reported,Articolo segnalato,
Item listing removed,Elenco degli articoli rimosso,
Item quantity can not be zero,La quantità dell&#39;articolo non può essere zero,
Item taxes updated,Imposte sugli articoli aggiornate,
Item {0}: {1} qty produced. ,Articolo {0}: {1} qtà prodotta.,
Joining Date can not be greater than Leaving Date,La data di iscrizione non può essere superiore alla data di fine,
Lab Test Item {0} already exist,L&#39;articolo del test di laboratorio {0} esiste già,
Last Issue,Ultima emissione,
Latest Age,Fase avanzata,
Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,Lasciare l&#39;applicazione è collegata con allocazioni di ferie {0}. Non è possibile impostare l&#39;applicazione di congedo come congedo gratuito,
Leaves Taken,Foglie prese,
Less Than Amount,Meno dell&#39;importo,
Liabilities,passivo,
Loading...,Caricamento in corso ...,
Loan Amount exceeds maximum loan amount of {0} as per proposed securities,L&#39;importo del prestito supera l&#39;importo massimo del prestito di {0} come da titoli proposti,
Loan Applications from customers and employees.,Domande di prestito da parte di clienti e dipendenti.,
Loan Disbursement,Prestito,
Loan Processes,Processi di prestito,
Loan Security,Sicurezza del prestito,
Loan Security Pledge,Impegno di sicurezza del prestito,
Loan Security Pledge Created : {0},Pegno di sicurezza del prestito creato: {0},
Loan Security Price,Prezzo di sicurezza del prestito,
Loan Security Price overlapping with {0},Prezzo del prestito sovrapposto con {0},
Loan Security Unpledge,Prestito Unpledge di sicurezza,
Loan Security Value,Valore di sicurezza del prestito,
Loan Type for interest and penalty rates,Tipo di prestito per tassi di interesse e penalità,
Loan amount cannot be greater than {0},L&#39;importo del prestito non può essere superiore a {0},
Loan is mandatory,Il prestito è obbligatorio,
Loans,prestiti,
Loans provided to customers and employees.,Prestiti erogati a clienti e dipendenti.,
Location,Posizione,
Log Type is required for check-ins falling in the shift: {0}.,Il tipo di registro è richiesto per i check-in che rientrano nel turno: {0}.,
Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Sembra che qualcuno ti ha mandato a un URL incompleto. Si prega di chiedere loro di esaminare il problema.,
Make Journal Entry,Crea Registro,
Make Purchase Invoice,Crea Fattura d'Acquisto,
Manufactured,Manufatto,
Mark Work From Home,Segna il lavoro da casa,
Master,Maestro,
Max strength cannot be less than zero.,La forza massima non può essere inferiore a zero.,
Maximum attempts for this quiz reached!,Raggiunti i massimi tentativi per questo quiz!,
Message,Messaggio,
Missing Values Required,Valori mancanti richiesti,
Mobile No,Num. Cellulare,
Mobile Number,Numero di cellulare,
Month,Mese,
Name,Nome,
Near you,Vicino a te,
Net Profit/Loss,Utile / perdita netti,
New Expense,Nuova spesa,
New Invoice,Nuova fattura,
New Payment,Nuovo pagamento,
New release date should be in the future,La nuova data di uscita dovrebbe essere in futuro,
Newsletter,Newsletter,
No Account matched these filters: {},Nessun account corrisponde a questi filtri: {},
No Employee found for the given employee field value. '{}': {},Nessun dipendente trovato per il valore del campo dato dipendente. &#39;{}&#39;: {},
No Leaves Allocated to Employee: {0} for Leave Type: {1},Nessun permesso assegnato al dipendente: {0} per il tipo di congedo: {1},
No communication found.,Nessuna comunicazione trovata.,
No correct answer is set for {0},Non è stata impostata una risposta corretta per {0},
No description,Nessuna descrizione,
No issue has been raised by the caller.,Nessun problema è stato sollevato dal chiamante.,
No items to publish,Nessun articolo da pubblicare,
No outstanding invoices found,Non sono state trovate fatture in sospeso,
No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,Non sono state trovate fatture in sospeso per {0} {1} che qualificano i filtri specificati.,
No outstanding invoices require exchange rate revaluation,Nessuna fattura in sospeso richiede una rivalutazione del tasso di cambio,
No reviews yet,Ancora nessuna recensione,
No views yet,Ancora nessuna vista,
Non stock items,Articoli non disponibili,
Not Allowed,Non ammessi,
Not allowed to create accounting dimension for {0},Non è consentito creare una dimensione contabile per {0},
Not permitted. Please disable the Lab Test Template,Non consentito. Disabilitare il modello di test di laboratorio,
Note,Nota,
Notes: ,Note:,
On Converting Opportunity,Sulla conversione di opportunità,
On Purchase Order Submission,Alla presentazione dell&#39;ordine d&#39;acquisto,
On Sales Order Submission,All&#39;invio dell&#39;ordine cliente,
On Task Completion,Al completamento dell&#39;attività,
On {0} Creation,Su {0} Creazione,
Only .csv and .xlsx files are supported currently,Attualmente sono supportati solo i file .csv e .xlsx,
Only expired allocation can be cancelled,È possibile annullare solo l&#39;allocazione scaduta,
Only users with the {0} role can create backdated leave applications,Solo gli utenti con il ruolo {0} possono creare applicazioni congedo retrodatate,
Open,Aperto,
Open Contact,Apri contatto,
Open Lead,Piombo aperto,
Opening and Closing,Apertura e chiusura,
Operating Cost as per Work Order / BOM,Costo operativo secondo l&#39;ordine di lavoro / distinta base,
Order Amount,Ammontare dell&#39;ordine,
Page {0} of {1},Pagina {0} di {1},
Paid amount cannot be less than {0},L&#39;importo pagato non può essere inferiore a {0},
Parent Company must be a group company,La Capogruppo deve essere una società del gruppo,
Passing Score value should be between 0 and 100,Il valore del punteggio superato deve essere compreso tra 0 e 100,
Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,La politica delle password non può contenere spazi o trattini simultanei. Il formato verrà ristrutturato automaticamente,
Patient History,Storia del paziente,
Pause,Pausa,
Pay,Paga,
Payment Document Type,Tipo di documento di pagamento,
Payment Name,Nome pagamento,
Penalty Amount,Importo della penalità,
Pending,In attesa,
Performance,Prestazione,
Period based On,Periodo basato su,
Perpetual inventory required for the company {0} to view this report.,Spazio pubblicitario perpetuo richiesto per la società {0} per visualizzare questo rapporto.,
Phone,Telefono,
Pick List,Lista da cui scegliere,
Plaid authentication error,Errore di autenticazione plaid,
Plaid public token error,Errore token pubblico plaid,
Plaid transactions sync error,Errore di sincronizzazione delle transazioni del plaid,
Please check the error log for details about the import errors,Controllare il registro degli errori per i dettagli sugli errori di importazione,
Please click on the following link to set your new password,Cliccate sul link seguente per impostare la nuova password,
Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Crea le <b>impostazioni DATEV</b> per l&#39;azienda <b>{}</b> .,
Please create adjustment Journal Entry for amount {0} ,Crea una registrazione prima nota di rettifica per l&#39;importo {0},
Please do not create more than 500 items at a time,Non creare più di 500 elementi alla volta,
Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Inserisci un <b>Conto differenze</b> o imposta un <b>Conto di adeguamento stock</b> predefinito per la società {0},
Please enter GSTIN and state for the Company Address {0},Inserisci GSTIN e indica l&#39;indirizzo dell&#39;azienda {0},
Please enter Item Code to get item taxes,Inserisci il codice articolo per ottenere le tasse articolo,
Please enter Warehouse and Date,Inserisci il magazzino e la data,
Please enter the designation,Si prega di inserire la designazione,
Please login as a Marketplace User to edit this item.,Effettua il login come utente del marketplace per modificare questo elemento.,
Please login as a Marketplace User to report this item.,Effettua il login come utente del marketplace per segnalare questo articolo.,
Please select <b>Template Type</b> to download template,Seleziona <b>Tipo</b> di modello per scaricare il modello,
Please select Applicant Type first,Seleziona prima il tipo di candidato,
Please select Customer first,Seleziona prima il cliente,
Please select Item Code first,Seleziona prima il codice articolo,
Please select Loan Type for company {0},Seleziona il tipo di prestito per la società {0},
Please select a Delivery Note,Seleziona una bolla di consegna,
Please select a Sales Person for item: {0},Seleziona un addetto alle vendite per l&#39;articolo: {0},
Please select another payment method. Stripe does not support transactions in currency '{0}',Seleziona un altro metodo di pagamento. Stripe non supporta transazioni in valuta &#39;{0}&#39;,
Please select the customer.,Seleziona il cliente,
Please set a Supplier against the Items to be considered in the Purchase Order.,Si prega di impostare un fornitore rispetto agli articoli da prendere in considerazione nell&#39;ordine di acquisto.,
Please set account heads in GST Settings for Compnay {0},Imposta le intestazioni account in Impostazioni GST per Compnay {0},
Please set an email id for the Lead {0},Imposta un ID email per il lead {0},
Please set default UOM in Stock Settings,Si prega di impostare UOM predefinito in Impostazioni stock,
Please set filter based on Item or Warehouse due to a large amount of entries.,Si prega di impostare il filtro in base all&#39;articolo o al magazzino a causa di una grande quantità di voci.,
Please set up the Campaign Schedule in the Campaign {0},Imposta il programma della campagna nella campagna {0},
Please set valid GSTIN No. in Company Address for company {0},Imposta un numero GSTIN valido nell&#39;indirizzo dell&#39;azienda per la società {0},
Please set {0},Si prega di impostare {0},customer
Please setup a default bank account for company {0},Configura un conto bancario predefinito per la società {0},
Please specify,Si prega di specificare,
Please specify a {0},Si prega di specificare un {0},lead
Pledge Status,Pledge Status,
Pledge Time,Pledge Time,
Printing,Stampa,
Priority,Priorità,
Priority has been changed to {0}.,La priorità è stata cambiata in {0}.,
Priority {0} has been repeated.,La priorità {0} è stata ripetuta.,
Processing XML Files,Elaborazione di file XML,
Profitability,Redditività,
Project,Progetto,
Proposed Pledges are mandatory for secured Loans,Gli impegni proposti sono obbligatori per i prestiti garantiti,
Provide the academic year and set the starting and ending date.,Fornire l&#39;anno accademico e impostare la data di inizio e di fine.,
Public token is missing for this bank,Token pubblico mancante per questa banca,
Publish,Pubblicare,
Publish 1 Item,Pubblica 1 oggetto,
Publish Items,Pubblica articoli,
Publish More Items,Pubblica più articoli,
Publish Your First Items,Pubblica i tuoi primi articoli,
Publish {0} Items,Pubblica {0} elementi,
Published Items,Articoli pubblicati,
Purchase Invoice cannot be made against an existing asset {0},La fattura di acquisto non può essere effettuata su un bene esistente {0},
Purchase Invoices,Acquista fatture,
Purchase Orders,Ordini di acquisto,
Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,La ricevuta di acquisto non ha articoli per i quali è abilitato Conserva campione.,
Purchase Return,Acquisto Ritorno,
Qty of Finished Goods Item,Qtà di articoli finiti,
Qty or Amount is mandatroy for loan security,Qtà o importo è obbligatorio per la sicurezza del prestito,
Quality Inspection required for Item {0} to submit,Ispezione di qualità richiesta per l&#39;invio dell&#39;articolo {0},
Quantity to Manufacture,Quantità da produrre,
Quantity to Manufacture can not be zero for the operation {0},La quantità da produrre non può essere zero per l&#39;operazione {0},
Quarterly,Trimestralmente,
Queued,In coda,
Quick Entry,Inserimento rapido,
Quiz {0} does not exist,Il quiz {0} non esiste,
Quotation Amount,Importo dell&#39;offerta,
Rate or Discount is required for the price discount.,Tasso o sconto è richiesto per lo sconto sul prezzo.,
Reason,Motivo,
Reconcile Entries,Riconcilia voci,
Reconcile this account,Riconcilia questo account,
Reconciled,riconciliati,
Recruitment,Reclutamento,
Red,Rosso,
Refreshing,Aggiornamento,
Release date must be in the future,La data di uscita deve essere in futuro,
Relieving Date must be greater than or equal to Date of Joining,La data di rilascio deve essere maggiore o uguale alla data di iscrizione,
Rename,Rinomina,
Rename Not Allowed,Rinomina non consentita,
Repayment Method is mandatory for term loans,Il metodo di rimborso è obbligatorio per i prestiti a termine,
Repayment Start Date is mandatory for term loans,La data di inizio del rimborso è obbligatoria per i prestiti a termine,
Report Item,Segnala articolo,
Report this Item,Segnala questo elemento,
Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Qtà riservata per conto lavoro: quantità di materie prime per la fabbricazione di articoli in conto lavoro.,
Reset,Reset,
Reset Service Level Agreement,Ripristina accordo sul livello di servizio,
Resetting Service Level Agreement.,Ripristino dell&#39;accordo sul livello di servizio.,
Return amount cannot be greater unclaimed amount,L&#39;importo del reso non può essere un importo non riscosso maggiore,
Review,Revisione,
Room,Camera,
Room Type,Tipo di stanza,
Row # ,Row #,
Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Riga # {0}: il magazzino accettato e il magazzino fornitori non possono essere uguali,
Row #{0}: Cannot delete item {1} which has already been billed.,Riga # {0}: impossibile eliminare l&#39;elemento {1} che è già stato fatturato.,
Row #{0}: Cannot delete item {1} which has already been delivered,Riga # {0}: impossibile eliminare l&#39;articolo {1} che è già stato consegnato,
Row #{0}: Cannot delete item {1} which has already been received,Riga # {0}: impossibile eliminare l&#39;elemento {1} che è già stato ricevuto,
Row #{0}: Cannot delete item {1} which has work order assigned to it.,Riga # {0}: impossibile eliminare l&#39;elemento {1} a cui è assegnato un ordine di lavoro.,
Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,Riga # {0}: impossibile eliminare l&#39;articolo {1} assegnato all&#39;ordine di acquisto del cliente.,
Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Riga n. {0}: impossibile selezionare il magazzino del fornitore mentre fornisce materie prime al subappaltatore,
Row #{0}: Cost Center {1} does not belong to company {2},Riga # {0}: Cost Center {1} non appartiene alla società {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}.,Riga n. {0}: l&#39;operazione {1} non è stata completata per {2} quantità di prodotti finiti nell&#39;ordine di lavoro {3}. Aggiorna lo stato dell&#39;operazione tramite la Job Card {4}.,
Row #{0}: Payment document is required to complete the transaction,Riga # {0}: per completare la transazione è richiesto un documento di pagamento,
Row #{0}: Serial No {1} does not belong to Batch {2},Riga # {0}: il numero di serie {1} non appartiene a Batch {2},
Row #{0}: Service End Date cannot be before Invoice Posting Date,Riga n. {0}: la data di fine del servizio non può essere precedente alla data di registrazione della fattura,
Row #{0}: Service Start Date cannot be greater than Service End Date,Riga # {0}: la data di inizio del servizio non può essere superiore alla data di fine del servizio,
Row #{0}: Service Start and End Date is required for deferred accounting,Riga # {0}: la data di inizio e fine del servizio è richiesta per la contabilità differita,
Row {0}: Invalid Item Tax Template for item {1},Riga {0}: modello fiscale articolo non valido per l&#39;articolo {1},
Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Riga {0}: quantità non disponibile per {4} nel magazzino {1} al momento della registrazione della voce ({2} {3}),
Row {0}: user has not applied the rule {1} on the item {2},Riga {0}: l&#39;utente non ha applicato la regola {1} sull&#39;elemento {2},
Row {0}:Sibling Date of Birth cannot be greater than today.,Riga {0}: la data di nascita del fratello non può essere maggiore di oggi.,
Row({0}): {1} is already discounted in {2},Riga ({0}): {1} è già scontato in {2},
Rows Added in {0},Righe aggiunte in {0},
Rows Removed in {0},Righe rimosse in {0},
Sanctioned Amount limit crossed for {0} {1},Limite di importo sanzionato superato per {0} {1},
Sanctioned Loan Amount already exists for {0} against company {1},L&#39;importo del prestito sanzionato esiste già per {0} contro la società {1},
Save,Salva,
Save Item,Salva articolo,
Saved Items,Articoli salvati,
Search Items ...,Cerca articoli ...,
Search for a payment,Cerca un pagamento,
Search for anything ...,Cerca qualcosa ...,
Search results for,cerca risultati per,
Select All,Seleziona tutto,
Select Difference Account,Seleziona Conto differenze,
Select a Default Priority.,Seleziona una priorità predefinita.,
Select a Supplier from the Default Supplier List of the items below.,Selezionare un fornitore dall&#39;elenco fornitori predefinito degli articoli di seguito.,
Select a company,Seleziona un&#39;azienda,
Select finance book for the item {0} at row {1},Seleziona il libro finanziario per l&#39;articolo {0} alla riga {1},
Select only one Priority as Default.,Seleziona solo una priorità come predefinita.,
Seller Information,Informazioni del venditore,
Send,Invia,
Send a message,Mandare un messaggio,
Sending,invio,
Sends Mails to lead or contact based on a Campaign schedule,Invia email per guidare o contattare in base a una pianificazione della campagna,
Serial Number Created,Numero di serie creato,
Serial Numbers Created,Numeri di serie creati,
Serial no(s) required for serialized item {0},Numero (i) seriale (i) richiesto (i) per l&#39;articolo serializzato {0},
Series,Serie,
Server Error,Errore del server,
Service Level Agreement has been changed to {0}.,L&#39;accordo sul livello di servizio è stato modificato in {0}.,
Service Level Agreement was reset.,L&#39;accordo sul livello di servizio è stato ripristinato.,
Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Accordo sul livello di servizio con il tipo di entità {0} e l&#39;entità {1} esiste già.,
Set,set,
Set Meta Tags,Imposta meta tag,
Set {0} in company {1},Imposta {0} nella società {1},
Setup,Setup,
Setup Wizard,Installazione guidata,
Shift Management,Gestione dei turni,
Show Future Payments,Mostra pagamenti futuri,
Show Linked Delivery Notes,Mostra note di consegna collegate,
Show Sales Person,Mostra addetto alle vendite,
Show Stock Ageing Data,Mostra dati di invecchiamento stock,
Show Warehouse-wise Stock,Mostra stock a livello di magazzino,
Size,Taglia,
Something went wrong while evaluating the quiz.,Qualcosa è andato storto durante la valutazione del quiz.,
Sr,sr,
Start,Inizio,
Start Date cannot be before the current date,La data di inizio non può essere precedente alla data corrente,
Start Time,Ora di inizio,
Status,Stato,
Status must be Cancelled or Completed,Lo stato deve essere annullato o completato,
Stock Balance Report,Rapporto sul bilancio azionario,
Stock Entry has been already created against this Pick List,La registrazione titoli è già stata creata in base a questo elenco di selezione,
Stock Ledger ID,ID libro mastro,
Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,Il valore dello stock ({0}) e il saldo del conto ({1}) non sono sincronizzati per l&#39;account {2} ed i relativi magazzini collegati.,
Stores - {0},Negozi - {0},
Student with email {0} does not exist,Lo studente con email {0} non esiste,
Submit Review,invia recensione,
Submitted,Confermato,
Supplier Addresses And Contacts,Indirizzi e contatti Fornitore,
Synchronize this account,Sincronizza questo account,
Tag,Etichetta,
Target Location is required while receiving Asset {0} from an employee,La posizione di destinazione è richiesta quando si riceve l&#39;asset {0} da un dipendente,
Target Location is required while transferring Asset {0},Posizione di destinazione richiesta durante il trasferimento di risorse {0},
Target Location or To Employee is required while receiving Asset {0},Posizione di destinazione o al dipendente è richiesta durante la ricezione dell&#39;attività {0},
Task's {0} End Date cannot be after Project's End Date.,La data di fine {0} dell&#39;attività non può essere successiva alla data di fine del progetto.,
Task's {0} Start Date cannot be after Project's End Date.,La data di inizio {0} dell&#39;attività non può essere successiva alla data di fine del progetto.,
Tax Account not specified for Shopify Tax {0},Conto fiscale non specificato per la tassa Shopify {0},
Tax Total,Totale imposte,
Template,Modelli,
The Campaign '{0}' already exists for the {1} '{2}',La campagna &quot;{0}&quot; esiste già per {1} &quot;{2}&quot;,
The difference between from time and To Time must be a multiple of Appointment,La differenza tra time e To Time deve essere un multiplo di Appointment,
The field Asset Account cannot be blank,Il campo Account asset non può essere vuoto,
The field Equity/Liability Account cannot be blank,Il campo Conto capitale / responsabilità non può essere vuoto,
The following serial numbers were created: <br><br> {0},Sono stati creati i seguenti numeri di serie: <br><br> {0},
The parent account {0} does not exists in the uploaded template,L&#39;account principale {0} non esiste nel modello caricato,
The question cannot be duplicate,La domanda non può essere duplicata,
The selected payment entry should be linked with a creditor bank transaction,La voce di pagamento selezionata deve essere collegata a una transazione bancaria del creditore,
The selected payment entry should be linked with a debtor bank transaction,La voce di pagamento selezionata deve essere collegata a una transazione bancaria del debitore,
The total allocated amount ({0}) is greated than the paid amount ({1}).,L&#39;importo totale assegnato ({0}) è aumentato rispetto all&#39;importo pagato ({1}).,
There are no vacancies under staffing plan {0},Non ci sono posti vacanti nell&#39;ambito del piano di personale {0},
This Service Level Agreement is specific to Customer {0},Il presente Accordo sul livello di servizio è specifico per il Cliente {0},
This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,Questa azione scollegherà questo account da qualsiasi servizio esterno che integri ERPNext con i tuoi conti bancari. Non può essere annullato. Sei sicuro ?,
This bank account is already synchronized,Questo conto bancario è già sincronizzato,
This bank transaction is already fully reconciled,Questa transazione bancaria è già completamente riconciliata,
This employee already has a log with the same timestamp.{0},Questo impiegato ha già un registro con lo stesso timestamp. {0},
This page keeps track of items you want to buy from sellers.,Questa pagina tiene traccia degli articoli che desideri acquistare dai venditori.,
This page keeps track of your items in which buyers have showed some interest.,Questa pagina tiene traccia dei tuoi articoli per i quali gli acquirenti hanno mostrato un certo interesse.,
Thursday,Giovedì,
Timing,sincronizzazione,
Title,Titolo,
"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","Per consentire la fatturazione in eccesso, aggiorna &quot;Assegno di fatturazione in eccesso&quot; in Impostazioni account o Articolo.",
"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","Per consentire l&#39;eccesso di scontrino / consegna, aggiorna &quot;Sovracontrollo / assegno di consegna&quot; in Impostazioni magazzino o Articolo.",
To date needs to be before from date,Ad oggi deve essere precedente alla data,
Total,Totale,
Total Early Exits,Totale uscite anticipate,
Total Late Entries,Totale voci in ritardo,
Total Payment Request amount cannot be greater than {0} amount,L&#39;importo della richiesta di pagamento totale non può essere superiore all&#39;importo di {0},
Total payments amount can't be greater than {},L&#39;importo totale dei pagamenti non può essere superiore a {},
Totals,Totali,
Training Event:,Evento di allenamento:,
Transactions already retreived from the statement,Transazioni già recuperate dall&#39;istruzione,
Transfer Material to Supplier,Trasferire il materiale al Fornitore,
Transport Receipt No and Date are mandatory for your chosen Mode of Transport,La data e la data di ricezione del trasporto sono obbligatorie per la modalità di trasporto prescelta,
Tuesday,Martedì,
Type,Tipo,
Unable to find Salary Component {0},Impossibile trovare la componente di stipendio {0},
Unable to find the time slot in the next {0} days for the operation {1}.,Impossibile trovare la fascia oraria nei prossimi {0} giorni per l&#39;operazione {1}.,
Unable to update remote activity,Impossibile aggiornare l&#39;attività remota,
Unknown Caller,Chiamante sconosciuto,
Unlink external integrations,Scollega integrazioni esterne,
Unmarked Attendance for days,Frequenza non contrassegnata per giorni,
Unpublish Item,Articolo non pubblicato,
Unreconciled,unreconciled,
Unsupported GST Category for E-Way Bill JSON generation,Categoria GST non supportata per la generazione JSON di E-Way Bill,
Update,Aggiornare,
Update Details,Dettagli aggiornamento,
Update Taxes for Items,Aggiorna tasse per articoli,
"Upload a bank statement, link or reconcile a bank account","Carica un estratto conto, collega o riconcilia un conto bancario",
Upload a statement,Carica una dichiarazione,
Use a name that is different from previous project name,Utilizzare un nome diverso dal precedente nome del progetto,
User {0} is disabled,Utente {0} è disattivato,
Users and Permissions,Utenti e Permessi,
Vacancies cannot be lower than the current openings,I posti vacanti non possono essere inferiori alle aperture correnti,
Valid From Time must be lesser than Valid Upto Time.,Valido da tempo deve essere inferiore a Valido fino a tempo.,
Valuation Rate required for Item {0} at row {1},Tasso di valutazione richiesto per l&#39;articolo {0} alla riga {1},
Values Out Of Sync,Valori non sincronizzati,
Vehicle Type is required if Mode of Transport is Road,Il tipo di veicolo è richiesto se la modalità di trasporto è su strada,
Vendor Name,Nome del fornitore,
Verify Email,Verifica Email,
View,Vista,
View all issues from {0},Visualizza tutti i problemi da {0},
View call log,Visualizza registro chiamate,
Warehouse,Magazzino,
Warehouse not found against the account {0},Magazzino non trovato nell&#39;account {0},
Welcome to {0},Benvenuti a {0},
Why do think this Item should be removed?,Perché pensi che questo oggetto debba essere rimosso?,
Work Order {0}: Job Card not found for the operation {1},Ordine di lavoro {0}: scheda lavoro non trovata per l&#39;operazione {1},
Workday {0} has been repeated.,Il giorno lavorativo {0} è stato ripetuto.,
XML Files Processed,File XML elaborati,
Year,Anno,
Yearly,Annuale,
You,Tu,
You are not allowed to enroll for this course,Non ti è permesso iscriverti a questo corso,
You are not enrolled in program {0},Non sei iscritto al programma {0},
You can Feature upto 8 items.,Puoi presentare fino a 8 elementi.,
You can also copy-paste this link in your browser,È possibile anche copiare e incollare questo link nel tuo browser,
You can publish upto 200 items.,Puoi pubblicare fino a 200 articoli.,
You have to enable auto re-order in Stock Settings to maintain re-order levels.,È necessario abilitare il riordino automatico nelle Impostazioni di magazzino per mantenere i livelli di riordino.,
You must be a registered supplier to generate e-Way Bill,Devi essere un fornitore registrato per generare la fattura elettronica,
You need to login as a Marketplace User before you can add any reviews.,Devi accedere come utente del marketplace prima di poter aggiungere recensioni.,
Your Featured Items,I tuoi articoli in vetrina,
Your Items,I tuoi articoli,
Your Profile,Il tuo profilo,
Your rating:,Il tuo punteggio:,
and,e,
e-Way Bill already exists for this document,e-Way Bill esiste già per questo documento,
woocommerce - {0},woocommerce - {0},
{0} Coupon used are {1}. Allowed quantity is exhausted,{0} I coupon utilizzati sono {1}. La quantità consentita è esaurita,
{0} Name,{0} Nome,
{0} Operations: {1},{0} Operazioni: {1},
{0} bank transaction(s) created,{0} transazioni bancarie create,
{0} bank transaction(s) created and {1} errors,{0} transazioni bancarie create e errori {1},
{0} can not be greater than {1},{0} non può essere maggiore di {1},
{0} conversations,{0} conversazioni,
{0} is not a company bank account,{0} non è un conto bancario aziendale,
{0} is not a group node. Please select a group node as parent cost center,{0} non è un nodo del gruppo. Seleziona un nodo del gruppo come centro di costo principale,
{0} is not the default supplier for any items.,{0} non è il fornitore predefinito per nessun articolo.,
{0} is required,{0} è richiesto,
{0}: {1} must be less than {2},{0}: {1} deve essere inferiore a {2},
{} is an invalid Attendance Status.,{} è uno stato di partecipazione non valido.,
{} is required to generate E-Way Bill JSON,{} è necessario per generare l&#39;e-Way Bill JSON,
"Invalid lost reason {0}, please create a new lost reason","Motivo perduto non valido {0}, crea un nuovo motivo perduto",
Profit This Year,Profitto quest&#39;anno,
Total Expense,Spesa totale,
Total Expense This Year,Spese totali quest&#39;anno,
Total Income,Reddito totale,
Total Income This Year,Reddito totale quest&#39;anno,
Barcode,Codice a barre,
Bold,Grassetto,
Center,Centro,
Clear,Chiaro,
Comment,Commento,
Comments,Commenti,
DocType,DocType,
Download,Scarica,
Left,Sinistra,
Link,collegamento,
New,Nuovo,
Not Found,Non trovato,
Print,Stampa,
Reference Name,nome di riferimento,
Refresh,Aggiorna,
Success,Successo,
Time,Tempo,
Value,Valore,
Actual,Effettivo,
Add to Cart,Aggiungi al carrello,
Days Since Last Order,Giorni dall&#39;ultimo ordine,
In Stock,In Magazzino,
Loan Amount is mandatory,L&#39;importo del prestito è obbligatorio,
Mode Of Payment,Modalità di pagamento,
No students Found,Nessuno studente trovato,
Not in Stock,Non in Stock,
Please select a Customer,Si prega di selezionare un cliente,
Printed On,Stampato su,
Received From,Ricevuto da,
Sales Person,Venditore,
To date cannot be before From date,'A Data' deve essere successiva a 'Da Data',
Write Off,Svalutazione,
{0} Created,{0} Creato,
Email Id,ID Email,
No,No,
Reference Doctype,Riferimento DocType,
User Id,ID utente,
Yes,sì,
Actual ,Attuale,
Add to cart,Aggiungi al carrello,
Budget,Budget,
Chart Of Accounts Importer,Importatore del piano dei conti,
Chart of Accounts,Piano dei conti,
Customer database.,Database clienti.,
Days Since Last order,Giorni dall'ultimo ordine,
Download as JSON,Scarica come JSON,
End date can not be less than start date,Data di Fine non può essere inferiore a Data di inizio,
For Default Supplier (Optional),Per fornitore predefinito (facoltativo),
From date cannot be greater than To date,Dalla data non può essere maggiore di Alla data,
Get items from,Ottenere elementi dal,
Group by,Raggruppa per,
In stock,disponibile,
Item name,Nome Articolo,
Loan amount is mandatory,L&#39;importo del prestito è obbligatorio,
Minimum Qty,Qtà minima,
More details,Maggiori dettagli,
Nature of Supplies,Natura dei rifornimenti,
No Items found.,Nessun articolo trovato.,
No employee found,Nessun dipendente trovato,
No students found,Nessun studenti hanno trovato,
Not in stock,Non in magazzino,
Not permitted,Non consentito,
Open Issues ,Problemi Aperti,
Open Projects ,Progetti aperti,
Open To Do ,Aperto per fare,
Operation Id,ID operazione,
Partially ordered,Parzialmente ordinato,
Please select company first,Si prega di selezionare prima la società,
Please select patient,Si prega di selezionare Paziente,
Printed On ,Stampato su,
Projected qty,Qtà proiettata,
Sales person,Addetto alle vendite,
Serial No {0} Created,Serial No {0} creato,
Source Location is required for the Asset {0},La posizione di origine è richiesta per la risorsa {0},
Tax Id,Codice fiscale,
To Time,Per Tempo,
To date cannot be before from date,Ad oggi non può essere precedente a Da data,
Total Taxable value,Totale valore imponibile,
Upcoming Calendar Events ,Prossimi eventi del calendario,
Value or Qty,Valore o Quantità,
Variance ,Varianza,
Variant of,Variante di,
Write off,Svalutazione,
hours,ore,
received from,ricevuto da,
to,A,
Cards,Carte,
Percentage,Percentuale,
Failed to setup defaults for country {0}. Please contact support@erpnext.com,Impossibile impostare i valori predefiniti per il paese {0}. Si prega di contattare support@erpnext.com,
Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Riga # {0}: L&#39;articolo {1} non è un articolo serializzato / in batch. Non può avere un numero di serie / un numero di lotto a fronte di esso.,
Please set {0},Impostare {0},
Please set {0},Si prega di impostare {0},supplier
Draft,Bozza,"docstatus,=,0"
Cancelled,Annullato,"docstatus,=,2"
Please setup Instructor Naming System in Education > Education Settings,Configura il sistema di denominazione dell&#39;istruttore in Istruzione&gt; Impostazioni istruzione,
Please set Naming Series for {0} via Setup > Settings > Naming Series,Impostare Naming Series per {0} tramite Setup&gt; Impostazioni&gt; Naming Series,
UOM Conversion factor ({0} -> {1}) not found for item: {2},Fattore di conversione UOM ({0} -&gt; {1}) non trovato per l&#39;articolo: {2},
Item Code > Item Group > Brand,Codice articolo&gt; Gruppo articoli&gt; Marchio,
Customer > Customer Group > Territory,Cliente&gt; Gruppo di clienti&gt; Territorio,
Supplier > Supplier Type,Fornitore&gt; Tipo di fornitore,
Please setup Employee Naming System in Human Resource > HR Settings,Si prega di impostare il sistema di denominazione dei dipendenti in Risorse umane&gt; Impostazioni risorse umane,
Please setup numbering series for Attendance via Setup > Numbering Series,Impostare le serie di numerazione per la partecipazione tramite Impostazione&gt; Serie di numerazione,
The value of {0} differs between Items {1} and {2},Il valore di {0} è diverso tra Articoli {1} e {2},
Auto Fetch,Recupero automatico,
Fetch Serial Numbers based on FIFO,Recupera numeri di serie basati su FIFO,
"Outward taxable supplies(other than zero rated, nil rated and exempted)","Prestazioni imponibili in uscita (diverse da zero valutate, zero valutate ed esenti)",
"To allow different rates, disable the {0} checkbox in {1}.","Per consentire tariffe diverse, disabilita la {0} casella di controllo in {1}.",
Current Odometer Value should be greater than Last Odometer Value {0},Il valore attuale del contachilometri deve essere maggiore dell&#39;ultimo valore del contachilometri {0},
No additional expenses has been added,Non sono state aggiunte spese aggiuntive,
Asset{} {assets_link} created for {},Risorsa {} {assets_link} creata per {},
Row {}: Asset Naming Series is mandatory for the auto creation for item {},Riga {}: la serie di denominazione delle risorse è obbligatoria per la creazione automatica dell&#39;articolo {},
Assets not created for {0}. You will have to create asset manually.,Risorse non create per {0}. Dovrai creare la risorsa manualmente.,
{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} ha voci contabili nella valuta {2} per la società {3}. Seleziona un conto attivo o passivo con valuta {2}.,
Invalid Account,Account non valido,
Purchase Order Required,Ordine di Acquisto Obbligatorio,
Purchase Receipt Required,Ricevuta di Acquisto necessaria,
Account Missing,Account mancante,
Requested,richiesto,
Partially Paid,Parzialmente pagato,
Invalid Account Currency,Valuta dell&#39;account non valida,
"Row {0}: The item {1}, quantity must be positive number","Riga {0}: l&#39;articolo {1}, la quantità deve essere un numero positivo",
"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Impostare {0} per Articolo in batch {1}, che viene utilizzato per impostare {2} su Invia.",
Expiry Date Mandatory,Data di scadenza obbligatoria,
Variant Item,Articolo variante,
BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} e BOM 2 {1} non devono essere uguali,
Note: Item {0} added multiple times,Nota: elemento {0} aggiunto più volte,
YouTube,Youtube,
Vimeo,Vimeo,
Publish Date,Data di pubblicazione,
Duration,Durata,
Advanced Settings,Impostazioni avanzate,
Path,Percorso,
Components,componenti,
Verified By,Verificato da,
Invalid naming series (. missing) for {0},Serie di denominazione non valida (. Mancante) per {0},
Filter Based On,Filtro basato su,
Reqd by date,Richiesto per data,
Manufacturer Part Number <b>{0}</b> is invalid,Il numero di parte del produttore <b>{0}</b> non è valido,
Invalid Part Number,Numero di parte non valido,
Select atleast one Social Media from Share on.,Seleziona almeno un social media da Condividi su.,
Invalid Scheduled Time,Orario programmato non valido,
Length Must be less than 280.,La lunghezza deve essere inferiore a 280.,
Error while POSTING {0},Errore durante il POSTING {0},
"Session not valid, Do you want to login?","Sessione non valida, vuoi effettuare il login?",
Session Active,Sessione attiva,
Session Not Active. Save doc to login.,Sessione non attiva. Salva documento per accedere.,
Error! Failed to get request token.,Errore! Impossibile ottenere il token di richiesta.,
Invalid {0} or {1},{0} o {1} non valido,
Error! Failed to get access token.,Errore! Impossibile ottenere il token di accesso.,
Invalid Consumer Key or Consumer Secret Key,Chiave consumatore o chiave segreta consumatore non valida,
Your Session will be expire in ,La tua sessione scadrà tra,
 days.,giorni.,
Session is expired. Save doc to login.,La sessione è scaduta. Salva documento per accedere.,
Error While Uploading Image,Errore durante il caricamento dell&#39;immagine,
You Didn't have permission to access this API,Non disponi dell&#39;autorizzazione per accedere a questa API,
Valid Upto date cannot be before Valid From date,La data di aggiornamento valido non può essere precedente alla data di inizio validità,
Valid From date not in Fiscal Year {0},Valido da data non nell&#39;anno fiscale {0},
Valid Upto date not in Fiscal Year {0},Data di aggiornamento valida non nell&#39;anno fiscale {0},
Group Roll No,Rotolo di gruppo n,
Maintain Same Rate Throughout Sales Cycle,Mantenere lo stesso prezzo per tutto il ciclo di vendita,
"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Riga {1}: la quantità ({0}) non può essere una frazione. Per consentire ciò, disabilita &quot;{2}&quot; in UOM {3}.",
Must be Whole Number,Deve essere un Numero Intero,
Please setup Razorpay Plan ID,Si prega di impostare l&#39;ID del piano Razorpay,
Contact Creation Failed,Creazione contatto non riuscita,
{0} already exists for employee {1} and period {2},{0} esiste già per il dipendente {1} e il periodo {2},
Leaves Allocated,Foglie assegnate,
Leaves Expired,Foglie scadute,
Leave Without Pay does not match with approved {} records,Leave Without Pay non corrisponde ai record {} approvati,
Income Tax Slab not set in Salary Structure Assignment: {0},Lastra imposta sul reddito non impostata nell&#39;assegnazione struttura salariale: {0},
Income Tax Slab: {0} is disabled,Lastra imposta sul reddito: {0} è disattivato,
Income Tax Slab must be effective on or before Payroll Period Start Date: {0},La lastra dell&#39;imposta sul reddito deve essere in vigore alla data di inizio del periodo di gestione stipendi o prima: {0},
No leave record found for employee {0} on {1},Nessun record di ferie trovato per il dipendente {0} su {1},
Row {0}: {1} is required in the expenses table to book an expense claim.,Riga {0}: {1} è obbligatoria nella tabella delle spese per registrare una richiesta di rimborso.,
Set the default account for the {0} {1},Imposta l&#39;account predefinito per {0} {1},
(Half Day),(Mezza giornata),
Income Tax Slab,Lastra di imposta sul reddito,
Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Riga n. {0}: impossibile impostare l&#39;importo o la formula per il componente stipendio {1} con variabile basata sullo stipendio imponibile,
Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Riga n. {}: {} Di {} dovrebbe essere {}. Modifica l&#39;account o seleziona un altro account.,
Row #{}: Please asign task to a member.,Riga # {}: assegna un&#39;attività a un membro.,
Process Failed,Processo non riuscito,
Tally Migration Error,Tally Migration Error,
Please set Warehouse in Woocommerce Settings,Si prega di impostare Magazzino nelle impostazioni di Woocommerce,
Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Riga {0}: il magazzino consegne ({1}) e il magazzino clienti ({2}) non possono essere uguali,
Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Riga {0}: la data di scadenza nella tabella Termini di pagamento non può essere precedente alla data di registrazione,
Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Impossibile trovare {} per l&#39;elemento {}. Si prega di impostare lo stesso in Anagrafica articolo o Impostazioni scorte.,
Row #{0}: The batch {1} has already expired.,Riga # {0}: il batch {1} è già scaduto.,
Start Year and End Year are mandatory,L&#39;anno di inizio e l&#39;anno di fine sono obbligatori,
GL Entry,GL Entry,
Cannot allocate more than {0} against payment term {1},Impossibile allocare più di {0} in base al termine di pagamento {1},
The root account {0} must be a group,L&#39;account root {0} deve essere un gruppo,
Shipping rule not applicable for country {0} in Shipping Address,Regola di spedizione non applicabile per il paese {0} nell&#39;indirizzo di spedizione,
Get Payments from,Ricevi pagamenti da,
Set Shipping Address or Billing Address,Imposta indirizzo di spedizione o indirizzo di fatturazione,
Consultation Setup,Configurazione della consultazione,
Fee Validity,Validità della tariffa,
Laboratory Setup,Configurazione del laboratorio,
Dosage Form,Forma di dosaggio,
Records and History,Record e storia,
Patient Medical Record,Registro medico paziente,
Rehabilitation,Riabilitazione,
Exercise Type,Tipo di esercizio,
Exercise Difficulty Level,Livello di difficoltà dell&#39;esercizio,
Therapy Type,Tipo di terapia,
Therapy Plan,Piano terapeutico,
Therapy Session,Sessione di terapia,
Motor Assessment Scale,Scala di valutazione motoria,
[Important] [ERPNext] Auto Reorder Errors,[Importante] [ERPNext] Errori di riordino automatico,
"Regards,","Saluti,",
The following {0} were created: {1},Sono stati creati i seguenti {0}: {1},
Work Orders,Ordini di lavoro,
The {0} {1} created sucessfully,Il {0} {1} è stato creato correttamente,
Work Order cannot be created for following reason: <br> {0},Impossibile creare l&#39;ordine di lavoro per i seguenti motivi:<br> {0},
Add items in the Item Locations table,Aggiungi articoli nella tabella Posizioni articolo,
Update Current Stock,Aggiorna scorta attuale,
"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Conserva campione è basato sul batch, seleziona Ha numero batch per conservare il campione dell&#39;articolo",
Empty,Vuoto,
Currently no stock available in any warehouse,Attualmente non ci sono stock disponibili in nessun magazzino,
BOM Qty,Qtà BOM,
Time logs are required for {0} {1},I registri orari sono obbligatori per {0} {1},
Total Completed Qty,Qtà totale completata,
Qty to Manufacture,Qtà da Produrre,
Repay From Salary can be selected only for term loans,Il rimborso dallo stipendio può essere selezionato solo per i prestiti a termine,
No valid Loan Security Price found for {0},Nessun prezzo di garanzia del prestito valido trovato per {0},
Loan Account and Payment Account cannot be same,Conto prestito e Conto di pagamento non possono essere gli stessi,
Loan Security Pledge can only be created for secured loans,Loan Security Pledge può essere creato solo per prestiti garantiti,
Social Media Campaigns,Campagne sui social media,
From Date can not be greater than To Date,Dalla data non può essere maggiore di Alla data,
Please set a Customer linked to the Patient,Impostare un cliente collegato al paziente,
Customer Not Found,Cliente non trovato,
Please Configure Clinical Procedure Consumable Item in ,Configurare l&#39;elemento consumabile per procedura clinica in,
Missing Configuration,Configurazione mancante,
Out Patient Consulting Charge Item,Out Charge Item di consulenza per il paziente,
Inpatient Visit Charge Item,Visita in carica del paziente,
OP Consulting Charge,Carica di consulenza OP,
Inpatient Visit Charge,Addebito per visita stazionaria,
Appointment Status,Stato dell&#39;appuntamento,
Test: ,Test:,
Collection Details: ,Dettagli della raccolta:,
{0} out of {1},{0} su {1},
Select Therapy Type,Seleziona il tipo di terapia,
{0} sessions completed,{0} sessioni completate,
{0} session completed,{0} sessione completata,
 out of {0},su {0},
Therapy Sessions,Sessioni di terapia,
Add Exercise Step,Aggiungi fase di esercizio,
Edit Exercise Step,Modifica fase esercizio,
Patient Appointments,Appuntamenti dei pazienti,
Item with Item Code {0} already exists,Articolo con codice articolo {0} già esistente,
Registration Fee cannot be negative or zero,La quota di registrazione non può essere negativa o zero,
Configure a service Item for {0},Configura un articolo di servizio per {0},
Temperature: ,Temperatura:,
Pulse: ,Impulso:,
Respiratory Rate: ,Frequenza respiratoria:,
BP: ,BP:,
BMI: ,BMI:,
Note: ,Nota:,
Check Availability,Verificare la disponibilità,
Please select Patient first,Selezionare prima il paziente,
Please select a Mode of Payment first,Seleziona prima una modalità di pagamento,
Please set the Paid Amount first,Si prega di impostare prima l&#39;importo pagato,
Not Therapies Prescribed,Non sono prescritte terapie,
There are no Therapies prescribed for Patient {0},Non ci sono terapie prescritte per il paziente {0},
Appointment date and Healthcare Practitioner are Mandatory,La data di nomina e l&#39;operatore sanitario sono obbligatori,
No Prescribed Procedures found for the selected Patient,Nessuna procedura prescritta trovata per il paziente selezionato,
Please select a Patient first,Seleziona prima un paziente,
There are no procedure prescribed for ,Non ci sono procedure prescritte per,
Prescribed Therapies,Terapie prescritte,
Appointment overlaps with ,L&#39;appuntamento si sovrappone a,
{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} ha un appuntamento programmato con {1} alle {2} della durata di {3} minuti.,
Appointments Overlapping,Appuntamenti sovrapposti,
Consulting Charges: {0},Spese di consulenza: {0},
Appointment Cancelled. Please review and cancel the invoice {0},Appuntamento annullato. Controlla e annulla la fattura {0},
Appointment Cancelled.,Appuntamento annullato.,
Fee Validity {0} updated.,Validità della commissione {0} aggiornata.,
Practitioner Schedule Not Found,Programma praticante non trovato,
{0} is on a Half day Leave on {1},{0} è in ferie di mezza giornata il {1},
{0} is on Leave on {1},{0} è in ferie {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} non dispone di un programma per operatori sanitari. Aggiungilo in Healthcare Practitioner,
Healthcare Service Units,Unità di servizio sanitario,
Complete and Consume,Completa e consuma,
Complete {0} and Consume Stock?,Completare {0} e consumare scorte?,
Complete {0}?,Completare {0}?,
Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,La quantità di scorta per avviare la procedura non è disponibile nel magazzino {0}. Vuoi registrare una voce di borsa?,
{0} as on {1},{0} come su {1},
Clinical Procedure ({0}):,Procedura clinica ({0}):,
Please set Customer in Patient {0},Imposta Cliente in Paziente {0},
Item {0} is not active,L&#39;articolo {0} non è attivo,
Therapy Plan {0} created successfully.,Piano terapeutico {0} creato correttamente.,
Symptoms: ,Sintomi:,
No Symptoms,Nessun sintomo,
Diagnosis: ,Diagnosi:,
No Diagnosis,Nessuna diagnosi,
Drug(s) Prescribed.,Farmaco (i) prescritto.,
Test(s) Prescribed.,Test prescritti.,
Procedure(s) Prescribed.,Procedure prescritte.,
Counts Completed: {0},Conteggi completati: {0},
Patient Assessment,Valutazione del paziente,
Assessments,Valutazioni,
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Soci (o società) per le quali le scritture contabili sono fatte e i saldi vengono mantenuti.,
Account Name,Nome account,
Inter Company Account,Conto Inter Inter,
Parent Account,Account genitore,
Setting Account Type helps in selecting this Account in transactions.,Impostazione Tipo di account aiuta nella scelta questo account nelle transazioni.,
Chargeable,Addebitabile,
Rate at which this tax is applied,Tasso a cui viene applicata questa tassa,
Frozen,Congelato,
"If the account is frozen, entries are allowed to restricted users.","Se l'account viene bloccato , le voci sono autorizzati a utenti con restrizioni .",
Balance must be,Il saldo deve essere,
Lft,Lft,
Rgt,Rgt,
Old Parent,Vecchio genitore,
Include in gross,Includi in lordo,
Auditor,Ispettore,
Accounting Dimension,Dimensione contabile,
Dimension Name,Nome dimensione,
Dimension Defaults,Valori predefiniti,
Accounting Dimension Detail,Dettaglio dimensione contabile,
Default Dimension,Dimensione predefinita,
Mandatory For Balance Sheet,Obbligatorio per il bilancio,
Mandatory For Profit and Loss Account,Conto profitti e perdite obbligatorio,
Accounting Period,Periodo contabile,
Period Name,Nome del periodo,
Closed Documents,Documenti chiusi,
Accounts Settings,Impostazioni Conti,
Settings for Accounts,Impostazioni per gli account,
Make Accounting Entry For Every Stock Movement,Crea una voce contabile per ogni movimento di scorta,
"If enabled, the system will post accounting entries for inventory automatically.","Se abilitato, il sistema pubblicherà le scritture contabili per l&#39;inventario automatico.",
Accounts Frozen Upto,Conti congelati fino al,
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Registrazione contabile congelato fino a questa data, nessuno può / Modifica voce eccetto ruolo specificato di seguito.",
Role Allowed to Set Frozen Accounts & Edit Frozen Entries,Ruolo permesso di impostare conti congelati e modificare le voci congelati,
Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Gli utenti con questo ruolo sono autorizzati a impostare conti congelati e creare / modificare le voci contabili nei confronti di conti congelati,
Determine Address Tax Category From,Determinare la categoria di imposta indirizzo da,
Address used to determine Tax Category in transactions.,Indirizzo utilizzato per determinare la categoria fiscale nelle transazioni.,
Over Billing Allowance (%),Indennità di fatturazione eccessiva (%),
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 for $110.,"Percentuale che ti è consentita di fatturare di più rispetto all&#39;importo ordinato. Ad esempio: se il valore dell&#39;ordine è $ 100 per un articolo e la tolleranza è impostata sul 10%, è possibile fatturare $ 110.",
Credit Controller,Controllare Credito,
Role that is allowed to submit transactions that exceed credit limits set.,Ruolo che è consentito di presentare le transazioni che superano i limiti di credito stabiliti.,
Check Supplier Invoice Number Uniqueness,Controllare l'unicità del numero fattura fornitore,
Make Payment via Journal Entry,Effettua il pagamento tramite Registrazione Contabile,
Unlink Payment on Cancellation of Invoice,Scollegare il pagamento per la cancellazione della fattura,
Book Asset Depreciation Entry Automatically,Apprendere automaticamente l&#39;ammortamento dell&#39;attivo,
Automatically Add Taxes and Charges from Item Tax Template,Aggiungi automaticamente imposte e addebiti dal modello imposta articolo,
Automatically Fetch Payment Terms,Recupera automaticamente i termini di pagamento,
Show Inclusive Tax In Print,Mostra imposta inclusiva nella stampa,
Show Payment Schedule in Print,Mostra programma pagamenti in stampa,
Currency Exchange Settings,Impostazioni di cambio valuta,
Allow Stale Exchange Rates,Consenti tariffe scadenti,
Stale Days,Giorni Stalli,
Report Settings,Segnala Impostazioni,
Use Custom Cash Flow Format,Usa il formato del flusso di cassa personalizzato,
Only select if you have setup Cash Flow Mapper documents,Seleziona solo se hai impostato i documenti del Flow Flow Mapper,
Allowed To Transact With,Autorizzato a effettuare transazioni con,
SWIFT number,Numero rapido,
Branch Code,Codice della filiale,
Address and Contact,Indirizzo e contatto,
Address HTML,Indirizzo HTML,
Contact HTML,Contatto HTML,
Data Import Configuration,Configurazione importazione dati,
Bank Transaction Mapping,Mappatura delle transazioni bancarie,
Plaid Access Token,Token di accesso al plaid,
Company Account,Conto aziendale,
Account Subtype,Sottotipo di account,
Is Default Account,È un account predefinito,
Is Company Account,È un account aziendale,
Party Details,Partito Dettagli,
Account Details,Dettagli Account,
IBAN,IBAN,
Bank Account No,Conto bancario N.,
Integration Details,Dettagli di integrazione,
Integration ID,ID integrazione,
Last Integration Date,Ultima data di integrazione,
Change this date manually to setup the next synchronization start date,Modificare questa data manualmente per impostare la prossima data di inizio della sincronizzazione,
Mask,Maschera,
Bank Account Subtype,Sottotipo di conto bancario,
Bank Account Type,Tipo di conto bancario,
Bank Guarantee,Garanzia bancaria,
Bank Guarantee Type,Tipo di garanzia bancaria,
Receiving,ricevente,
Providing,fornitura,
Reference Document Name,Nome del documento di riferimento,
Validity in Days,Validità in giorni,
Bank Account Info,Informazioni sul conto bancario,
Clauses and Conditions,Clausole e condizioni,
Other Details,Altri dettagli,
Bank Guarantee Number,Numero di garanzia bancaria,
Name of Beneficiary,Nome del beneficiario,
Margin Money,Margine in denaro,
Charges Incurred,Spese incorse,
Fixed Deposit Number,Numero di deposito fisso,
Account Currency,Valuta del saldo,
Select the Bank Account to reconcile.,Seleziona il conto bancario da riconciliare.,
Include Reconciled Entries,Includi Voci riconciliati,
Get Payment Entries,Ottenere i Pagamenti,
Payment Entries,Pagamenti,
Update Clearance Date,Aggiornare Liquidazione Data,
Bank Reconciliation Detail,Dettaglio Riconciliazione Banca,
Cheque Number,Numero Assegno,
Cheque Date,Data Assegno,
Statement Header Mapping,Mappatura dell&#39;intestazione dell&#39;istruzione,
Statement Headers,Intestazioni di dichiarazione,
Transaction Data Mapping,Mappatura dei dati di transazione,
Mapped Items,Elementi mappati,
Bank Statement Settings Item,Elemento Impostazioni conto bancario,
Mapped Header,Intestazione mappata,
Bank Header,Intestazione della banca,
Bank Statement Transaction Entry,Voce di transazione conto bancario,
Bank Transaction Entries,Transazioni bancarie,
New Transactions,Nuove transazioni,
Match Transaction to Invoices,Abbina la transazione alle fatture,
Create New Payment/Journal Entry,Crea nuovo pagamento / registrazione prima nota,
Submit/Reconcile Payments,Invia / riconcilia pagamenti,
Matching Invoices,Fatture corrispondenti,
Payment Invoice Items,Pagamento delle fatture,
Reconciled Transactions,Transazioni riconciliate,
Bank Statement Transaction Invoice Item,Elemento fattura transazione conto bancario,
Payment Description,Descrizione del pagamento,
Invoice Date,Data Fattura,
invoice,fattura,
Bank Statement Transaction Payment Item,Articolo pagamento transazione conto bancario,
outstanding_amount,outstanding_amount,
Payment Reference,Referenza di pagamento,
Bank Statement Transaction Settings Item,Elemento Impostazioni transazioni conto bancario,
Bank Data,Dati bancari,
Mapped Data Type,Tipo di dati mappati,
Mapped Data,Dati mappati,
Bank Transaction,Transazione bancaria,
ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
Transaction ID,ID transazione,
Unallocated Amount,Importo non assegnato,
Field in Bank Transaction,Campo nella transazione bancaria,
Column in Bank File,Colonna nel file banca,
Bank Transaction Payments,Pagamenti per transazioni bancarie,
Control Action,Azione di controllo,
Applicable on Material Request,Applicabile su richiesta materiale,
Action if Annual Budget Exceeded on MR,Azione se il budget annuale è scaduto per MR,
Warn,Avvisa,
Ignore,Ignora,
Action if Accumulated Monthly Budget Exceeded on MR,Aziona se il Budget mensile accumulato supera MR,
Applicable on Purchase Order,Applicabile su ordine d&#39;acquisto,
Action if Annual Budget Exceeded on PO,Azione se il budget annuale è scaduto in ordine di PO,
Action if Accumulated Monthly Budget Exceeded on PO,Azione se il budget mensile accumulato è stato superato su PO,
Applicable on booking actual expenses,Applicabile alla prenotazione delle spese effettive,
Action if Annual Budget Exceeded on Actual,Azione in caso di superamento del budget annuale effettivo,
Action if Accumulated Monthly Budget Exceeded on Actual,Aziona se il Budget mensile accumulato supera l'effettivo,
Budget Accounts,Bilancio Contabile,
Budget Account,Bilancio Contabile,
Budget Amount,Importo Bilancio,
C-Form,C-Form,
ACC-CF-.YYYY.-,ACC-CF-.YYYY.-,
C-Form No,C-Form N.,
Received Date,Data Received,
Quarter,Trimestrale,
I,io,
II,II,
III,III,
IV,IV,
C-Form Invoice Detail,C-Form Dettagli Fattura,
Invoice No,Fattura N,
Cash Flow Mapper,Cash Flow Mapper,
Section Name,Nome della sezione,
Section Header,Intestazione di sezione,
Section Leader,Capo sezione,
e.g Adjustments for:,Ad es. regolazioni per:,
Section Subtotal,Sezione Totale parziale,
Section Footer,Sezione piè di pagina,
Position,Posizione,
Cash Flow Mapping,Mappatura del flusso di cassa,
Select Maximum Of 1,Seleziona Massimo di 1,
Is Finance Cost,È il costo finanziario,
Is Working Capital,È il capitale circolante,
Is Finance Cost Adjustment,È l&#39;adeguamento dei costi finanziari,
Is Income Tax Liability,È responsabilità di imposta sul reddito,
Is Income Tax Expense,È l&#39;esenzione dall&#39;imposta sul reddito,
Cash Flow Mapping Accounts,Conti di mappatura del flusso di cassa,
account,Account,
Cash Flow Mapping Template,Modello di mappatura del flusso di cassa,
Cash Flow Mapping Template Details,Dettagli del modello di mappatura del flusso di cassa,
POS-CLO-,POS-CLO-,
Custody,Custodia,
Net Amount,Importo Netto,
Cashier Closing Payments,Pagamento di chiusura del cassiere,
Chart of Accounts Importer,Piano dei conti importatore,
Import Chart of Accounts from a csv file,Importa piano dei conti da un file CSV,
Attach custom Chart of Accounts file,Allegare il file del piano dei conti personalizzato,
Chart Preview,Anteprima del grafico,
Chart Tree,Albero grafico,
Cheque Print Template,Modello di stampa dell'Assegno,
Has Print Format,Ha formato di stampa,
Primary Settings,Impostazioni primarie,
Cheque Size,Dimensione Assegno,
Regular,Regolare,
Starting position from top edge,posizione dal bordo superiore Avvio,
Cheque Width,Larghezza Assegno,
Cheque Height,Altezza Assegno,
Scanned Cheque,Assegno scansionato,
Is Account Payable,E' un Conto Fornitore,
Distance from top edge,Distanza dal bordo superiore,
Distance from left edge,Distanza dal bordo sinistro,
Message to show,Messaggio da mostrare,
Date Settings,Impostazioni della data,
Starting location from left edge,A partire da posizione bordo sinistro,
Payer Settings,Impostazioni Pagatore,
Width of amount in word,Importo in parole,
Line spacing for amount in words,interlinea per importo in lettere,
Amount In Figure,Importo Nella figura,
Signatory Position,Posizione firmatario,
Closed Document,Documento chiuso,
Track separate Income and Expense for product verticals or divisions.,Traccia reddito separata e spesa per verticali di prodotto o divisioni.,
Cost Center Name,Nome Centro di Costo,
Parent Cost Center,Centro di costo padre,
lft,LFT,
rgt,rgt,
Coupon Code,codice coupon,
Coupon Name,Nome del coupon,
"e.g. ""Summer Holiday 2019 Offer 20""",ad es. &quot;Offerta vacanze estive 2019 20&quot;,
Coupon Type,Tipo di coupon,
Promotional,promozionale,
Gift Card,Carta regalo,
unique e.g. SAVE20  To be used to get discount,unico ad es. SAVE20 Da utilizzare per ottenere lo sconto,
Validity and Usage,Validità e utilizzo,
Valid From,Valido dal,
Valid Upto,Valido fino a,
Maximum Use,Massimo utilizzo,
Used,Usato,
Coupon Description,Descrizione del coupon,
Discounted Invoice,Fattura scontata,
Debit to,Addebito a,
Exchange Rate Revaluation,Rivalutazione del tasso di cambio,
Get Entries,Ottieni voci,
Exchange Rate Revaluation Account,Conto di rivalutazione del tasso di cambio,
Total Gain/Loss,Guadagno / perdita totale,
Balance In Account Currency,Saldo nella valuta dell&#39;account,
Current Exchange Rate,Tasso di cambio corrente,
Balance In Base Currency,Saldo in valuta base,
New Exchange Rate,Nuovo tasso di cambio,
New Balance In Base Currency,Nuovo saldo nella valuta di base,
Gain/Loss,Utile / Perdita,
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,**Anno Fiscale** rappresenta un anno contabile. Tutte le voci contabili e le altre operazioni importanti sono tracciati per **Anno Fiscale**.,
Year Name,Nome Anno,
"For e.g. 2012, 2012-13","Per es. 2012, 2012-13",
Year Start Date,Data di inizio anno,
Year End Date,Data di fine anno,
Companies,Aziende,
Auto Created,Creato automaticamente,
Stock User,Utente Giacenze,
Fiscal Year Company,Anno Fiscale Società,
Debit Amount,Importo Debito,
Credit Amount,Ammontare del credito,
Debit Amount in Account Currency,Importo Debito Account Valuta,
Credit Amount in Account Currency,Importo del credito Account Valuta,
Voucher Detail No,Voucher Detail No,
Is Opening,Sta aprendo,
Is Advance,È Advance,
To Rename,Rinominare,
GST Account,Account GST,
CGST Account,Conto CGST,
SGST Account,Account SGST,
IGST Account,Account IGST,
CESS Account,Account CESS,
Loan Start Date,Data di inizio del prestito,
Loan Period (Days),Periodo di prestito (giorni),
Loan End Date,Data di fine del prestito,
Bank Charges,Spese bancarie,
Short Term Loan Account,Conto prestiti a breve termine,
Bank Charges Account,Conto spese bancarie,
Accounts Receivable Credit Account,Contabilità crediti,
Accounts Receivable Discounted Account,Conti attivi Conto scontato,
Accounts Receivable Unpaid Account,Contabilità clienti Conto non pagato,
Item Tax Template,Modello fiscale articolo,
Tax Rates,Aliquote fiscali,
Item Tax Template Detail,Dettaglio modello fiscale articolo,
Entry Type,Tipo voce,
Inter Company Journal Entry,Entrata ufficiale della compagnia,
Bank Entry,Registrazione bancaria,
Cash Entry,Cash Entry,
Credit Card Entry,Entry Carta di Credito,
Contra Entry,Contra Entry,
Excise Entry,Excise Entry,
Write Off Entry,Entry di Svalutazione,
Opening Entry,Apertura Entry,
ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
Accounting Entries,Scritture contabili,
Total Debit,Debito totale,
Total Credit,Totale credito,
Difference (Dr - Cr),Differenza ( Dr - Cr ),
Make Difference Entry,Aggiungi Differenza,
Total Amount Currency,Importo Totale Valuta,
Total Amount in Words,Importo Totale in lettere,
Remark,Osservazione,
Paid Loan,Prestito a pagamento,
Inter Company Journal Entry Reference,Riferimento per la registrazione del giornale Inter Company,
Write Off Based On,Svalutazione Basata Su,
Get Outstanding Invoices,Ottieni fatture non saldate,
Write Off Amount,Importo di cancellazione,
Printing Settings,Impostazioni di stampa,
Pay To / Recd From,Paga a / Ricevuto Da,
Payment Order,Ordine di pagamento,
Subscription Section,Sezione di sottoscrizione,
Journal Entry Account,Addebito Journal,
Account Balance,Saldo a bilancio,
Party Balance,Saldo del Partner,
Accounting Dimensions,Dimensioni contabili,
If Income or Expense,Se proventi od oneri,
Exchange Rate,Tasso di cambio:,
Debit in Company Currency,Addebito nella valuta della società,
Credit in Company Currency,Credito in Società Valuta,
Payroll Entry,Inserimento in libro paga,
Employee Advance,Anticipo Dipendente,
Reference Due Date,Data di scadenza di riferimento,
Loyalty Program Tier,Livello di programma fedeltà,
Redeem Against,Riscatta contro,
Expiry Date,Data Scadenza,
Loyalty Point Entry Redemption,Redenzione per punti fedeltà,
Redemption Date,Data di rimborso,
Redeemed Points,Punti riscattati,
Loyalty Program Name,Nome del programma di fidelizzazione,
Loyalty Program Type,Tipo di programma fedeltà,
Single Tier Program,Programma a un livello,
Multiple Tier Program,Programma a più livelli,
Customer Territory,Territorio del cliente,
Auto Opt In (For all customers),Auto Opt In (per tutti i clienti),
Collection Tier,Livello di raccolta,
Collection Rules,Regole di raccolta,
Redemption,Redenzione,
Conversion Factor,Fattore di Conversione,
1 Loyalty Points = How much base currency?,1 Punti fedeltà = Quanta valuta di base?,
Expiry Duration (in days),Durata di scadenza (in giorni),
Help Section,Sezione Aiuto,
Loyalty Program Help,Aiuto per programmi fedeltà,
Loyalty Program Collection,Collezione di programmi fedeltà,
Tier Name,Nome del livello,
Minimum Total Spent,Minimo spesa totale,
Collection Factor (=1 LP),Collection Factor (= 1 LP),
For how much spent = 1 Loyalty Point,Per quanto speso = 1 punto fedeltà,
Mode of Payment Account,Modalità di pagamento Conto,
Default Account,Account Predefinito,
Default account will be automatically updated in POS Invoice when this mode is selected.,L&#39;account predefinito verrà automaticamente aggiornato in Fattura POS quando questa modalità è selezionata.,
**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,"** Distribuzione mensile ** aiuta a distribuire il Budget / Target nei mesi, nel caso di di business stagionali.",
Distribution Name,Nome della Distribuzione,
Name of the Monthly Distribution,Nome della distribuzione mensile,
Monthly Distribution Percentages,Percentuali Distribuzione Mensile,
Monthly Distribution Percentage,Percentuale Distribuzione Mensile,
Percentage Allocation,Percentuale di allocazione,
Create Missing Party,Crea una festa mancante,
Create missing customer or supplier.,Creare un cliente o un fornitore mancante.,
Opening Invoice Creation Tool Item,Articolo dello Strumento di Creazione di Fattura Tardiva,
Temporary Opening Account,Conto di apertura temporaneo,
Party Account,Account del Partner,
Type of Payment,Tipo di pagamento,
ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
Receive,Ricevere,
Internal Transfer,Trasferimento interno,
Payment Order Status,Stato dell&#39;ordine di pagamento,
Payment Ordered,Pagamento effettuato,
Payment From / To,Pagamento da / a,
Company Bank Account,Conto bancario dell&#39;azienda,
Party Bank Account,Conto bancario del partito,
Account Paid From,Risorsa di prelievo,
Account Paid To,Risorsa di deposito,
Paid Amount (Company Currency),Importo pagato (valuta della società),
Received Amount,importo ricevuto,
Received Amount (Company Currency),Importo ricevuto (Società di valuta),
Get Outstanding Invoice,Ottieni una fattura eccezionale,
Payment References,Riferimenti di pagamento,
Writeoff,Svalutazione,
Total Allocated Amount,Totale importo assegnato,
Total Allocated Amount (Company Currency),Totale importo assegnato (Valuta della Società),
Set Exchange Gain / Loss,Guadagno impostato Exchange / Perdita,
Difference Amount (Company Currency),Differenza Importo (Società di valuta),
Write Off Difference Amount,Importo a differenza Svalutazione,
Deductions or Loss,"Trattenute, Deduzioni o Perdite",
Payment Deductions or Loss,"Trattenute, Deduzioni di pagamento o Perdite",
Cheque/Reference Date,Data di riferimento,
Payment Entry Deduction,Deduzione di Pagamento,
Payment Entry Reference,Riferimento di Pagamento,
Allocated,Assegnati,
Payment Gateway Account,Pagamento Conto Gateway,
Payment Account,Conto di Pagamento,
Default Payment Request Message,Predefinito Richiesta Pagamento Messaggio,
PMO-,PMO-,
Payment Order Type,Tipo di ordine di pagamento,
Payment Order Reference,Riferimento ordine di pagamento,
Bank Account Details,Dettagli del conto bancario,
Payment Reconciliation,Pagamento Riconciliazione,
Receivable / Payable Account,Contabilità Clienti /Fornitori,
Bank / Cash Account,Conto Banca / Cassa,
From Invoice Date,Da Data fattura,
To Invoice Date,Per Data fattura,
Minimum Invoice Amount,Importo Minimo Fattura,
Maximum Invoice Amount,Importo Massimo Fattura,
System will fetch all the entries if limit value is zero.,Il sistema recupererà tutte le voci se il valore limite è zero.,
Get Unreconciled Entries,Ottieni entrate non riconciliate,
Unreconciled Payment Details,Dettagli di pagamento non riconciliati,
Invoice/Journal Entry Details,Dettagli Fattura/Registro,
Payment Reconciliation Invoice,Pagamento Riconciliazione fattura,
Invoice Number,Numero Fattura,
Payment Reconciliation Payment,Pagamento Riconciliazione di pagamento,
Reference Row,Riferimento Row,
Allocated amount,Importo Assegnato,
Payment Request Type,Tipo di richiesta di pagamento,
Outward,esterno,
Inward,interiore,
ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
Transaction Details,Dettagli di Transazione,
Amount in customer's currency,Importo nella valuta del cliente,
Is a Subscription,È un abbonamento,
Transaction Currency,transazioni valutarie,
Subscription Plans,Piani di abbonamento,
SWIFT Number,Numero rapido,
Recipient Message And Payment Details,Destinatario del Messaggio e Modalità di Pagamento,
Make Sales Invoice,Crea Fattura di vendita,
Mute Email,Email muta,
payment_url,payment_url,
Payment Gateway Details,Payment Gateway Dettagli,
Payment Schedule,Programma di pagamento,
Invoice Portion,Porzione di fattura,
Payment Amount,Pagamento Importo,
Payment Term Name,Nome del termine di pagamento,
Due Date Based On,Scadenza basata su,
Day(s) after invoice date,Giorno(i) dopo la data della fattura,
Day(s) after the end of the invoice month,Giorno(i) dopo la fine del mese di fatturazione,
Month(s) after the end of the invoice month,Mese / i dopo la fine del mese della fattura,
Credit Days,Giorni Credito,
Credit Months,Mesi di credito,
Allocate Payment Based On Payment Terms,Assegna il pagamento in base ai termini di pagamento,
"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Se questa casella di controllo è selezionata, l&#39;importo pagato verrà suddiviso e allocato secondo gli importi nel programma di pagamento rispetto a ciascun termine di pagamento",
Payment Terms Template Detail,Termini di pagamento Dettagli del modello,
Closing Fiscal Year,Chiusura Anno Fiscale,
Closing Account Head,Chiudere Conto Primario,
"The account head under Liability or Equity, in which Profit/Loss will be booked","L&#39;account testa sotto responsabilità o di capitale, in cui sarà prenotato Utile / Perdita",
POS Customer Group,POS Gruppi clienti,
POS Field,Campo POS,
POS Item Group,POS Gruppo Articolo,
[Select],[Seleziona],
Company Address,indirizzo aziendale,
Update Stock,Aggiornare Giacenza,
Ignore Pricing Rule,Ignora regola tariffaria,
Applicable for Users,Valido per gli Utenti,
Sales Invoice Payment,Pagamento Fattura di vendita,
Item Groups,Gruppi Articoli,
Only show Items from these Item Groups,Mostra solo gli articoli di questi gruppi di articoli,
Customer Groups,Gruppi clienti,
Only show Customer of these Customer Groups,Mostra solo il cliente di questi gruppi di clienti,
Write Off Account,Conto per Svalutazioni,
Write Off Cost Center,Centro di costo Svalutazioni,
Account for Change Amount,Conto per quantità di modifica,
Taxes and Charges,Tasse e Costi,
Apply Discount On,Applicare sconto su,
POS Profile User,Profilo utente POS,
Apply On,Applica su,
Price or Product Discount,Prezzo o sconto sul prodotto,
Apply Rule On Item Code,Applica regola sul codice articolo,
Apply Rule On Item Group,Applica regola sul gruppo di articoli,
Apply Rule On Brand,Applica la regola sul marchio,
Mixed Conditions,Condizioni miste,
Conditions will be applied on all the selected items combined. ,Le condizioni verranno applicate su tutti gli articoli selezionati combinati.,
Is Cumulative,È cumulativo,
Coupon Code Based,Basato su codice coupon,
Discount on Other Item,Sconto su altro articolo,
Apply Rule On Other,Applica regola su altro,
Party Information,Informazioni sul partito,
Quantity and Amount,Quantità e quantità,
Min Qty,Qtà Min,
Max Qty,Qtà max,
Min Amt,Amt. Min,
Max Amt,Amt max,
Period Settings,Impostazioni del periodo,
Margin,Margine,
Margin Type,Tipo di Margine,
Margin Rate or Amount,Margine  % o Importo,
Price Discount Scheme,Schema di sconto sui prezzi,
Rate or Discount,Tasso o Sconto,
Discount Percentage,Percentuale di sconto,
Discount Amount,Importo sconto,
For Price List,Per Listino Prezzi,
Product Discount Scheme,Schema di sconto del prodotto,
Same Item,Stesso articolo,
Free Item,Articolo gratuito,
Threshold for Suggestion,Soglia per il suggerimento,
System will notify to increase or decrease quantity or amount ,Il sistema avviserà di aumentare o diminuire la quantità o l&#39;importo,
"Higher the number, higher the priority","Più alto è il numero, maggiore è la priorità",
Apply Multiple Pricing Rules,Applica più regole di prezzo,
Apply Discount on Rate,Applica lo sconto sulla tariffa,
Validate Applied Rule,Convalida regola applicata,
Rule Description,Descrizione della regola,
Pricing Rule Help,Regola Prezzi Aiuto,
Promotional Scheme Id,ID schema promozionale,
Promotional Scheme,Schema promozionale,
Pricing Rule Brand,Marchio della regola dei prezzi,
Pricing Rule Detail,Dettaglio regola prezzi,
Child Docname,Nome documento figlio,
Rule Applied,Regola applicata,
Pricing Rule Item Code,Codice articolo regola prezzi,
Pricing Rule Item Group,Gruppo articoli regola prezzi,
Price Discount Slabs,Lastre scontate di prezzo,
Promotional Scheme Price Discount,Sconto sul prezzo del regime promozionale,
Product Discount Slabs,Lastre di sconto prodotto,
Promotional Scheme Product Discount,Sconto sul prodotto dello schema promozionale,
Min Amount,Importo minimo,
Max Amount,Quantità massima,
Discount Type,Tipo di sconto,
ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
Tax Withholding Category,Categoria ritenuta fiscale,
Edit Posting Date and Time,Modifica data e ora di registrazione,
Is Paid,È pagato,
Is Return (Debit Note),È il ritorno (nota di debito),
Apply Tax Withholding Amount,Applicare la ritenuta d&#39;acconto,
Accounting Dimensions ,Dimensioni contabili,
Supplier Invoice Details,Dettagli Fattura Fornitore,
Supplier Invoice Date,Data Fattura Fornitore,
Return Against Purchase Invoice,Ritorno Contro Acquisto Fattura,
Select Supplier Address,Selezionare l'indirizzo del Fornitore,
Contact Person,Persona di Riferimento,
Select Shipping Address,Selezionare l'indirizzo di spedizione,
Currency and Price List,Listino Prezzi e Valuta,
Price List Currency,Prezzo di listino Valuta,
Price List Exchange Rate,Listino Prezzi Tasso di Cambio,
Set Accepted Warehouse,Imposta magazzino accettato,
Rejected Warehouse,Magazzino Rifiutato,
Warehouse where you are maintaining stock of rejected items,Magazzino dove si conservano Giacenze di Articoli Rifiutati,
Raw Materials Supplied,Materie prime fornite,
Supplier Warehouse,Magazzino Fornitore,
Pricing Rules,Regole sui prezzi,
Supplied Items,Elementi in dotazione,
Total (Company Currency),Totale (Valuta Società),
Net Total (Company Currency),Totale Netto (Valuta Azienda),
Total Net Weight,Peso netto totale,
Shipping Rule,Tipo di Spedizione,
Purchase Taxes and Charges Template,Modelli di imposte e spese su acquisti,
Purchase Taxes and Charges,Acquisto Tasse e Costi,
Tax Breakup,Elenco imposte,
Taxes and Charges Calculation,Tasse e le spese di calcolo,
Taxes and Charges Added (Company Currency),Tasse e spese aggiuntive (Azienda valuta),
Taxes and Charges Deducted (Company Currency),Tasse e oneri dedotti (Azienda valuta),
Total Taxes and Charges (Company Currency),Totale tasse e spese (Azienda valuta),
Taxes and Charges Added,Tasse e spese aggiuntive,
Taxes and Charges Deducted,Tasse e oneri dedotti,
Total Taxes and Charges,Totale imposte e oneri,
Additional Discount,Sconto aggiuntivo,
Apply Additional Discount On,Applicare lo Sconto Aggiuntivo su,
Additional Discount Amount (Company Currency),Importo Sconto Aggiuntivo (valuta Azienda),
Additional Discount Percentage,Percentuale di sconto aggiuntiva,
Additional Discount Amount,Importo dello sconto aggiuntivo,
Grand Total (Company Currency),Somma totale (valuta Azienda),
Rounding Adjustment (Company Currency),Adattamento arrotondamento (Valuta Società),
Rounded Total (Company Currency),Totale arrotondato (Azienda valuta),
In Words (Company Currency),In Parole (Azienda valuta),
Rounding Adjustment,Regolazione arrotondamento,
In Words,In Parole,
Total Advance,Totale Anticipo,
Disable Rounded Total,Disabilita Arrotondamento su Totale,
Cash/Bank Account,Conto Cassa/Banca,
Write Off Amount (Company Currency),Importo Svalutazione (Valuta società),
Set Advances and Allocate (FIFO),Imposta anticipi e alloca (FIFO),
Get Advances Paid,Ottenere anticipo pagamento,
Advances,Avanzamenti,
Terms,Termini,
Terms and Conditions1,Termini e Condizioni,
Group same items,stessi articoli di gruppo,
Print Language,Lingua di Stampa,
"Once set, this invoice will be on hold till the set date","Una volta impostata, questa fattura sarà in attesa fino alla data impostata",
Credit To,Credito a,
Party Account Currency,Valuta Conto del Partner,
Against Expense Account,Per Spesa Conto,
Inter Company Invoice Reference,Riferimento alla fattura della Società Inter,
Is Internal Supplier,È un fornitore interno,
Start date of current invoice's period,Data finale del periodo di fatturazione corrente Avviare,
End date of current invoice's period,Data di fine del periodo di fatturazione corrente,
Update Auto Repeat Reference,Aggiorna riferimento auto ripetuto,
Purchase Invoice Advance,Anticipo Fattura di Acquisto,
Purchase Invoice Item,Articolo della Fattura di Acquisto,
Quantity and Rate,Quantità e Prezzo,
Received Qty,Quantità ricevuta,
Accepted Qty,Qtà accettata,
Rejected Qty,Quantità Rifiutato,
UOM Conversion Factor,Fattore di conversione Unità di Misura,
Discount on Price List Rate (%),Sconto su Prezzo di Listino (%),
Price List Rate (Company Currency),Prezzo di listino (Valuta Azienda),
Rate ,Prezzo,
Rate (Company Currency),Prezzo (Valuta Azienda),
Amount (Company Currency),Importo (Valuta Azienda),
Is Free Item,È un articolo gratuito,
Net Rate,Tasso Netto,
Net Rate (Company Currency),Tasso Netto (Valuta Azienda),
Net Amount (Company Currency),Importo netto (Valuta Azienda),
Item Tax Amount Included in Value,Importo IVA articolo incluso nel valore,
Landed Cost Voucher Amount,Landed Cost Voucher Importo,
Raw Materials Supplied Cost,Costo Fornitura Materie Prime,
Accepted Warehouse,Magazzino accettazione,
Serial No,Serial No,
Rejected Serial No,Rifiutato Serial No,
Expense Head,Conto,
Is Fixed Asset,E' un Bene Strumentale,
Asset Location,Posizione del bene,
Deferred Expense,Spese differite,
Deferred Expense Account,Conto spese differite,
Service Stop Date,Data di fine del servizio,
Enable Deferred Expense,Abilita spese differite,
Service Start Date,Data di inizio del servizio,
Service End Date,Data di fine del servizio,
Allow Zero Valuation Rate,Consenti il tasso di valorizzazione Zero,
Item Tax Rate,Articolo Tax Rate,
Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Dettaglio Tax tavolo prelevato dalla voce principale come una stringa e memorizzati in questo campo.\n Utilizzato per imposte e oneri,
Purchase Order Item,Articolo dell'Ordine di Acquisto,
Purchase Receipt Detail,Dettaglio ricevuta di acquisto,
Item Weight Details,Dettagli peso articolo,
Weight Per Unit,Peso per unità,
Total Weight,Peso totale,
Weight UOM,Peso UOM,
Page Break,Interruzione di pagina,
Consider Tax or Charge for,Considera Tasse o Costo per,
Valuation and Total,Valorizzazione e Totale,
Valuation,Valorizzazione,
Add or Deduct,Aggiungi o Sottrai,
Deduct,Detrarre,
On Previous Row Amount,Sul valore della riga precedente,
On Previous Row Total,Sul totale della riga precedente,
On Item Quantity,Sulla quantità dell&#39;articolo,
Reference Row #,Riferimento Row #,
Is this Tax included in Basic Rate?,È questa tassa inclusi nel prezzo base?,
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Se selezionato, l&#39;importo della tassa sarà considerata già inclusa nel Stampa Valuta / Stampa Importo",
Account Head,Riferimento del conto,
Tax Amount After Discount Amount,Valore Tasse Dopo Sconto dell'Importo,
Item Wise Tax Detail ,Dettaglio fiscale articolo,
"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.","Modello fiscale standard che può essere applicato a tutte le transazioni di acquisto. Questo modello può contenere l'elenco delle teste fiscali e anche altri capi di spesa come ""spedizione"", ""Assicurazioni"", ""Gestione"", ecc \n\n #### Nota \n\n Il tax rate si definisce qui sarà l'aliquota standard per tutti gli articoli ** **. Se ci sono gli articoli ** ** che hanno tariffe diverse, devono essere aggiunti nella voce imposte ** ** tavolo in ** ** Item master.\n\n #### Descrizione di colonne \n\n 1. Tipo di calcolo: \n - Questo può essere di ** Net Total ** (che è la somma di importo di base).\n - ** Il Fila Indietro Total / Importo ** (per le imposte o tasse cumulative). Selezionando questa opzione, l'imposta sarà applicata come percentuale della riga precedente (nella tabella fiscale) importo o totale.\n - ** ** Actual (come detto).\n 2. Account testa: Il registro account con cui questa imposta sarà prenotato \n 3. Centro di costo: se l'imposta / tassa è di un reddito (come il trasporto) o spese deve essere prenotato contro un centro di costo.\n 4. Descrizione: Descrizione della tassa (che sarà stampato in fatture / virgolette).\n 5. Vota: Aliquota.\n 6. Importo: Ammontare IVA.\n 7. Totale: totale cumulativo a questo punto.\n 8. Inserisci Row: se sulla base di ""Previous totale riga"" è possibile selezionare il numero di riga che sarà preso come base per il calcolo (di default è la riga precedente).\n 9. Considerare fiscale o Charge per: In questa sezione è possibile specificare se l'imposta / tassa è solo per la valutazione (non una parte del totale) o solo per totale (non aggiunge valore al prodotto) o per entrambi.\n 10. Aggiungi o dedurre: Se si desidera aggiungere o detrarre l'imposta.",
Salary Component Account,Conto Stipendio Componente,
Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,Predefinito conto bancario / Cash sarà aggiornato automaticamente in Stipendio diario quando viene selezionata questa modalità.,
ACC-SINV-.YYYY.-,ACC-SINV-.YYYY.-,
Include Payment (POS),Includi pagamento (POS),
Offline POS Name,Nome POS offline,
Is Return (Credit Note),È il ritorno (nota di credito),
Return Against Sales Invoice,Di ritorno contro fattura di vendita,
Update Billed Amount in Sales Order,Aggiorna importo fatturato in ordine cliente,
Customer PO Details,Dettagli ordine cliente,
Customer's Purchase Order,Ordine di Acquisto del Cliente,
Customer's Purchase Order Date,Data ordine acquisto Cliente,
Customer Address,Indirizzo Cliente,
Shipping Address Name,Destinazione,
Company Address Name,Nome dell&#39;azienda nome,
Rate at which Customer Currency is converted to customer's base currency,Tasso con cui la valuta Cliente viene convertita in valuta di base del cliente,
Rate at which Price list currency is converted to customer's base currency,Tasso al quale Listino valuta viene convertita in valuta di base del cliente,
Set Source Warehouse,Imposta il magazzino di origine,
Packing List,Lista di imballaggio,
Packed Items,Articoli imballati,
Product Bundle Help,Prodotto Bundle Aiuto,
Time Sheet List,Lista schede attività,
Time Sheets,Schede attività,
Total Billing Amount,Importo Totale di Fatturazione,
Sales Taxes and Charges Template,Modelli di Imposte e spese di vendita,
Sales Taxes and Charges,Tasse di vendita e oneri,
Loyalty Points Redemption,Punti fedeltà Punti di riscatto,
Redeem Loyalty Points,Riscatta i punti fedeltà,
Redemption Account,Conto di rimborso,
Redemption Cost Center,Centro di costo di rimborso,
In Words will be visible once you save the Sales Invoice.,In parole saranno visibili una volta che si salva la fattura di vendita.,
Allocate Advances Automatically (FIFO),Assegna automaticamente gli anticipi (FIFO),
Get Advances Received,ottenere anticipo Ricevuto,
Base Change Amount (Company Currency),Base quantità di modifica (Società di valuta),
Write Off Outstanding Amount,Importo di svalutazione in sospeso,
Terms and Conditions Details,Termini e condizioni dettagli,
Is Internal Customer,È cliente interno,
Is Discounted,È scontato,
Unpaid and Discounted,Non pagato e scontato,
Overdue and Discounted,Scaduto e scontato,
Accounting Details,Dettagli contabile,
Debit To,Addebito a,
Is Opening Entry,Sta aprendo Entry,
C-Form Applicable,C-Form Applicable,
Commission Rate (%),Tasso Commissione (%),
Sales Team1,Vendite Team1,
Against Income Account,Per Reddito Conto,
Sales Invoice Advance,Fattura di vendita (anticipata),
Advance amount,Importo Anticipo,
Sales Invoice Item,Articolo della Fattura di Vendita,
Customer's Item Code,Codice elemento Cliente,
Brand Name,Nome Marchio,
Qty as per Stock UOM,Quantità come da UOM Archivio,
Discount and Margin,Sconto e margine,
Rate With Margin,Prezzo con margine,
Discount (%) on Price List Rate with Margin,Sconto (%) sul prezzo di listino con margine,
Rate With Margin (Company Currency),Rate With Margin (Company Currency),
Delivered By Supplier,Consegnato dal Fornitore,
Deferred Revenue,Ricavo differito,
Deferred Revenue Account,Conto delle entrate differite,
Enable Deferred Revenue,Abilita entrate differite,
Stock Details,Dettagli Stock,
Customer Warehouse (Optional),Deposito Cliente (opzionale),
Available Batch Qty at Warehouse,Disponibile Quantità Batch in magazzino,
Available Qty at Warehouse,Quantità Disponibile a magazzino,
Delivery Note Item,Articolo del Documento di Trasporto,
Base Amount (Company Currency),Importo base (in valuta principale),
Sales Invoice Timesheet,Timesheet Fattura di Vendita,
Time Sheet,Scheda attività,
Billing Hours,Ore di fatturazione,
Timesheet Detail,Dettagli scheda attività,
Tax Amount After Discount Amount (Company Currency),Valore Tasse Dopo Sconto dell'Importo(Valuta Società),
Item Wise Tax Detail,Voce Wise fiscale Dettaglio,
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.","Modello fiscale standard che può essere applicato a tutte le transazioni di vendita. Questo modello può contenere l'elenco delle teste fiscali e anche altri capi oneri / proventi come ""spedizione"", ""Assicurazioni"", ""Gestione"", ecc \n\n #### Nota \n\n Il tax rate si definire qui sarà l'aliquota standard per tutti gli articoli ** **. Se ci sono gli articoli ** ** che hanno tariffe diverse, devono essere aggiunti nella voce imposte ** ** tavolo in ** ** Item master.\n\n #### Descrizione di colonne \n\n 1. Tipo di calcolo: \n - Questo può essere di ** Net Total ** (che è la somma di importo di base).\n - ** Il Fila Indietro Total / Importo ** (per le imposte o tasse cumulative). Selezionando questa opzione, l'imposta sarà applicata come percentuale della riga precedente (nella tabella fiscale) importo o totale.\n - ** ** Actual (come detto).\n 2. Account testa: Il registro account con cui questa imposta sarà prenotato \n 3. Centro di costo: se l'imposta / tassa è di un reddito (come il trasporto) o spese deve essere prenotato contro un centro di costo.\n 4. Descrizione: Descrizione della tassa (che sarà stampato in fatture / virgolette).\n 5. Vota: Aliquota.\n 6. Importo: Ammontare IVA.\n 7. Totale: totale cumulativo a questo punto.\n 8. Inserisci Row: se sulla base di ""Previous totale riga"" è possibile selezionare il numero di riga che sarà preso come base per il calcolo (di default è la riga precedente).\n 9. È questo Tax incluso nel Basic Rate ?: Se si seleziona questa, vuol dire che questa tassa non verrà mostrato sotto la tabella voce, ma sarà inclusa nella tariffa di base nella tabella principale voce. Questo è utile quando si vuole dare un prezzo forfettario (tasse comprese) dei prezzi per i clienti.",
* Will be calculated in the transaction.,* Sarà calcolato nella transazione,
From No,Dal n,
To No,A No,
Is Company,È la compagnia,
Current State,Stato attuale,
Purchased,acquistato,
From Shareholder,Dall&#39;Azionista,
From Folio No,Dal Folio n,
To Shareholder,All&#39;azionista,
To Folio No,Per Folio n,
Equity/Liability Account,Equity / Liability Account,
Asset Account,Conto cespiti,
(including),(Compreso),
ACC-SH-.YYYY.-,ACC-SH-.YYYY.-,
Folio no.,Folio n.,
Address and Contacts,Indirizzo e contatti,
Contact List,Lista dei contatti,
Hidden list maintaining the list of contacts linked to Shareholder,Elenco nascosto che mantiene l&#39;elenco dei contatti collegati all&#39;Azionista,
Specify conditions to calculate shipping amount,Specificare le condizioni per determinare il valore di spedizione,
Shipping Rule Label,Etichetta Tipo di Spedizione,
example: Next Day Shipping,esempio: Spedizione il Giorno Successivo,
Shipping Rule Type,Tipo di regola di spedizione,
Shipping Account,Conto di Spedizione,
Calculate Based On,Calcola in base a,
Fixed,Fisso,
Net Weight,Peso netto,
Shipping Amount,Importo spedizione,
Shipping Rule Conditions,Condizioni Tipo di Spedizione,
Restrict to Countries,Limitare ai Paesi,
Valid for Countries,Valido per i paesi,
Shipping Rule Condition,Condizioni Tipo di Spedizione,
A condition for a Shipping Rule,Una condizione per un Tipo di Spedizione,
From Value,Da Valore,
To Value,Per Valore,
Shipping Rule Country,Tipo di Spedizione per Nazione,
Subscription Period,Periodo di abbonamento,
Subscription Start Date,Data di inizio dell&#39;iscrizione,
Cancelation Date,Data di cancellazione,
Trial Period Start Date,Data di inizio del periodo di prova,
Trial Period End Date,Data di fine periodo di prova,
Current Invoice Start Date,Data di inizio fattura corrente,
Current Invoice End Date,Data di fine fattura corrente,
Days Until Due,Giorni alla scadenza,
Number of days that the subscriber has to pay invoices generated by this subscription,Numero di giorni che l&#39;abbonato deve pagare le fatture generate da questa sottoscrizione,
Cancel At End Of Period,Annulla alla fine del periodo,
Generate Invoice At Beginning Of Period,Genera fattura all&#39;inizio del periodo,
Plans,Piani,
Discounts,sconti,
Additional DIscount Percentage,Percentuale di sconto Aggiuntivo,
Additional DIscount Amount,Importo Sconto Aggiuntivo,
Subscription Invoice,Fattura di abbonamento,
Subscription Plan,Piano di abbonamento,
Cost,Costo,
Billing Interval,Intervallo di fatturazione,
Billing Interval Count,Conteggio intervalli di fatturazione,
"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","Numero di intervalli per il campo dell&#39;intervallo, ad esempio se l&#39;intervallo è &quot;Giorni&quot; e il conteggio dell&#39;intervallo di fatturazione è 3, le fatture verranno generate ogni 3 giorni",
Payment Plan,Piano di pagamento,
Subscription Plan Detail,Dettagli del piano di abbonamento,
Plan,Piano,
Subscription Settings,Impostazioni di abbonamento,
Grace Period,Periodo di grazia,
Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Numero di giorni trascorsi dalla data della fattura prima di annullare l&#39;abbonamento o di contrassegnare l&#39;abbonamento come non pagato,
Prorate,dividere proporzionalmente,
Tax Rule,Regola fiscale,
Tax Type,Tipo di tassa,
Use for Shopping Cart,Uso per Carrello,
Billing City,Città di fatturazione,
Billing County,Contea di fatturazione,
Billing State,Stato di fatturazione,
Billing Zipcode,Codice postale di fatturazione,
Billing Country,Nazione di fatturazione,
Shipping City,Spedizione Città,
Shipping County,Distretto di  Spedizione,
Shipping State,Stato Spedizione,
Shipping Zipcode,Codice postale di spedizione,
Shipping Country,Spedizione Nazione,
Tax Withholding Account,Conto ritenuta d&#39;acconto,
Tax Withholding Rates,Tassi ritenuti alla fonte,
Rates,Aliquote,
Tax Withholding Rate,Tasso di ritenuta d&#39;acconto,
Single Transaction Threshold,Soglia singola transazione,
Cumulative Transaction Threshold,Soglia cumulativa delle transazioni,
Agriculture Analysis Criteria,Criteri di analisi dell&#39;agricoltura,
Linked Doctype,Docty collegato,
Water Analysis,Analisi dell&#39;acqua,
Soil Analysis,Analisi del suolo,
Plant Analysis,Analisi delle piante,
Fertilizer,Fertilizzante,
Soil Texture,Texture del suolo,
Weather,Tempo metereologico,
Agriculture Manager,Responsabile Agricoltura,
Agriculture User,Utente Agricoltura,
Agriculture Task,Attività agricola,
Task Name,Nome Attività,
Start Day,Inizia il giorno,
End Day,Fine giornata,
Holiday Management,Gestione Ferie,
Ignore holidays,Ignora le vacanze,
Previous Business Day,Giorno lavorativo precedente,
Next Business Day,Il prossimo giorno lavorativo,
Urgent,Urgente,
Crop,raccolto,
Crop Name,Nome del raccolto,
Scientific Name,Nome scientifico,
"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.. ","Puoi definire tutte le attività che devono essere eseguite per questo raccolto qui. Il campo del giorno viene utilizzato per indicare il giorno in cui è necessario eseguire l&#39;attività, 1 è il 1 ° giorno, ecc.",
Crop Spacing,Spaziatura,
Crop Spacing UOM,Crop Spacing UOM,
Row Spacing,Row Spacing,
Row Spacing UOM,UOM di spaziatura righe,
Perennial,Perenne,
Biennial,Biennale,
Planting UOM,Piantare UOM,
Planting Area,Area di impianto,
Yield UOM,Resa UOM,
Materials Required,Materiali richiesti,
Produced Items,Articoli prodotti,
Produce,Produrre,
Byproducts,sottoprodotti,
Linked Location,Posizione Collegata,
A link to all the Locations in which the Crop is growing,Un link a tutte le Località in cui il Raccolto sta crescendo,
This will be day 1 of the crop cycle,Questo sarà il giorno 1 del ciclo colturale,
ISO 8601 standard,ISO 8601 standard,
Cycle Type,Tipo di ciclo,
Less than a year,Meno di un anno,
The minimum length between each plant in the field for optimum growth,La lunghezza minima tra ogni pianta nel campo per una crescita ottimale,
The minimum distance between rows of plants for optimum growth,La distanza minima tra le file di piante per una crescita ottimale,
Detected Diseases,Malattie rilevate,
List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,"Elenco delle malattie rilevate sul campo. Quando selezionato, aggiungerà automaticamente un elenco di compiti per affrontare la malattia",
Detected Disease,Malattia rilevata,
LInked Analysis,Analisi di LInked,
Disease,Malattia,
Tasks Created,Attività create,
Common Name,Nome comune,
Treatment Task,Task di trattamento,
Treatment Period,Periodo di trattamento,
Fertilizer Name,Nome del fertilizzante,
Density (if liquid),Densità (se liquido),
Fertilizer Contents,Contenuto di fertilizzante,
Fertilizer Content,Contenuto di fertilizzanti,
Linked Plant Analysis,Analisi delle piante collegate,
Linked Soil Analysis,Analisi del suolo collegata,
Linked Soil Texture,Texture del suolo collegata,
Collection Datetime,Collezione Datetime,
Laboratory Testing Datetime,Test di laboratorio datetime,
Result Datetime,Risultato Data / ora,
Plant Analysis Criterias,Criteri di analisi delle piante,
Plant Analysis Criteria,Criteri di analisi delle piante,
Minimum Permissible Value,Valore minimo consentito,
Maximum Permissible Value,Massimo valore consentito,
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,Criteri di analisi del suolo,
Soil Analysis Criteria,Criteri di analisi del suolo,
Soil Type,Tipo di terreno,
Loamy Sand,Sabbia argillosa,
Sandy Loam,Terreno sabbioso,
Loam,terra grassa,
Silt Loam,Limoso,
Sandy Clay Loam,Sandy Clay Loam,
Clay Loam,Clay Loam,
Silty Clay Loam,Argilloso Silty Clay,
Sandy Clay,Sandy Clay,
Silty Clay,Silty Clay,
Clay Composition (%),Composizione di argilla (%),
Sand Composition (%),Composizione di sabbia (%),
Silt Composition (%),Composizione di silt (%),
Ternary Plot,Trama Ternaria,
Soil Texture Criteria,Criteri di consistenza del suolo,
Type of Sample,Tipo di campione,
Container,Contenitore,
Origin,Origine,
Collection Temperature ,Temperatura di raccolta,
Storage Temperature,Temperatura di conservazione,
Appearance,Aspetto,
Person Responsible,Persona responsabile,
Water Analysis Criteria,Criteri di analisi dell&#39;acqua,
Weather Parameter,Parametro meteorologico,
ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
Asset Owner,Proprietario del bene,
Asset Owner Company,Asset Owner Company,
Custodian,Custode,
Disposal Date,Smaltimento Data,
Journal Entry for Scrap,Diario di rottami,
Available-for-use Date,Data disponibile per l&#39;uso,
Calculate Depreciation,Calcola l&#39;Ammortamento,
Allow Monthly Depreciation,Consenti ammortamento mensile,
Number of Depreciations Booked,Numero di ammortamenti Prenotato,
Finance Books,Libri di finanza,
Straight Line,Retta,
Double Declining Balance,Doppia valori residui,
Manual,Manuale,
Value After Depreciation,Valore Dopo ammortamenti,
Total Number of Depreciations,Numero totale degli ammortamenti,
Frequency of Depreciation (Months),Frequenza di ammortamento (Mesi),
Next Depreciation Date,Data ammortamento successivo,
Depreciation Schedule,piano di ammortamento,
Depreciation Schedules,piani di ammortamento,
Insurance details,Dettagli dell&#39;assicurazione,
Policy number,Numero di polizza,
Insurer,Assicuratore,
Insured value,Valore assicurato,
Insurance Start Date,Data di inizio dell&#39;assicurazione,
Insurance End Date,Data di fine dell&#39;assicurazione,
Comprehensive Insurance,Assicurazione completa,
Maintenance Required,Manutenzione Necessaria,
Check if Asset requires Preventive Maintenance or Calibration,Controllare se Asset richiede manutenzione preventiva o calibrazione,
Booked Fixed Asset,Risorsa fissa prenotata,
Purchase Receipt Amount,Importo della ricevuta d&#39;acquisto,
Default Finance Book,Libro delle finanze predefinito,
Quality Manager,Responsabile Qualità,
Asset Category Name,Asset Nome Categoria,
Depreciation Options,Opzioni di ammortamento,
Enable Capital Work in Progress Accounting,Abilita Contabilità lavori in corso,
Finance Book Detail,Dettaglio del libro finanziario,
Asset Category Account,Asset Categoria account,
Fixed Asset Account,Fixed Asset Account,
Accumulated Depreciation Account,Conto per il fondo ammortamento,
Depreciation Expense Account,Ammortamento spese account,
Capital Work In Progress Account,Conto capitale lavori in corso,
Asset Finance Book,Libro delle finanze del patrimonio,
Written Down Value,Valore Scritto,
Expected Value After Useful Life,Valore atteso After Life utile,
Rate of Depreciation,Tasso di ammortamento,
In Percentage,In percentuale,
Maintenance Team,Squadra di manutenzione,
Maintenance Manager Name,Nome del responsabile della manutenzione,
Maintenance Tasks,Attività di manutenzione,
Manufacturing User,Utente Produzione,
Asset Maintenance Log,Registro di manutenzione delle risorse,
ACC-AML-.YYYY.-,ACC-AML-.YYYY.-,
Maintenance Type,Tipo di manutenzione,
Maintenance Status,Stato di manutenzione,
Planned,previsto,
Has Certificate ,Ha certificato,
Certificate,Certificato,
Actions performed,Azioni eseguite,
Asset Maintenance Task,Attività di manutenzione degli asset,
Maintenance Task,Compito di manutenzione,
Preventive Maintenance,Manutenzione preventiva,
Calibration,Calibrazione,
2 Yearly,2 Annuali,
Certificate Required,Certificato richiesto,
Assign to Name,Assegna a nome,
Next Due Date,Prossima data di scadenza,
Last Completion Date,Ultima data di completamento,
Asset Maintenance Team,Asset Maintenance Team,
Maintenance Team Name,Nome del team di manutenzione,
Maintenance Team Members,Membri del team di manutenzione,
Purpose,Scopo,
Stock Manager,Responsabile di magazzino,
Asset Movement Item,Articolo movimento movimento,
Source Location,Posizione di origine,
From Employee,Da Dipendente,
Target Location,Posizione di destinazione,
To Employee,Al Dipendente,
Asset Repair,Riparazione delle risorse,
ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
Failure Date,Data di fallimento,
Assign To Name,Assegna a nome,
Repair Status,Stato di riparazione,
Error Description,Descrizione dell&#39;errore,
Downtime,I tempi di inattività,
Repair Cost,costo di riparazione,
Manufacturing Manager,Responsabile di produzione,
Current Asset Value,Valore patrimoniale corrente,
New Asset Value,Nuovo valore patrimoniale,
Make Depreciation Entry,Crea una scrittura per l'ammortamento,
Finance Book Id,Id del libro finanziario,
Location Name,Nome del luogo,
Parent Location,Posizione padre,
Is Container,È contenitore,
Check if it is a hydroponic unit,Controlla se è un&#39;unità idroponica,
Location Details,Dettagli della Posizione,
Latitude,Latitudine,
Longitude,Longitudine,
Area,La zona,
Area UOM,Area UOM,
Tree Details,Dettagli Albero,
Maintenance Team Member,Membro del team di manutenzione,
Team Member,Membro della squadra,
Maintenance Role,Ruolo di manutenzione,
Buying Settings,Impostazioni Acquisto,
Settings for Buying Module,Impostazioni per il Modulo Acquisti,
Supplier Naming By,Creare il Nome Fornitore da,
Default Supplier Group,Gruppo di fornitori predefinito,
Default Buying Price List,Prezzo di acquisto predefinito,
Maintain same rate throughout purchase cycle,Mantenere la stessa tariffa per l'intero ciclo di acquisto,
Allow Item to be added multiple times in a transaction,Consenti di aggiungere lo stesso articolo più volte in una transazione,
Backflush Raw Materials of Subcontract Based On,Backflush Materie prime di subappalto basati su,
Material Transferred for Subcontract,Materiale trasferito per conto lavoro,
Over Transfer Allowance (%),Assegno di trasferimento eccessivo (%),
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.,"Percentuale che ti è consentito trasferire di più rispetto alla quantità ordinata. Ad esempio: se hai ordinato 100 unità. e la tua indennità è del 10%, ti è permesso trasferire 110 unità.",
PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
Get Items from Open Material Requests,Ottenere elementi dal Richieste Aperto Materiale,
Fetch items based on Default Supplier.,Recupera gli articoli in base al fornitore predefinito.,
Required By,Richiesto da,
Order Confirmation No,Conferma d&#39;ordine no,
Order Confirmation Date,Data di conferma dell&#39;ordine,
Customer Mobile No,Clienti mobile No,
Customer Contact Email,Customer Contact Email,
Set Target Warehouse,Imposta magazzino target,
Sets 'Warehouse' in each row of the Items table.,Imposta &quot;Magazzino&quot; in ogni riga della tabella Articoli.,
Supply Raw Materials,Fornire Materie Prime,
Purchase Order Pricing Rule,Regola dei prezzi degli ordini di acquisto,
Set Reserve Warehouse,Imposta il magazzino di riserva,
In Words will be visible once you save the Purchase Order.,In parole saranno visibili una volta che si salva di Acquisto.,
Advance Paid,Anticipo versato,
Tracking,Monitoraggio,
% Billed,% Fatturato,
% Received,% Ricevuto,
Ref SQ,Rif. SQ,
Inter Company Order Reference,Riferimento ordine interaziendale,
Supplier Part Number,Numero di articolo del fornitore,
Billed Amt,Importo Fatturato,
Warehouse and Reference,Magazzino e Riferimenti,
To be delivered to customer,Da consegnare al cliente,
Material Request Item,Voce di richiesta materiale,
Supplier Quotation Item,Articolo Fornitore del Preventivo,
Against Blanket Order,Contro l&#39;ordine generale,
Blanket Order,Ordine generale,
Blanket Order Rate,Tariffa ordine coperta,
Returned Qty,Tornati Quantità,
Purchase Order Item Supplied,Articolo dell'Ordine di Acquisto Fornito,
BOM Detail No,Dettaglio BOM N.,
Stock Uom,UdM Giacenza,
Raw Material Item Code,Codice Articolo Materia Prima,
Supplied Qty,Dotazione Qtà,
Purchase Receipt Item Supplied,Ricevuta di Acquisto Articolo Fornito,
Current Stock,Giacenza Corrente,
PUR-RFQ-.YYYY.-,PUR-RFQ-.YYYY.-,
For individual supplier,Per singolo fornitore,
Supplier Detail,Dettaglio del Fornitore,
Link to Material Requests,Collegamento alle richieste di materiale,
Message for Supplier,Messaggio per il Fornitore,
Request for Quotation Item,Articolo della richiesta di offerta,
Required Date,Data richiesta,
Request for Quotation Supplier,Fornitore della richiesta di offerta,
Send Email,Invia Email,
Quote Status,Quote Status,
Download PDF,Scarica il pdf,
Supplier of Goods or Services.,Fornitore di beni o servizi.,
Name and Type,Nome e Tipo,
SUP-.YYYY.-,SUP-.YYYY.-,
Default Bank Account,Conto Banca Predefinito,
Is Transporter,È trasportatore,
Represents Company,Rappresenta la società,
Supplier Type,Tipo Fornitore,
Allow Purchase Invoice Creation Without Purchase Order,Consenti creazione fattura di acquisto senza ordine di acquisto,
Allow Purchase Invoice Creation Without Purchase Receipt,Consenti creazione fattura di acquisto senza ricevuta di acquisto,
Warn RFQs,Avvisare in caso RFQ,
Warn POs,Avvisare in caso di ordine di acquisto,
Prevent RFQs,Impedire RFQ,
Prevent POs,Impedire gli ordini di acquisto,
Billing Currency,Valuta di fatturazione,
Default Payment Terms Template,Modello di termini di pagamento predefinito,
Block Supplier,Blocca fornitore,
Hold Type,Tenere il tipo,
Leave blank if the Supplier is blocked indefinitely,Lascia vuoto se il Fornitore è bloccato a tempo indeterminato,
Default Payable Accounts,Contabilità Fornitori Predefinita,
Mention if non-standard payable account,Da specificare solo se non si vuole usare il conto fornitori fatture passive predefinito,
Default Tax Withholding Config,Imposta di ritenuta d&#39;acconto predefinita,
Supplier Details,Dettagli del Fornitore,
Statutory info and other general information about your Supplier,Informazioni legali e altre Informazioni generali sul tuo Fornitore,
PUR-SQTN-.YYYY.-,PUR-SQTN-.YYYY.-,
Supplier Address,Indirizzo Fornitore,
Link to material requests,Collegamento alle richieste di materiale,
Rounding Adjustment (Company Currency,Regolazione arrotondamento (Valuta Società,
Auto Repeat Section,Sezione Auto Ripetizione,
Is Subcontracted,È in Conto Lavorazione,
Lead Time in days,Tempo di Consegna in giorni,
Supplier Score,Punteggio del fornitore,
Indicator Color,Colore dell&#39;indicatore,
Evaluation Period,Periodo di valutazione,
Per Week,A settimana,
Per Month,Al mese,
Per Year,Per anno,
Scoring Setup,Impostazione del punteggio,
Weighting Function,Funzione di ponderazione,
"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","Nella formula possono essere utilizzate le variabili Scorecard definite sotto, oltre a: {total_score} (il punteggio totale di quel periodo), {period_number} (il numero di periodi fino ad oggi)",
Scoring Standings,Classificazione del punteggio,
Criteria Setup,Definizione dei criteri di valutazione,
Load All Criteria,Carica tutti i criteri,
Scoring Criteria,Criteri di punteggio,
Scorecard Actions,Azioni Scorecard,
Warn for new Request for Quotations,Avvisa per la nuova richiesta per le citazioni,
Warn for new Purchase Orders,Avvisa per i nuovi ordini di acquisto,
Notify Supplier,Notificare il fornitore,
Notify Employee,Notifica dipendente,
Supplier Scorecard Criteria,Criteri di valutazione dei fornitori,
Criteria Name,Nome criterio di valutazione,
Max Score,Punteggio massimo,
Criteria Formula,Formula,
Criteria Weight,Peso,
Supplier Scorecard Period,Periodo del punteggio fornitore,
PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
Period Score,Punteggio periodo,
Calculations,Calcolo,
Criteria,criteri,
Variables,variabili,
Supplier Scorecard Setup,Impostazione Scorecard Fornitore,
Supplier Scorecard Scoring Criteria,Criteri di valutazione del punteggio fornitore,
Score,Punto,
Supplier Scorecard Scoring Standing,Scorecard fornitore punteggio in piedi,
Standing Name,Nome permanente,
Purple,Viola,
Yellow,Giallo,
Orange,arancia,
Min Grade,Min Grado,
Max Grade,Max Grado,
Warn Purchase Orders,Avvisa gli ordini di acquisto,
Prevent Purchase Orders,Impedire gli ordini di acquisto,
Employee ,Dipendente,
Supplier Scorecard Scoring Variable,Variabile di punteggio dei punteggi dei fornitori,
Variable Name,Nome variabile,
Parameter Name,Nome del parametro,
Supplier Scorecard Standing,Scorecard fornitore permanente,
Notify Other,Notifica Altro,
Supplier Scorecard Variable,Variabile della Scorecard fornitore,
Call Log,Registro chiamate,
Received By,Ricevuto da,
Caller Information,Informazioni sul chiamante,
Contact Name,Nome Contatto,
Lead ,Condurre,
Lead Name,Nome Lead,
Ringing,suono,
Missed,perse,
Call Duration in seconds,Durata della chiamata in secondi,
Recording URL,URL di registrazione,
Communication Medium,Mezzo di comunicazione,
Communication Medium Type,Tipo di mezzo di comunicazione,
Voice,Voce,
Catch All,Prendi tutto,
"If there is no assigned timeslot, then communication will be handled by this group","Se non è stata assegnata alcuna fascia oraria, la comunicazione verrà gestita da questo gruppo",
Timeslots,Fasce orarie,
Communication Medium Timeslot,Media dei tempi di comunicazione,
Employee Group,Gruppo di dipendenti,
Appointment,Appuntamento,
Scheduled Time,Orario pianificato,
Unverified,Non verificato,
Customer Details,Dettagli Cliente,
Phone Number,Numero di telefono,
Skype ID,identificativo Skype,
Linked Documents,Documenti collegati,
Appointment With,Appuntamento con,
Calendar Event,Evento del calendario,
Appointment Booking Settings,Impostazioni prenotazione appuntamenti,
Enable Appointment Scheduling,Abilita pianificazione appuntamenti,
Agent Details,Dettagli dell&#39;agente,
Availability Of Slots,Disponibilità di slot,
Number of Concurrent Appointments,Numero di appuntamenti simultanei,
Agents,Agents,
Appointment Details,Dettagli dell&#39;appuntamento,
Appointment Duration (In Minutes),Durata appuntamento (in minuti),
Notify Via Email,Notifica via e-mail,
Notify customer and agent via email on the day of the appointment.,Avvisare cliente e agente via e-mail il giorno dell&#39;appuntamento.,
Number of days appointments can be booked in advance,Numero di giorni di appuntamenti possono essere prenotati in anticipo,
Success Settings,Impostazioni di successo,
Success Redirect URL,URL di reindirizzamento riuscito,
"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Lascia in bianco per la casa. Questo è relativo all&#39;URL del sito, ad esempio &quot;about&quot; reindirizzerà a &quot;https://yoursitename.com/about&quot;",
Appointment Booking Slots,Slot di prenotazione degli appuntamenti,
Day Of Week,Giorno della settimana,
From Time ,Da Periodo,
Campaign Email Schedule,Programma e-mail della campagna,
Send After (days),Invia dopo (giorni),
Signed,firmato,
Party User,Utente del party,
Unsigned,unsigned,
Fulfilment Status,Stato di adempimento,
N/A,N / A,
Unfulfilled,insoddisfatto,
Partially Fulfilled,Parzialmente soddisfatta,
Fulfilled,Soddisfatto,
Lapsed,decaduto,
Contract Period,Periodo del contratto,
Signee Details,Dettagli del firmatario,
Signee,signée,
Signed On,Firmato,
Contract Details,Dettagli del contratto,
Contract Template,Modello di contratto,
Contract Terms,Termini del contratto,
Fulfilment Details,Dettagli di adempimento,
Requires Fulfilment,Richiede l&#39;adempimento,
Fulfilment Deadline,Scadenza di adempimento,
Fulfilment Terms,Termini di adempimento,
Contract Fulfilment Checklist,Checklist per l&#39;evasione del contratto,
Requirement,Requisiti,
Contract Terms and Conditions,Termini e condizioni del contratto,
Fulfilment Terms and Conditions,Termini e condizioni di adempimento,
Contract Template Fulfilment Terms,Termini di adempimento del modello di contratto,
Email Campaign,Campagna e-mail,
Email Campaign For ,Campagna e-mail per,
Lead is an Organization,Lead è un&#39;organizzazione,
CRM-LEAD-.YYYY.-,CRM-LEAD-.YYYY.-,
Person Name,Nome della Persona,
Lost Quotation,Preventivo Perso,
Interested,Interessati,
Converted,Convertito,
Do Not Contact,Non Contattarci,
From Customer,Da Cliente,
Campaign Name,Nome Campagna,
Follow Up,Seguito,
Next Contact By,Contatto Successivo Con,
Next Contact Date,Data del contatto successivo,
Ends On,Finisce,
Address & Contact,Indirizzo e Contatto,
Mobile No.,Num. Cellulare,
Lead Type,Tipo Lead,
Channel Partner,Canale Partner,
Consultant,Consulente,
Market Segment,Segmento di Mercato,
Industry,Industria,
Request Type,Tipo di richiesta,
Product Enquiry,Richiesta di informazioni sui prodotti,
Request for Information,Richiesta di Informazioni,
Suggestions,Suggerimenti,
Blog Subscriber,Abbonati Blog,
LinkedIn Settings,Impostazioni LinkedIn,
Company ID,Codice Identificativo dell&#39;azienda,
OAuth Credentials,Credenziali OAuth,
Consumer Key,Chiave consumatore,
Consumer Secret,Consumatore segreto,
User Details,Dettagli utente,
Person URN,Persona URN,
Session Status,Stato della sessione,
Lost Reason Detail,Dettaglio motivo perso,
Opportunity Lost Reason,Opportunità persa motivo,
Potential Sales Deal,Deal potenziale di vendita,
CRM-OPP-.YYYY.-,CRM-OPP-.YYYY.-,
Opportunity From,Opportunità da,
Customer / Lead Name,Nome Cliente / Lead,
Opportunity Type,Tipo di Opportunità,
Converted By,Convertito da,
Sales Stage,Fase di vendita,
Lost Reason,Motivo della perdita,
Expected Closing Date,Data di chiusura prevista,
To Discuss,Da Discutere,
With Items,Con gli articoli,
Probability (%),Probabilità (%),
Contact Info,Info Contatto,
Customer / Lead Address,Indirizzo Cliente / Lead,
Contact Mobile No,Cellulare Contatto,
Enter name of campaign if source of enquiry is campaign,Inserisci il nome della Campagna se la sorgente di indagine è la campagna,
Opportunity Date,Data Opportunità,
Opportunity Item,Opportunità articolo,
Basic Rate,Tasso Base,
Stage Name,Nome d&#39;arte,
Social Media Post,Post sui social media,
Post Status,Stato del post,
Posted,Inserito,
Share On,Condividere su,
Twitter,Twitter,
LinkedIn,LinkedIn,
Twitter Post Id,ID post Twitter,
LinkedIn Post Id,ID post LinkedIn,
Tweet,Tweet,
Twitter Settings,Impostazioni di Twitter,
API Secret Key,Chiave segreta API,
Term Name,termine Nome,
Term Start Date,Term Data di inizio,
Term End Date,Data Terminologia fine,
Academics User,Utenti accademici,
Academic Year Name,Nome Anno Accademico,
Article,Articolo,
LMS User,Utente LMS,
Assessment Criteria Group,Gruppo criteri di valutazione,
Assessment Group Name,Nome gruppo valutazione,
Parent Assessment Group,Capogruppo di valutazione,
Assessment Name,Nome valutazione,
Grading Scale,Scala di classificazione,
Examiner,Esaminatore,
Examiner Name,Nome Examiner,
Supervisor,Supervisore,
Supervisor Name,Nome supervisore,
Evaluate,Valutare,
Maximum Assessment Score,Massimo punteggio,
Assessment Plan Criteria,Criteri piano di valutazione,
Maximum Score,punteggio massimo,
Result,Risultato,
Total Score,Punteggio totale,
Grade,Grado,
Assessment Result Detail,Dettaglio risultati valutazione,
Assessment Result Tool,Strumento di valutazione dei risultati,
Result HTML,risultato HTML,
Content Activity,Attività sui contenuti,
Last Activity ,L&#39;ultima attività,
Content Question,Domanda sul contenuto,
Question Link,Link alla domanda,
Course Name,Nome del corso,
Topics,Temi,
Hero Image,Immagine dell&#39;eroe,
Default Grading Scale,Grading scala predefinita,
Education Manager,Responsabile della formazione,
Course Activity,Attività del corso,
Course Enrollment,Iscrizione al corso,
Activity Date,Data attività,
Course Assessment Criteria,Criteri di valutazione del corso,
Weightage,Pesa,
Course Content,Contenuto del corso,
Quiz,Quiz,
Program Enrollment,programma Iscrizione,
Enrollment Date,Iscrizione Data,
Instructor Name,Istruttore Nome,
EDU-CSH-.YYYY.-,EDU-CSH-.YYYY.-,
Course Scheduling Tool,Strumento Pianificazione Corso,
Course Start Date,Data inizio corso,
To TIme,Per Tempo,
Course End Date,Corso Data fine,
Course Topic,Argomento del corso,
Topic,Argomento,
Topic Name,Nome argomento,
Education Settings,Impostazioni di educazione,
Current Academic Year,Anno Accademico Corrente,
Current Academic Term,Termine accademico attuale,
Attendance Freeze Date,Data di congelamento della frequenza,
Validate Batch for Students in Student Group,Convalida il gruppo per gli studenti del gruppo studente,
"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.","Per il gruppo studente basato su batch, il gruppo di studenti sarà convalidato per ogni studente dall&#39;iscrizione al programma.",
Validate Enrolled Course for Students in Student Group,Validate il Corso iscritto agli studenti del gruppo studente,
"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.","Per il corso del corso, il Corso sarà convalidato per ogni Studente dai corsi iscritti in iscrizione al programma.",
Make Academic Term Mandatory,Rendi obbligatorio il termine accademico,
"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Se abilitato, il campo Periodo Accademico sarà obbligatorio nello Strumento di Registrazione del Programma.",
Skip User creation for new Student,Salta la creazione dell&#39;utente per il nuovo studente,
"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.","Per impostazione predefinita, viene creato un nuovo utente per ogni nuovo studente. Se abilitato, nessun nuovo Utente verrà creato quando viene creato un nuovo Studente.",
Instructor Records to be created by,Istruttore Record da creare da,
Employee Number,Numero Dipendente,
Fee Category,Fee Categoria,
Fee Component,Fee Componente,
Fees Category,tasse Categoria,
Fee Schedule,Tariffario,
Fee Structure,Fee Struttura,
EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
Fee Creation Status,Stato della creazione della tariffa,
In Process,In Process,
Send Payment Request Email,Invia la richiesta di pagamento,
Student Category,Student Categoria,
Fee Breakup for each student,Scomposizione per ogni studente,
Total Amount per Student,Importo totale per studente,
Institution,Istituzione,
Fee Schedule Program,Programma di programmazione delle tasse,
Student Batch,Batch Student,
Total Students,Totale studenti,
Fee Schedule Student Group,Schema di apprendimento gruppo studenti,
EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
Include Payment,Includi il pagamento,
Send Payment Request,Invia richiesta di pagamento,
Student Details,Dettagli dello studente,
Student Email,Email dell&#39;allievo,
Grading Scale Name,Grading Scale Nome,
Grading Scale Intervals,Intervalli di classificazione di scala,
Intervals,intervalli,
Grading Scale Interval,Grading Scale Intervallo,
Grade Code,Codice grado,
Threshold,Soglia,
Grade Description,Grade Descrizione,
Guardian,Custode,
Guardian Name,Nome della guardia,
Alternate Number,Numero alternativo,
Occupation,Occupazione,
Work Address,Indirizzo di lavoro,
Guardian Of ,guardian of,
Students,Alunni,
Guardian Interests,Custodi Interessi,
Guardian Interest,Guardiano interesse,
Interest,Interesse,
Guardian Student,Guardiano Student,
EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
Instructor Log,Registro istruttore,
Other details,Altri dettagli,
Option,Opzione,
Is Correct,È corretta,
Program Name,Nome programma,
Program Abbreviation,Abbreviazione programma,
Courses,corsi,
Is Published,È pubblicato,
Allow Self Enroll,Consenti iscrizione automatica,
Is Featured,È in primo piano,
Intro Video,Video introduttivo,
Program Course,programma del Corso,
School House,school House,
Boarding Student,Studente di imbarco,
Check this if the Student is residing at the Institute's Hostel.,Controllare questo se lo studente è residente presso l&#39;Ostello dell&#39;Istituto.,
Walking,A passeggio,
Institute's Bus,Bus dell&#39;Istituto,
Public Transport,Trasporto pubblico,
Self-Driving Vehicle,Autovettura,
Pick/Drop by Guardian,Pick / Drop di Guardian,
Enrolled courses,Corsi iscritti,
Program Enrollment Course,Corso di iscrizione al programma,
Program Enrollment Fee,Programma Tassa di iscrizione,
Program Enrollment Tool,Strumento di Iscrizione Programma,
Get Students From,Get studenti di,
Student Applicant,Student Richiedente,
Get Students,ottenere gli studenti,
Enrollment Details,Dettagli iscrizione,
New Program,Nuovo programma,
New Student Batch,New Student Batch,
Enroll Students,iscrivere gli studenti,
New Academic Year,Nuovo anno accademico,
New Academic Term,Nuovo termine accademico,
Program Enrollment Tool Student,Programma Strumento di Iscrizione per Studenti,
Student Batch Name,Studente Batch Nome,
Program Fee,Costo del programma,
Question,Domanda,
Single Correct Answer,Risposta corretta singola,
Multiple Correct Answer,Risposta corretta multipla,
Quiz Configuration,Configurazione del quiz,
Passing Score,Punteggio per passare,
Score out of 100,Punteggio su 100,
Max Attempts,Tentativi massimi,
Enter 0 to waive limit,Immettere 0 per rinunciare al limite,
Grading Basis,Base di valutazione,
Latest Highest Score,Ultimo punteggio più alto,
Latest Attempt,Tentativo più recente,
Quiz Activity,Attività quiz,
Enrollment,Iscrizione,
Pass,Passaggio,
Quiz Question,Quiz,
Quiz Result,Risultato del quiz,
Selected Option,Opzione selezionata,
Correct,Corretta,
Wrong,Sbagliato,
Room Name,Nome della stanza,
Room Number,Numero di Camera,
Seating Capacity,posti a sedere,
House Name,Nome della casa,
EDU-STU-.YYYY.-,EDU-STU-.YYYY.-,
Student Mobile Number,Student Mobile Number,
Joining Date,Unire Data,
Blood Group,Gruppo sanguigno,
A+,A+,
A-,A-,
B+,B +,
B-,B-,
O+,O +,
O-,O-,
AB+,AB+,
AB-,AB-,
Nationality,Nazionalità,
Home Address,Indirizzo di casa,
Guardian Details,Guardiano Dettagli,
Guardians,Guardiani,
Sibling Details,Dettagli sibling,
Siblings,fratelli,
Exit,Esci,
Date of Leaving,Data di partenza,
Leaving Certificate Number,Lasciando Numero del certificato,
Reason For Leaving,Motivo della partenza,
Student Admission,L&#39;ammissione degli studenti,
Admission Start Date,Data Inizio Ammissione,
Admission End Date,Data Fine Ammissione,
Publish on website,Pubblicare sul sito web,
Eligibility and Details,Eligibilità e dettagli,
Student Admission Program,Programma di ammissione all&#39;allievo,
Minimum Age,Età minima,
Maximum Age,Età massima,
Application Fee,Tassa d&#39;iscrizione,
Naming Series (for Student Applicant),Denominazione Serie (per studenti candidati),
LMS Only,Solo LMS,
EDU-APP-.YYYY.-,EDU-APP-.YYYY.-,
Application Status,Stato dell&#39;applicazione,
Application Date,Data di applicazione,
Student Attendance Tool,Strumento Presenze Studente,
Group Based On,Gruppo basato su,
Students HTML,Gli studenti HTML,
Group Based on,Gruppo basato,
Student Group Name,Nome gruppo Student,
Max Strength,Forza Max,
Set 0 for no limit,Impostare 0 per nessun limite,
Instructors,Istruttori,
Student Group Creation Tool,Strumento Creazione Gruppo Studente,
Leave blank if you make students groups per year,Lasciare vuoto se fai gruppi di studenti all&#39;anno,
Get Courses,Ottieni Corsi,
Separate course based Group for every Batch,Separare il gruppo di corso per ogni batch,
Leave unchecked if you don't want to consider batch while making course based groups. ,Lasciate non selezionate se non si desidera considerare il gruppo durante la creazione di gruppi basati sul corso.,
Student Group Creation Tool Course,Strumento Corso Creazione Gruppo Studente,
Course Code,Codice del corso,
Student Group Instructor,Istruttore del gruppo di studenti,
Student Group Student,Student Student Group,
Group Roll Number,Numero di rotolo di gruppo,
Student Guardian,Student Guardiano,
Relation,Relazione,
Mother,Madre,
Father,Padre,
Student Language,Student Lingua,
Student Leave Application,Student Leave Application,
Mark as Present,Segna come Presente,
Student Log,Student Log,
Academic,Accademico,
Achievement,Realizzazione,
Student Report Generation Tool,Strumento di Generazione dei Rapporti degli Studenti,
Include All Assessment Group,Includi tutti i gruppi di valutazione,
Show Marks,Mostra segni,
Add letterhead,Aggiungi carta intestata,
Print Section,Sezione di stampa,
Total Parents Teacher Meeting,Riunione degli insegnanti di genitori totali,
Attended by Parents,Assistito dai genitori,
Assessment Terms,Termini di valutazione,
Student Sibling,Student Sibling,
Studying in Same Institute,Studiare in stesso Istituto,
NO,NO,
YES,Si,
Student Siblings,Student Siblings,
Topic Content,Contenuto dell&#39;argomento,
Amazon MWS Settings,Impostazioni Amazon MWS,
ERPNext Integrations,Integrazioni ERPNext,
Enable Amazon,Abilita Amazon,
MWS Credentials,Credenziali MWS,
Seller ID,ID venditore,
AWS Access Key ID,ID chiave di accesso AWS,
MWS Auth Token,Token di autenticazione MWS,
Market Place ID,Market Place ID,
AE,AE,
AU,AU,
BR,BR,
CA,circa,
CN,CN,
DE,DE,
ES,ES,
FR,FR,
IN,NEL,
JP,JP,
IT,IT,
MX,MX,
UK,UK,
US,NOI,
Customer Type,tipo di cliente,
Market Place Account Group,Gruppo di account Market Place,
After Date,Dopo la data,
Amazon will synch data updated after this date,Amazon sincronizzerà i dati aggiornati dopo questa data,
Sync Taxes and Charges,Sincronizza tasse e addebiti,
Get financial breakup of Taxes and charges data by Amazon ,Ottieni una rottura finanziaria delle tasse e carica i dati di Amazon,
Sync Products,Prodotti di sincronizzazione,
Always sync your products from Amazon MWS before synching the Orders details,Sincronizza sempre i tuoi prodotti da Amazon MWS prima di sincronizzare i dettagli degli ordini,
Sync Orders,Sincronizza ordini,
Click this button to pull your Sales Order data from Amazon MWS.,Fare clic su questo pulsante per estrarre i dati dell&#39;ordine cliente da Amazon MWS.,
Enable Scheduled Sync,Abilita sincronizzazione pianificata,
Check this to enable a scheduled Daily synchronization routine via scheduler,Controlla questo per abilitare una routine di sincronizzazione giornaliera pianificata tramite lo scheduler,
Max Retry Limit,Limite massimo tentativi,
Exotel Settings,Impostazioni Exotel,
Account SID,Account SID,
API Token,Token API,
GoCardless Mandate,GoCardless Mandate,
Mandate,Mandato,
GoCardless Customer,Cliente GoCardless,
GoCardless Settings,Impostazioni GoCardless,
Webhooks Secret,Webhooks Secret,
Plaid Settings,Impostazioni del plaid,
Synchronize all accounts every hour,Sincronizza tutti gli account ogni ora,
Plaid Client ID,ID client plaid,
Plaid Secret,Plaid Secret,
Plaid Environment,Ambiente plaid,
sandbox,sandbox,
development,sviluppo,
production,produzione,
QuickBooks Migrator,QuickBooks Migrator,
Application Settings,Impostazioni dell&#39;applicazione,
Token Endpoint,Token Endpoint,
Scope,Scopo,
Authorization Settings,Impostazioni di autorizzazione,
Authorization Endpoint,Endpoint di autorizzazione,
Authorization URL,URL di autorizzazione,
Quickbooks Company ID,Quickbooks Company ID,
Company Settings,Impostazioni Azienda,
Default Shipping Account,Account di spedizione predefinito,
Default Warehouse,Magazzino Predefinito,
Default Cost Center,Centro di costo predefinito,
Undeposited Funds Account,Conto fondi non trasferiti,
Shopify Log,Log di Shopify,
Request Data,Richiesta dati,
Shopify Settings,Impostazioni di Shopify,
status html,stato html,
Enable Shopify,Abilita Shopify,
App Type,App Type,
Last Sync Datetime,Ultima sincronizzazione datetime,
Shop URL,URL del negozio,
eg: frappe.myshopify.com,ad esempio: frappe.myshopify.com,
Shared secret,Segreto condiviso,
Webhooks Details,Dettagli Webhooks,
Webhooks,Webhooks,
Customer Settings,Impostazioni del cliente,
Default Customer,Cliente predefinito,
Customer Group will set to selected group while syncing customers from Shopify,Gruppo di clienti verrà impostato sul gruppo selezionato durante la sincronizzazione dei clienti da Shopify,
For Company,Per Azienda,
Cash Account will used for Sales Invoice creation,Conto in contanti verrà utilizzato per la creazione di fattura di vendita,
Update Price from Shopify To ERPNext Price List,Aggiorna prezzo da Shopify al listino prezzi ERPNext,
Default Warehouse to to create Sales Order and Delivery Note,Magazzino predefinito per creare ordine di vendita e nota di consegna,
Sales Order Series,Serie di ordini di vendita,
Import Delivery Notes from Shopify on Shipment,Importa le note di consegna da Shopify alla spedizione,
Delivery Note Series,Serie di note di consegna,
Import Sales Invoice from Shopify if Payment is marked,Importa la fattura di vendita da Shopify se il pagamento è contrassegnato,
Sales Invoice Series,Serie di fatture di vendita,
Shopify Tax Account,Conto fiscale Shopify,
Shopify Tax/Shipping Title,Shopify Tax / Shipping Title,
ERPNext Account,ERPNext Account,
Shopify Webhook Detail,Shopify Webhook Detail,
Webhook ID,ID WebHook,
Tally Migration,Tally Migration,
Master Data,Dati anagrafici,
"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Dati esportati da Tally che consiste in piano dei conti, clienti, fornitori, indirizzi, articoli e unità di misura",
Is Master Data Processed,Vengono elaborati i dati anagrafici,
Is Master Data Imported,Vengono importati i dati anagrafici,
Tally Creditors Account,Conto dei creditori Tally,
Creditors Account set in Tally,Conto creditori impostato in Tally,
Tally Debtors Account,Conto dei debitori di Tally,
Debtors Account set in Tally,Conto debitori impostato in Tally,
Tally Company,Tally Company,
Company Name as per Imported Tally Data,Nome della società secondo i dati di conteggio importati,
Default UOM,UOM predefinito,
UOM in case unspecified in imported data,UOM nel caso in cui non sia specificato nei dati importati,
ERPNext Company,Azienda ERPSucc,
Your Company set in ERPNext,La tua azienda impostata in ERPNext,
Processed Files,File elaborati,
Parties,parti,
UOMs,Unità di Misure,
Vouchers,Buoni,
Round Off Account,Arrotondamento Account,
Day Book Data,Dati del libro diurno,
Day Book Data exported from Tally that consists of all historic transactions,Dati del registro giornaliero esportati da Tally che consiste di tutte le transazioni storiche,
Is Day Book Data Processed,I dati del libro diurno vengono elaborati,
Is Day Book Data Imported,Vengono importati i dati del Day Book,
Woocommerce Settings,Impostazioni Woocommerce,
Enable Sync,Abilita sincronizzazione,
Woocommerce Server URL,URL del server Woocommerce,
Secret,Segreto,
API consumer key,Chiave API,
API consumer secret,Password API,
Tax Account,Conto fiscale,
Freight and Forwarding Account,Conto di spedizione e spedizione,
Creation User,Utente della creazione,
"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","L&#39;utente che verrà utilizzato per creare clienti, articoli e ordini cliente. Questo utente dovrebbe disporre delle autorizzazioni pertinenti.",
"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Questo magazzino verrà utilizzato per creare ordini cliente. Il magazzino di fallback è &quot;Stores&quot;.,
"The fallback series is ""SO-WOO-"".",La serie fallback è &quot;SO-WOO-&quot;.,
This company will be used to create Sales Orders.,Questa società verrà utilizzata per creare ordini cliente.,
Delivery After (Days),Consegna dopo (giorni),
This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,Questo è l&#39;offset predefinito (giorni) per la data di consegna negli ordini cliente. L&#39;offset di fallback è di 7 giorni dalla data di collocamento dell&#39;ordine.,
"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Questo è l&#39;UOM predefinito utilizzato per gli articoli e gli ordini cliente. L&#39;UOM di fallback è &quot;Nos&quot;.,
Endpoints,endpoint,
Endpoint,endpoint,
Antibiotic Name,Nome antibiotico,
Healthcare Administrator,Amministratore sanitario,
Laboratory User,Utente del laboratorio,
Is Inpatient,È ospedaliero,
Default Duration (In Minutes),Durata predefinita (in minuti),
Body Part,Parte del corpo,
Body Part Link,Collegamento della parte del corpo,
HLC-CPR-.YYYY.-,HLC-CPR-.YYYY.-,
Procedure Template,Modello di procedura,
Procedure Prescription,Prescrizione procedura,
Service Unit,Unità di servizio,
Consumables,Materiali di consumo,
Consume Stock,Consumare,
Invoice Consumables Separately,Fatturare i materiali di consumo separatamente,
Consumption Invoiced,Consumo fatturato,
Consumable Total Amount,Importo totale consumabile,
Consumption Details,Dettagli sui consumi,
Nursing User,Nursing User,
Clinical Procedure Item,Articolo di procedura clinica,
Invoice Separately as Consumables,Fattura separatamente come materiale di consumo,
Transfer Qty,Qtà di trasferimento,
Actual Qty (at source/target),Q.tà reale (in origine/obiettivo),
Is Billable,È fatturabile,
Allow Stock Consumption,Consenti il consumo di magazzino,
Sample UOM,Esempio di UOM,
Collection Details,Dettagli raccolta,
Change In Item,Modifica nell&#39;articolo,
Codification Table,Tabella di codificazione,
Complaints,"Denunce, contestazioni",
Dosage Strength,Forza di dosaggio,
Strength,Forza,
Drug Prescription,Prescrizione di farmaci,
Drug Name / Description,Nome / descrizione del farmaco,
Dosage,Dosaggio,
Dosage by Time Interval,Dosaggio per intervallo di tempo,
Interval,Intervallo,
Interval UOM,Intervallo UOM,
Hour,Ora,
Update Schedule,Aggiorna la pianificazione,
Exercise,Esercizio,
Difficulty Level,Livello di difficoltà,
Counts Target,Conta l&#39;obiettivo,
Counts Completed,Conteggi completati,
Assistance Level,Livello di assistenza,
Active Assist,Active Assist,
Exercise Name,Nome esercizio,
Body Parts,Parti del corpo,
Exercise Instructions,Istruzioni per l&#39;esercizio,
Exercise Video,Video di esercizi,
Exercise Steps,Fasi dell&#39;esercizio,
Steps,Passi,
Steps Table,Tabella dei passaggi,
Exercise Type Step,Tipo di esercizio Step,
Max number of visit,Numero massimo di visite,
Visited yet,Visitato ancora,
Reference Appointments,Appuntamenti di riferimento,
Valid till,Valido fino a,
Fee Validity Reference,Riferimento di validità della commissione,
Basic Details,Dettagli di base,
HLC-PRAC-.YYYY.-,HLC-PRAC-.YYYY.-,
Mobile,Mobile,
Phone (R),Telefono (R),
Phone (Office),Telefono (Ufficio),
Employee and User Details,Dettagli sui dipendenti e sugli utenti,
Hospital,Ospedale,
Appointments,Appuntamenti,
Practitioner Schedules,Orari del praticante,
Charges,oneri,
Out Patient Consulting Charge,Costo per consulenza fuori paziente,
Default Currency,Valuta Predefinita,
Healthcare Schedule Time Slot,Orario orario sanitario,
Parent Service Unit,Unità di servizio padr,
Service Unit Type,Tipo di unità di servizio,
Allow Appointments,Consenti appuntamenti,
Allow Overlap,Consenti sovrapposizione,
Inpatient Occupancy,Occupazione ospedaliera,
Occupancy Status,Stato di occupazione,
Vacant,Vacante,
Occupied,Occupato,
Item Details,Dettagli articolo,
UOM Conversion in Hours,Conversione UOM in ore,
Rate / UOM,Tasso / UOM,
Change in Item,Modifica nell&#39;articolo,
Out Patient Settings,Impostazioni paziente,
Patient Name By,Nome del paziente,
Patient Name,Nome paziente,
Link Customer to Patient,Collega il cliente al paziente,
"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.","Se selezionato, verrà creato un cliente, associato a Paziente. Le fatture pazienti verranno create contro questo Cliente. È inoltre possibile selezionare il cliente esistente durante la creazione di paziente.",
Default Medical Code Standard,Standard di codice medico di default,
Collect Fee for Patient Registration,Raccogliere la tariffa per la registrazione del paziente,
Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,Selezionando questa opzione verranno creati nuovi pazienti con stato Disabilitato per impostazione predefinita e verranno abilitati solo dopo la fatturazione della quota di registrazione.,
Registration Fee,Commissione di iscrizione,
Automate Appointment Invoicing,Automatizza la fatturazione degli appuntamenti,
Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Gestisci la fattura di appuntamento invia e annulla automaticamente per l&#39;incontro del paziente,
Enable Free Follow-ups,Abilita follow-up gratuiti,
Number of Patient Encounters in Valid Days,Numero di incontri con pazienti in giorni validi,
The number of free follow ups (Patient Encounters in valid days) allowed,Il numero di follow up gratuiti (incontri con i pazienti in giorni validi) consentiti,
Valid Number of Days,Numero di giorni validi,
Time period (Valid number of days) for free consultations,Periodo di tempo (numero di giorni valido) per consulenze gratuite,
Default Healthcare Service Items,Elementi del servizio sanitario predefinito,
"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","È possibile configurare gli articoli predefiniti per la fatturazione delle spese di consultazione, gli articoli di consumo della procedura e le visite dei pazienti",
Clinical Procedure Consumable Item,Articolo di consumo della procedura clinica,
Default Accounts,Account predefiniti,
Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,Conti del reddito di default da utilizzare se non stabiliti in Healthcare Practitioner per prenotare le spese di nomina.,
Default receivable accounts to be used to book Appointment charges.,Conti attivi predefiniti da utilizzare per la registrazione degli addebiti per gli appuntamenti.,
Out Patient SMS Alerts,Avvisi SMS di pazienti,
Patient Registration,Registrazione del paziente,
Registration Message,Messaggio di registrazione,
Confirmation Message,Messaggio di conferma,
Avoid Confirmation,Evita la conferma,
Do not confirm if appointment is created for the same day,Non confermare se l&#39;appuntamento è stato creato per lo stesso giorno,
Appointment Reminder,Promemoria appuntamento,
Reminder Message,Messaggio di promemoria,
Remind Before,Ricorda prima,
Laboratory Settings,Impostazioni di laboratorio,
Create Lab Test(s) on Sales Invoice Submission,Crea test di laboratorio sull&#39;invio della fattura di vendita,
Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,Selezionando questa opzione verranno creati i test di laboratorio specificati nella fattura di vendita al momento dell&#39;invio.,
Create Sample Collection document for Lab Test,Crea un documento di raccolta dei campioni per il test di laboratorio,
Checking this will create a Sample Collection document  every time you create a Lab Test,"Selezionando questo, verrà creato un documento di raccolta dei campioni ogni volta che si crea un test di laboratorio",
Employee name and designation in print,Nome e designazione del dipendente in stampa,
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.,Selezionare questa opzione se si desidera che il nome e la designazione del dipendente associato all&#39;utente che invia il documento vengano stampati nel rapporto del test di laboratorio.,
Do not print or email Lab Tests without Approval,Non stampare o inviare per e-mail test di laboratorio senza approvazione,
Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,Selezionando questa opzione si limiterà la stampa e l&#39;invio tramite e-mail dei documenti dei test di laboratorio a meno che non abbiano lo stato Approvato.,
Custom Signature in Print,Firma personalizzata in stampa,
Laboratory SMS Alerts,Laboratorio SMS Avvisi,
Result Printed Message,Risultato messaggio stampato,
Result Emailed Message,Risultato messaggio inviato tramite posta elettronica,
Check In,Registrare,
Check Out,Check-out,
HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
A Positive,Un positivo,
A Negative,Un Negativo,
AB Positive,AB Positivo,
AB Negative,AB negativo,
B Positive,B Positivo,
B Negative,B Negativo,
O Positive,O positivo,
O Negative,O negativo,
Date of birth,Data Compleanno,
Admission Scheduled,Ammissione Programmata,
Discharge Scheduled,Discarico programmato,
Discharged,licenziato,
Admission Schedule Date,Data Programmata Ammissione,
Admitted Datetime,Data/ora Ammissione,
Expected Discharge,Scarico previsto,
Discharge Date,Data di scarico,
Lab Prescription,Prescrizione di laboratorio,
Lab Test Name,Nome del test di laboratorio,
Test Created,Test creati,
Submitted Date,Data di invio,
Approved Date,Data approvazione,
Sample ID,ID del campione,
Lab Technician,Tecnico di laboratorio,
Report Preference,Preferenze di rapporto,
Test Name,Nome del test,
Test Template,Modello di prova,
Test Group,Gruppo di prova,
Custom Result,Risultato personalizzato,
LabTest Approver,LabTest Approver,
Add Test,Aggiungi Test,
Normal Range,Intervallo normale,
Result Format,Formato risultato,
Single,Singolo,
Compound,Composto,
Descriptive,Descrittivo,
Grouped,raggruppate,
No Result,Nessun risultato,
This value is updated in the Default Sales Price List.,Questo valore viene aggiornato nell&#39;elenco dei prezzi di vendita predefinito.,
Lab Routine,Laboratorio di routine,
Result Value,Valore risultato,
Require Result Value,Richiedi valore di risultato,
Normal Test Template,Modello di prova normale,
Patient Demographics,Demografia del paziente,
HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
Middle Name (optional),Secondo Nome (facoltativo),
Inpatient Status,Stato di ricovero,
"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.","Se &quot;Collega cliente a paziente&quot; è selezionato in Impostazioni sanitarie e un cliente esistente non è selezionato, verrà creato un cliente per questo paziente per la registrazione delle transazioni nel modulo Account.",
Personal and Social History,Storia personale e sociale,
Marital Status,Stato civile,
Married,Sposato,
Divorced,Divorziato,
Widow,Vedova,
Patient Relation,Relazione paziente,
"Allergies, Medical and Surgical History","Allergie, storia medica e chirurgica",
Allergies,Allergie,
Medication,medicazione,
Medical History,Storia medica,
Surgical History,Storia chirurgica,
Risk Factors,Fattori di rischio,
Occupational Hazards and Environmental Factors,Pericoli professionali e fattori ambientali,
Other Risk Factors,Altri fattori di rischio,
Patient Details,Dettagli del paziente,
Additional information regarding the patient,Ulteriori informazioni sul paziente,
HLC-APP-.YYYY.-,HLC-APP-.YYYY.-,
Patient Age,Età del paziente,
Get Prescribed Clinical Procedures,Ottieni procedure cliniche prescritte,
Therapy,Terapia,
Get Prescribed Therapies,Ottieni terapie prescritte,
Appointment Datetime,Appuntamento Datetime,
Duration (In Minutes),Durata (in minuti),
Reference Sales Invoice,Fattura di vendita di riferimento,
More Info,Ulteriori Informazioni,
Referring Practitioner,Referente Practitioner,
Reminded,ricordato,
HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
Assessment Template,Modello di valutazione,
Assessment Datetime,Data di valutazione,
Assessment Description,Descrizione della valutazione,
Assessment Sheet,Foglio di valutazione,
Total Score Obtained,Punteggio totale ottenuto,
Scale Min,Scala Min,
Scale Max,Scala max,
Patient Assessment Detail,Dettaglio della valutazione del paziente,
Assessment Parameter,Parametro di valutazione,
Patient Assessment Parameter,Parametro di valutazione del paziente,
Patient Assessment Sheet,Foglio di valutazione del paziente,
Patient Assessment Template,Modello di valutazione del paziente,
Assessment Parameters,Parametri di valutazione,
Parameters,parametri,
Assessment Scale,Scala di valutazione,
Scale Minimum,Scala minima,
Scale Maximum,Scala massima,
HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
Encounter Date,Data dell&#39;incontro,
Encounter Time,Tempo di incontro,
Encounter Impression,Incontro impressione,
Symptoms,Sintomi,
In print,In stampa,
Medical Coding,Codifica medica,
Procedures,procedure,
Therapies,Terapie,
Review Details,Dettagli di revisione,
Patient Encounter Diagnosis,Diagnosi di incontro con il paziente,
Patient Encounter Symptom,Sintomo dell&#39;incontro con il paziente,
HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
Attach Medical Record,Allega cartella clinica,
Reference DocType,Riferimento DocType,
Spouse,Sposa,
Family,Famiglia,
Schedule Details,Dettagli pianificazione,
Schedule Name,Nome Schedule,
Time Slots,Fasce orarie,
Practitioner Service Unit Schedule,Programma dell&#39;unità di servizio del praticante,
Procedure Name,Nome della procedura,
Appointment Booked,Appuntamento confermato,
Procedure Created,Procedura creata,
HLC-SC-.YYYY.-,HLC-SC-.YYYY.-,
Collected By,Raccolto da,
Particulars,Particolari,
Result Component,Componente risultato,
HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
Therapy Plan Details,Dettagli del piano terapeutico,
Total Sessions,Sessioni totali,
Total Sessions Completed,Sessioni totali completate,
Therapy Plan Detail,Dettaglio del piano terapeutico,
No of Sessions,No di sessioni,
Sessions Completed,Sessioni completate,
Tele,Tele,
Exercises,Esercizi,
Therapy For,Terapia per,
Add Exercises,Aggiungi esercizi,
Body Temperature,Temperatura corporea,
Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),"Presenza di febbre (temp&gt; 38,5 ° C / 101,3 ° F o temp. Durata&gt; 38 ° C / 100,4 ° F)",
Heart Rate / Pulse,Frequenza cardiaca / Battito,
Adults' pulse rate is anywhere between 50 and 80 beats per minute.,La frequenza cardiaca degli adulti è compresa tra 50 e 80 battiti al minuto.,
Respiratory rate,Frequenza respiratoria,
Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),L&#39;intervallo di riferimento normale per un adulto è 16-20 breaths / min (RCP 2012),
Tongue,Lingua,
Coated,rivestito,
Very Coated,Molto rivestito,
Normal,Normale,
Furry,Peloso,
Cuts,tagli,
Abdomen,Addome,
Bloated,gonfio,
Fluid,Fluido,
Constipated,Stitico,
Reflexes,riflessi,
Hyper,Hyper,
Very Hyper,Molto iper,
One Sided,Unilaterale,
Blood Pressure (systolic),Pressione sanguigna (sistolica),
Blood Pressure (diastolic),Pressione sanguigna (diastolica),
Blood Pressure,Pressione sanguigna,
"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","La pressione sanguigna normale in un adulto è di circa 120 mmHg sistolica e 80 mmHg diastolica, abbreviata &quot;120/80 mmHg&quot;",
Nutrition Values,Valori nutrizionali,
Height (In Meter),Altezza (in metri),
Weight (In Kilogram),Peso (in chilogrammo),
BMI,BMI,
Hotel Room,Camera d&#39;albergo,
Hotel Room Type,Tipo di camera d&#39;albergo,
Capacity,Capacità,
Extra Bed Capacity,Capacità del letto supplementare,
Hotel Manager,Direttore dell'albergo,
Hotel Room Amenity,Hotel Room Amenity,
Billable,Addebitabile,
Hotel Room Package,Pacchetto camera d&#39;albergo,
Amenities,Servizi,
Hotel Room Pricing,Prezzi camera d&#39;albergo,
Hotel Room Pricing Item,Articolo prezzi camere,
Hotel Room Pricing Package,Pacchetto prezzi camera d&#39;albergo,
Hotel Room Reservation,Prenotazione camera d&#39;albergo,
Guest Name,Nome dell&#39;ospite,
Late Checkin,Registrazione tardiva,
Booked,Prenotato,
Hotel Reservation User,Utente prenotazione hotel,
Hotel Room Reservation Item,Hotel Reservation Item,
Hotel Settings,Impostazioni dell&#39;hotel,
Default Taxes and Charges,Tasse predefinite e oneri,
Default Invoice Naming Series,Serie di denominazione di fattura predefinita,
Additional Salary,Salario aggiuntivo,
HR,HR,
HR-ADS-.YY.-.MM.-,HR-ADS-.YY .-. Mm.-,
Salary Component,stipendio Componente,
Overwrite Salary Structure Amount,Sovrascrivi importo struttura salariale,
Deduct Full Tax on Selected Payroll Date,Dedurre l&#39;imposta completa sulla data di gestione stipendi selezionata,
Payroll Date,Data del libro paga,
Date on which this component is applied,Data di applicazione di questo componente,
Salary Slip,Busta paga,
Salary Component Type,Tipo di componente salary,
HR User,HR utente,
Appointment Letter,Lettera di appuntamento,
Job Applicant,Candidati,
Applicant Name,Nome del Richiedente,
Appointment Date,Data dell&#39;appuntamento,
Appointment Letter Template,Modello di lettera di appuntamento,
Body,Corpo,
Closing Notes,Note di chiusura,
Appointment Letter content,Contenuto della lettera di appuntamento,
Appraisal,Valutazione,
HR-APR-.YY.-.MM.,HR-APR-.YY.-.MM.,
Appraisal Template,Modello valutazione,
For Employee Name,Per Nome Dipendente,
Goals,Obiettivi,
Total Score (Out of 5),Punteggio totale (i 5),
"Any other remarks, noteworthy effort that should go in the records.","Eventuali altre osservazioni, sforzo degno di nota che dovrebbe andare nelle registrazioni.",
Appraisal Goal,Obiettivo di valutazione,
Key Responsibility Area,Area Responsabilità Chiave,
Weightage (%),Weightage (%),
Score (0-5),Punteggio (0-5),
Score Earned,Punteggio Guadagnato,
Appraisal Template Title,Valutazione Titolo Modello,
Appraisal Template Goal,Obiettivi modello valutazione,
KRA,KRA,
Key Performance Area,Area Chiave Prestazioni,
HR-ATT-.YYYY.-,HR-ATT-.YYYY.-,
On Leave,In ferie,
Work From Home,Lavoro da casa,
Leave Application,Autorizzazione Permessi,
Attendance Date,Data presenza,
Attendance Request,Richiesta di partecipazione,
Late Entry,Ingresso ritardato,
Early Exit,Uscita anticipata,
Half Day Date,Data di mezza giornata,
On Duty,In servizio,
Explanation,Spiegazione,
Compensatory Leave Request,Richiesta di congedo compensativo,
Leave Allocation,Alloca Permessi,
Worked On Holiday,Lavorato in vacanza,
Work From Date,Lavoro dalla data,
Work End Date,Data di fine lavoro,
Email Sent To,Email inviata a,
Select Users,Seleziona utenti,
Send Emails At,Invia e-mail in,
Reminder,Promemoria,
Daily Work Summary Group User,Utente del gruppo di riepilogo del lavoro giornaliero,
email,e-mail,
Parent Department,Dipartimento padre,
Leave Block List,Lascia il blocco lista,
Days for which Holidays are blocked for this department.,Giorni per i quali le festività sono bloccate per questo reparto.,
Leave Approver,Responsabile Ferie,
Expense Approver,Responsabile Spese,
Department Approver,Approvazione del dipartimento,
Approver,Responsabile / Approvatore,
Required Skills,Competenze richieste,
Skills,Abilità,
Designation Skill,Abilità di designazione,
Skill,Abilità,
Driver,autista,
HR-DRI-.YYYY.-,HR-DRI-.YYYY.-,
Suspended,Sospeso,
Transporter,Trasportatore,
Applicable for external driver,Applicabile per driver esterno,
Cellphone Number,Numero di cellulare,
License Details,Dettagli della licenza,
License Number,Numero di licenza,
Issuing Date,Data di rilascio,
Driving License Categories,Categorie di patenti di guida,
Driving License Category,Categoria di patente di guida,
Fleet Manager,Responsabile flotta aziendale,
Driver licence class,Classe di patente di guida,
HR-EMP-,HR-EMP-,
Employment Type,Tipo Dipendente,
Emergency Contact,Contatto di emergenza,
Emergency Contact Name,Nominativo per Contatto di Emergenza,
Emergency Phone,Telefono di emergenza,
ERPNext User,ERPNext Utente,
"System User (login) ID. If set, it will become default for all HR forms.","Utente di sistema (login) ID. Se impostato, esso diventerà di default per tutti i moduli HR.",
Create User Permission,Crea autorizzazione utente,
This will restrict user access to other employee records,Ciò limiterà l&#39;accesso degli utenti ad altri record dei dipendenti,
Joining Details,Unire i dettagli,
Offer Date,Data dell'offerta,
Confirmation Date,Data di conferma,
Contract End Date,Data fine Contratto,
Notice (days),Avviso ( giorni ),
Date Of Retirement,Data di pensionamento,
Department and Grade,Dipartimento e grado,
Reports to,Report a,
Attendance and Leave Details,Presenze e dettagli sui dettagli,
Leave Policy,Lascia politica,
Attendance Device ID (Biometric/RF tag ID),ID dispositivo presenze (ID tag biometrico / RF),
Applicable Holiday List,Lista Vacanze Applicabile,
Default Shift,Spostamento predefinito,
Salary Details,Dettagli del salario,
Salary Mode,Modalità di stipendio,
Bank A/C No.,Conto Bancario N.,
Health Insurance,Assicurazione sanitaria,
Health Insurance Provider,Fornitore dell'assicurazione sanitaria,
Health Insurance No,Assicurazione sanitaria n,
Prefered Email,Email Preferenziale,
Personal Email,Email personale,
Permanent Address Is,Indirizzo permanente è,
Rented,Affittato,
Owned,Di proprietà,
Permanent Address,Indirizzo permanente,
Prefered Contact Email,Contatto email preferenziale,
Company Email,Email aziendale,
Provide Email Address registered in company,Fornire l&#39;indirizzo e-mail registrato in compagnia,
Current Address Is,Indirizzo attuale è,
Current Address,Indirizzo Corrente,
Personal Bio,Bio personale,
Bio / Cover Letter,Biografia / Lettera di copertura,
Short biography for website and other publications.,Breve biografia per il sito web e altre pubblicazioni.,
Passport Number,Numero di passaporto,
Date of Issue,Data di Pubblicazione,
Place of Issue,Luogo di emissione,
Widowed,Vedovo,
Family Background,Sfondo Famiglia,
"Here you can maintain family details like name and occupation of parent, spouse and children","Qui è possibile mantenere i dettagli della famiglia come il nome e l'occupazione del genitore, coniuge e figli",
Health Details,Dettagli Salute,
"Here you can maintain height, weight, allergies, medical concerns etc","Qui è possibile mantenere l'altezza, il peso, le allergie, le preoccupazioni mediche ecc",
Educational Qualification,Titolo di Studio,
Previous Work Experience,Precedente Esperienza Lavoro,
External Work History,Storia del lavoro esterno,
History In Company,Storia aziendale,
Internal Work History,Storia di lavoro interni,
Resignation Letter Date,Lettera di dimissioni Data,
Relieving Date,Alleviare Data,
Reason for Leaving,Motivo per Lasciare,
Leave Encashed?,Lascia non incassati?,
Encashment Date,Data Incasso,
Exit Interview Details,Uscire Dettagli Intervista,
Held On,Tenutasi il,
Reason for Resignation,Motivo della Dimissioni,
Better Prospects,Prospettive Migliori,
Health Concerns,Preoccupazioni per la salute,
New Workplace,Nuovo posto di lavoro,
HR-EAD-.YYYY.-,HR-EAD-.YYYY.-,
Returned Amount,Importo restituito,
Claimed,Ha sostenuto,
Advance Account,Conto anticipi,
Employee Attendance Tool,Strumento Presenze Dipendente,
Unmarked Attendance,Partecipazione non contrassegnata,
Employees HTML,Dipendenti HTML,
Marked Attendance,Marca Presenza,
Marked Attendance HTML,Marcata presenze HTML,
Employee Benefit Application,Applicazione per il beneficio dei dipendenti,
Max Benefits (Yearly),Benefici massimi (annuale),
Remaining Benefits (Yearly),Benefici rimanenti (annuale),
Payroll Period,Periodo del libro paga,
Benefits Applied,Benefici applicati,
Dispensed Amount (Pro-rated),Quantità erogata (proporzionale),
Employee Benefit Application Detail,Dettaglio dell&#39;applicazione dei benefici per i dipendenti,
Earning Component,Guadagno Componente,
Pay Against Benefit Claim,Pagare contro il reclamo per benefici,
Max Benefit Amount,Ammontare massimo del beneficio,
Employee Benefit Claim,Reclamo dei benefici dei dipendenti,
Claim Date,Data del reclamo,
Benefit Type and Amount,Tipo di beneficio e importo,
Claim Benefit For,Reclamo Beneficio per,
Max Amount Eligible,Importo massimo ammissibile,
Expense Proof,Prova di spesa,
Employee Boarding Activity,Attività di imbarco dei dipendenti,
Activity Name,Nome dell&#39;attività,
Task Weight,Peso Attività,
Required for Employee Creation,Obbligatorio per la creazione di dipendenti,
Applicable in the case of Employee Onboarding,Valida in caso di assunzione del dipendente,
Employee Checkin,Check-in dei dipendenti,
Log Type,Tipo di registro,
OUT,SU,
Location / Device ID,Posizione / ID dispositivo,
Skip Auto Attendance,Salta assistenza automatica,
Shift Start,Shift Start,
Shift End,Maiusc Fine,
Shift Actual Start,Sposta Avvio effettivo,
Shift Actual End,Maiusc Fine effettiva,
Employee Education,Istruzione Dipendente,
School/University,Scuola / Università,
Graduate,Laureato,
Post Graduate,Post Laurea,
Under Graduate,Laureando,
Year of Passing,Anni dal superamento,
Class / Percentage,Classe / Percentuale,
Major/Optional Subjects,Principali / Opzionale Soggetti,
Employee External Work History,Storia lavorativa esterna del Dipendente,
Total Experience,Esperienza totale,
Default Leave Policy,Politica di ferie predefinita,
Default Salary Structure,Struttura salariale predefinita,
Employee Group Table,Tabella del gruppo di dipendenti,
ERPNext User ID,ERPSuccessivo ID utente,
Employee Health Insurance,Assicurazione sanitaria dei dipendenti,
Health Insurance Name,Nome dell&#39;assicurazione sanitaria,
Employee Incentive,Incentivo dei dipendenti,
Incentive Amount,Quantità incentivante,
Employee Internal Work History,Storia lavorativa Interna del Dipendente,
Employee Onboarding,Dipendente Onboarding,
Notify users by email,Notifica agli utenti via e-mail,
Employee Onboarding Template,Modello di Onboarding degli impiegati,
Activities,Attività,
Employee Onboarding Activity,Attività di assunzione dei dipendenti,
Employee Other Income,Altri redditi dei dipendenti,
Employee Promotion,Promozione dei dipendenti,
Promotion Date,Data di promozione,
Employee Promotion Details,Dettagli sulla promozione dei dipendenti,
Employee Promotion Detail,Dettaglio promozione dipendente,
Employee Property History,Storia delle proprietà dei dipendenti,
Employee Separation,Separazione dei dipendenti,
Employee Separation Template,Modello di separazione dei dipendenti,
Exit Interview Summary,Esci dal riepilogo intervista,
Employee Skill,Abilità dei dipendenti,
Proficiency,competenza,
Evaluation Date,Data di valutazione,
Employee Skill Map,Mappa delle competenze dei dipendenti,
Employee Skills,Competenze dei dipendenti,
Trainings,Corsi di formazione,
Employee Tax Exemption Category,Categoria di esenzione fiscale dei dipendenti,
Max Exemption Amount,Importo massimo di esenzione,
Employee Tax Exemption Declaration,Dichiarazione di esenzione fiscale dei dipendenti,
Declarations,dichiarazioni,
Total Declared Amount,Importo dichiarato totale,
Total Exemption Amount,Importo di esenzione totale,
Employee Tax Exemption Declaration Category,Categoria Dichiarazione di esenzione fiscale dei dipendenti,
Exemption Sub Category,Sottocategoria di esenzione,
Exemption Category,Categoria di esenzione,
Maximum Exempted Amount,Importo massimo esente,
Declared Amount,Importo dichiarato,
Employee Tax Exemption Proof Submission,Presentazione della prova di esenzione fiscale dei dipendenti,
Submission Date,Data di presentazione,
Tax Exemption Proofs,Prove di esenzione fiscale,
Total Actual Amount,Importo effettivo totale,
Employee Tax Exemption Proof Submission Detail,Dettaglio di presentazione della prova di esenzione fiscale dei dipendenti,
Maximum Exemption Amount,Importo massimo di esenzione,
Type of Proof,Tipo di prova,
Actual Amount,Importo effettivo,
Employee Tax Exemption Sub Category,Sottocategoria di esenzione fiscale dei dipendenti,
Tax Exemption Category,Categoria di esenzione fiscale,
Employee Training,La formazione dei dipendenti,
Training Date,Data di addestramento,
Employee Transfer,Trasferimento dei dipendenti,
Transfer Date,Data di trasferimento,
Employee Transfer Details,Dettagli sul trasferimento dei dipendenti,
Employee Transfer Detail,Dettaglio del trasferimento dei dipendenti,
Re-allocate Leaves,Riassegnare le ferie,
Create New Employee Id,Crea un nuovo ID dipendente,
New Employee ID,Nuovo ID dipendente,
Employee Transfer Property,Proprietà del trasferimento dei dipendenti,
HR-EXP-.YYYY.-,HR-EXP-.YYYY.-,
Expense Taxes and Charges,Tasse e spese,
Total Sanctioned Amount,Totale importo sanzionato,
Total Advance Amount,Importo anticipato totale,
Total Claimed Amount,Totale importo richiesto,
Total Amount Reimbursed,Dell&#39;importo totale rimborsato,
Vehicle Log,Vehicle Log,
Employees Email Id,Email Dipendenti,
More Details,Più dettagli,
Expense Claim Account,Conto spese rivendicazione,
Expense Claim Advance,Addebito reclamo spese,
Unclaimed amount,Importo non reclamato,
Expense Claim Detail,Dettaglio Rimborso Spese,
Expense Date,Data Spesa,
Expense Claim Type,Tipo Rimborso Spese,
Holiday List Name,Nome elenco vacanza,
Total Holidays,Totale delle vacanze,
Add Weekly Holidays,Aggiungi festività settimanali,
Weekly Off,Settimanale Off,
Add to Holidays,Aggiungi alle vacanze,
Holidays,Vacanze,
Clear Table,Pulisci Tabella,
HR Settings,Impostazioni HR,
Employee Settings,Impostazioni dipendente,
Retirement Age,Età di pensionamento,
Enter retirement age in years,Inserire l&#39;età pensionabile in anni,
Employee Records to be created by,Informazioni del dipendenti da creare a cura di,
Employee record is created using selected field. ,Record dipendente viene creato utilizzando campo selezionato.,
Stop Birthday Reminders,Arresto Compleanno Promemoria,
Don't send Employee Birthday Reminders,Non inviare Dipendente Birthday Reminders,
Expense Approver Mandatory In Expense Claim,Approvazione dell&#39;approvazione obbligatoria nel rimborso spese,
Payroll Settings,Impostazioni Payroll,
Leave,Partire,
Max working hours against Timesheet,Max ore di lavoro contro Timesheet,
Include holidays in Total no. of Working Days,Includi vacanze in totale n. dei giorni lavorativi,
"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Se selezionato, non totale. di giorni lavorativi includerà vacanze, e questo ridurrà il valore di salario per ogni giorno",
"If checked, hides and disables Rounded Total field in Salary Slips","Se selezionato, nasconde e disabilita il campo Totale arrotondato nelle buste paga",
The fraction of daily wages to be paid for half-day attendance,La frazione della retribuzione giornaliera da corrispondere per la frequenza di mezza giornata,
Email Salary Slip to Employee,E-mail busta paga per i dipendenti,
Emails salary slip to employee based on preferred email selected in Employee,Messaggi di posta elettronica stipendio slittamento al dipendente sulla base di posta preferito selezionato a dipendenti,
Encrypt Salary Slips in Emails,Cripta la busta paga nelle e-mail,
"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","La busta paga inviata per posta elettronica al dipendente sarà protetta da password, la password verrà generata in base alla politica della password.",
Password Policy,Politica sulla password,
<b>Example:</b> SAL-{first_name}-{date_of_birth.year} <br>This will generate a password like SAL-Jane-1972,<b>Esempio:</b> SAL- {first_name} - {date_of_birth.year} <br> Questo genererà una password come SAL-Jane-1972,
Leave Settings,Lascia le impostazioni,
Leave Approval Notification Template,Lascia il modello di notifica di approvazione,
Leave Status Notification Template,Lasciare il modello di notifica di stato,
Role Allowed to Create Backdated Leave Application,Ruolo autorizzato a creare un&#39;applicazione congedo retrodatata,
Leave Approver Mandatory In Leave Application,Lascia l&#39;Approvatore Obbligatorio In Congedo,
Show Leaves Of All Department Members In Calendar,Mostra le foglie di tutti i membri del dipartimento nel calendario,
Auto Leave Encashment,Abbandono automatico,
Restrict Backdated Leave Application,Limita l&#39;applicazione congedo retrodatata,
Hiring Settings,Impostazioni di assunzione,
Check Vacancies On Job Offer Creation,Controlla i posti vacanti sulla creazione di offerte di lavoro,
Identification Document Type,Tipo di documento di identificazione,
Effective from,Efficace da,
Allow Tax Exemption,Consenti esenzione fiscale,
"If enabled, Tax Exemption Declaration will be considered for income tax calculation.","Se abilitata, la Dichiarazione di esenzione fiscale verrà presa in considerazione per il calcolo dell&#39;imposta sul reddito.",
Standard Tax Exemption Amount,Importo dell&#39;esenzione fiscale standard,
Taxable Salary Slabs,Lastre di salario tassabili,
Taxes and Charges on Income Tax,Imposte e oneri sull&#39;imposta sul reddito,
Other Taxes and Charges,Altre tasse e oneri,
Income Tax Slab Other Charges,Imposte sul reddito Lastra Altri oneri,
Min Taxable Income,Reddito imponibile minimo,
Max Taxable Income,Reddito imponibile massimo,
Applicant for a Job,Richiedente per un lavoro,
Accepted,Accettato,
Job Opening,Offerte di Lavoro,
Cover Letter,Lettera di presentazione,
Resume Attachment,Riprendi Allegato,
Job Applicant Source,Fonte del candidato,
Applicant Email Address,Indirizzo e-mail del richiedente,
Awaiting Response,In attesa di risposta,
Job Offer Terms,Termini dell&#39;offerta di lavoro,
Select Terms and Conditions,Selezionare i Termini e Condizioni,
Printing Details,Dettagli stampa,
Job Offer Term,Termine dell&#39;offerta di lavoro,
Offer Term,Termini Offerta,
Value / Description,Valore / Descrizione,
Description of a Job Opening,Descrizione dell'Offerta di Lavoro,
Job Title,Titolo Posizione,
Staffing Plan,Piano del personale,
Planned number of Positions,Numero previsto di posizioni,
"Job profile, qualifications required etc.","Profilo Posizione , qualifiche richieste ecc",
HR-LAL-.YYYY.-,HR-LAL-.YYYY.-,
Allocation,Assegnazione,
New Leaves Allocated,Nuove ferie allocate,
Add unused leaves from previous allocations,Aggiungere ferie non utilizzate da allocazione precedente,
Unused leaves,Ferie non godute,
Total Leaves Allocated,Ferie Totali allocate,
Total Leaves Encashed,Total Leaves Encashed,
Leave Period,Lascia il Periodo,
Carry Forwarded Leaves,Portare Avanti Autorizzazione,
Apply / Approve Leaves,Applica / Approva Ferie,
HR-LAP-.YYYY.-,HR-LAP-.YYYY.-,
Leave Balance Before Application,Lascia bilancio prima applicazione,
Total Leave Days,Giorni Totali di Ferie,
Leave Approver Name,Nome responsabile ferie,
Follow via Email,Seguire via Email,
Block Holidays on important days.,Vacanze di blocco nei giorni importanti.,
Leave Block List Name,Lascia Block List Nome,
Applies to Company,Applica ad Azienda,
"If not checked, the list will have to be added to each Department where it has to be applied.","Se non controllati, la lista dovrà essere aggiunto a ciascun Dipartimento dove deve essere applicato.",
Block Days,Giorno Blocco,
Stop users from making Leave Applications on following days.,Impedire agli utenti di effettuare richieste di permesso per i giorni successivi.,
Leave Block List Dates,Lascia Blocco Elenco date,
Allow Users,Consenti Utenti,
Allow the following users to approve Leave Applications for block days.,Consentire i seguenti utenti per approvare le richieste per le date protette.,
Leave Block List Allowed,Lascia Block List ammessi,
Leave Block List Allow,Lascia permesso blocco lista,
Allow User,Consenti Utente,
Leave Block List Date,Lascia Block List Data,
Block Date,Data Blocco,
Leave Control Panel,Lascia il Pannello di controllo,
Select Employees,Selezionare Dipendenti,
Employment Type (optional),Tipo di impiego (facoltativo),
Branch (optional),Branch (opzionale),
Department (optional),Dipartimento (opzionale),
Designation (optional),Designazione (opzionale),
Employee Grade (optional),Grado dei dipendenti (facoltativo),
Employee (optional),Dipendente (facoltativo),
Allocate Leaves,Allocare le foglie,
Carry Forward,Portare Avanti,
Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Si prega di selezionare il riporto se anche voi volete includere equilibrio precedente anno fiscale di parte per questo anno fiscale,
New Leaves Allocated (In Days),Nuove ferie attribuiti (in giorni),
Allocate,Assegna,
Leave Balance,Lasciare l&#39;equilibrio,
Encashable days,Giorni incastrili,
Encashment Amount,Importo dell&#39;incasso,
Leave Ledger Entry,Lascia iscrizione contabile,
Transaction Name,Nome transazione,
Is Carry Forward,È Portare Avanti,
Is Expired,È scaduto,
Is Leave Without Pay,È ferie senza stipendio,
Holiday List for Optional Leave,Lista vacanze per ferie facoltative,
Leave Allocations,Lascia allocazioni,
Leave Policy Details,Lasciare i dettagli della politica,
Leave Policy Detail,Lascia il dettaglio della politica,
Annual Allocation,Allocazione annuale,
Leave Type Name,Nome Tipo di Permesso,
Max Leaves Allowed,Numero massimo consentito,
Applicable After (Working Days),Applicabile dopo (giorni lavorativi),
Maximum Continuous Days Applicable,Giorni continui massimi applicabili,
Is Optional Leave,È permesso facoltativo,
Allow Negative Balance,Consenti Bilancio Negativo,
Include holidays within leaves as leaves,Considerare le vacanze come ferie,
Is Compensatory,È compensatorio,
Maximum Carry Forwarded Leaves,Numero massimo di foglie inoltrate,
Expire Carry Forwarded Leaves (Days),Scadenza Trasporta foglie inoltrate (giorni),
Calculated in days,Calcolato in giorni,
Encashment,incasso,
Allow Encashment,Consenti incantesimo,
Encashment Threshold Days,Giorni di soglia di incassi,
Earned Leave,Ferie,
Is Earned Leave,È ferie,
Earned Leave Frequency,Ferie maturate,
Rounding,Arrotondamento,
Payroll Employee Detail,Dettaglio dipendente del libro paga,
Payroll Frequency,Frequenza di pagamento,
Fortnightly,Quindicinale,
Bimonthly,ogni due mesi,
Employees,I dipendenti,
Number Of Employees,Numero di dipendenti,
Employee Details,Dettagli Dipendente,
Validate Attendance,Convalida partecipazione,
Salary Slip Based on Timesheet,Stipendio slip Sulla base di Timesheet,
Select Payroll Period,Seleziona Periodo Busta Paga,
Deduct Tax For Unclaimed Employee Benefits,Tassa di deduzione per benefici per i dipendenti non rivendicati,
Deduct Tax For Unsubmitted Tax Exemption Proof,Tassa di deduzione per prova di esenzione fiscale non presentata,
Select Payment Account to make Bank Entry,Selezionare Account pagamento per rendere Bank Entry,
Salary Slips Created,Slittamenti di salario creati,
Salary Slips Submitted,Salary Slips Submitted,
Payroll Periods,Periodi di retribuzione,
Payroll Period Date,Data del periodo del libro paga,
Purpose of Travel,Proposta di viaggio,
Retention Bonus,Bonus di conservazione,
Bonus Payment Date,Data di pagamento bonus,
Bonus Amount,Importo bonus,
Abbr,Abbr,
Depends on Payment Days,Dipende dai giorni di pagamento,
Is Tax Applicable,È applicabile l&#39;imposta,
Variable Based On Taxable Salary,Variabile basata sullo stipendio tassabile,
Exempted from Income Tax,Esente dall&#39;imposta sul reddito,
Round to the Nearest Integer,Arrotonda al numero intero più vicino,
Statistical Component,Componente statistico,
"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. ","Se selezionato, il valore specificato o calcolato in questo componente non contribuirà agli utili o alle deduzioni. Tuttavia, il suo valore può essere riferito da altri componenti che possono essere aggiunti o detratti.",
Do Not Include in Total,Non includere nel totale,
Flexible Benefits,Benefici flessibili,
Is Flexible Benefit,È flessibile vantaggio,
Max Benefit Amount (Yearly),Ammontare massimo del beneficio (annuale),
Only Tax Impact (Cannot Claim But Part of Taxable Income),Solo impatti fiscali (non può rivendicare una parte del reddito imponibile),
Create Separate Payment Entry Against Benefit Claim,Creare una voce di pagamento separata contro la richiesta di rimborso,
Condition and Formula,Condizione e Formula,
Amount based on formula,Importo basato sul formula,
Formula,Formula,
Salary Detail,stipendio Dettaglio,
Component,Componente,
Do not include in total,Non includere in totale,
Default Amount,Importo Predefinito,
Additional Amount,Importo aggiuntivo,
Tax on flexible benefit,Tasse su prestazioni flessibili,
Tax on additional salary,Tassa sul salario aggiuntivo,
Salary Structure,Struttura salariale,
Working Days,Giorni lavorativi,
Salary Slip Timesheet,Stipendio slittamento Timesheet,
Total Working Hours,Orario di lavoro totali,
Hour Rate,Rapporto Orario,
Bank Account No.,Conto Bancario N.,
Earning & Deduction,Rendimento & Detrazione,
Earnings,Rendimenti,
Deductions,Deduzioni,
Loan repayment,Rimborso del prestito,
Employee Loan,prestito dipendenti,
Total Principal Amount,Importo principale totale,
Total Interest Amount,Importo totale degli interessi,
Total Loan Repayment,Totale Rimborso prestito,
net pay info,Informazioni retribuzione netta,
Gross Pay - Total Deduction - Loan Repayment,Pay Gross - Deduzione totale - Rimborso prestito,
Total in words,Totale in parole,
Net Pay (in words) will be visible once you save the Salary Slip.,Paga Netta (in lettere) sarà visibile una volta che si salva la busta paga.,
Salary Component for timesheet based payroll.,Componente Stipendio per il libro paga base scheda attività.,
Leave Encashment Amount Per Day,Lasciare l&#39;importo di incassi al giorno,
Max Benefits (Amount),Benefici massimi (importo),
Salary breakup based on Earning and Deduction.,Stipendio rottura basato sul guadagno e di deduzione.,
Total Earning,Guadagnare totale,
Salary Structure Assignment,Assegnazione delle retribuzioni,
Shift Assignment,Shift Assignment,
Shift Type,Shift Type,
Shift Request,Shift Request,
Enable Auto Attendance,Abilita assistenza automatica,
Mark attendance based on 'Employee Checkin' for Employees assigned to this shift.,Contrassegnare le presenze in base a &quot;Registrazione dei dipendenti&quot; per i dipendenti assegnati a questo turno.,
Auto Attendance Settings,Impostazioni di presenza automatica,
Determine Check-in and Check-out,Determinare il check-in e il check-out,
Alternating entries as IN and OUT during the same shift,Entrate alternate come IN e OUT durante lo stesso turno,
Strictly based on Log Type in Employee Checkin,Basato rigorosamente sul tipo di registro nel check-in dei dipendenti,
Working Hours Calculation Based On,Calcolo dell&#39;orario di lavoro basato su,
First Check-in and Last Check-out,Primo check-in e ultimo check-out,
Every Valid Check-in and Check-out,Ogni check-in e check-out validi,
Begin check-in before shift start time (in minutes),Inizia il check-in prima dell&#39;orario di inizio turno (in minuti),
The time before the shift start time during which Employee Check-in is considered for attendance.,Il tempo prima dell&#39;orario di inizio turno durante il quale il check-in dei dipendenti viene preso in considerazione per la partecipazione.,
Allow check-out after shift end time (in minutes),Consenti check-out dopo l&#39;orario di fine turno (in minuti),
Time after the end of shift during which check-out is considered for attendance.,Tempo dopo la fine del turno durante il quale viene considerato il check-out per la frequenza.,
Working Hours Threshold for Half Day,Soglia dell&#39;orario di lavoro per mezza giornata,
Working hours below which Half Day is marked. (Zero to disable),Ore lavorative al di sotto delle quali è segnata la mezza giornata. (Zero da disabilitare),
Working Hours Threshold for Absent,Soglia di orario di lavoro per assente,
Working hours below which Absent is marked. (Zero to disable),Ore lavorative al di sotto delle quali Assente è contrassegnato. (Zero da disabilitare),
Process Attendance After,Partecipazione al processo dopo,
Attendance will be marked automatically only after this date.,La partecipazione sarà contrassegnata automaticamente solo dopo questa data.,
Last Sync of Checkin,Ultima sincronizzazione del check-in,
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 sincronizzazione riuscita nota del check-in dei dipendenti. Ripristina questo solo se sei sicuro che tutti i log sono sincronizzati da tutte le posizioni. Si prega di non modificare questo se non si è sicuri.,
Grace Period Settings For Auto Attendance,Impostazioni del periodo di tolleranza per l&#39;assistenza automatica,
Enable Entry Grace Period,Abilita periodo di tolleranza ingresso,
Late Entry Grace Period,Periodo di grazia posticipato,
The time after the shift start time when check-in is considered as late (in minutes).,Il tempo successivo all&#39;ora di inizio turno in cui il check-in è considerato in ritardo (in minuti).,
Enable Exit Grace Period,Abilita il periodo di tolleranza di uscita,
Early Exit Grace Period,Periodo di tolleranza dell&#39;uscita anticipata,
The time before the shift end time when check-out is considered as early (in minutes).,Il tempo prima dell&#39;orario di fine turno quando il check-out è considerato come anticipato (in minuti).,
Skill Name,Nome abilità,
Staffing Plan Details,Dettagli del piano di personale,
Staffing Plan Detail,Dettagli del piano di personale,
Total Estimated Budget,Budget stimato totale,
Vacancies,Posti vacanti,
Estimated Cost Per Position,Costo stimato per posizione,
Total Estimated Cost,Costo totale stimato,
Current Count,Conta corrente,
Current Openings,Aperture correnti,
Number Of Positions,Numero di posizioni,
Taxable Salary Slab,Salario tassabile,
From Amount,Dalla quantità,
To Amount,Ammontare,
Percent Deduction,Detrazione percentuale,
Training Program,Programma di allenamento,
Event Status,Stato evento,
Has Certificate,Ha certificato,
Seminar,Seminario,
Theory,Teoria,
Workshop,Laboratorio,
Conference,Conferenza,
Exam,Esame,
Internet,Internet,
Self-Study,Autodidatta,
Advance,Anticipo,
Trainer Name,Nome Trainer,
Trainer Email,Trainer-mail,
Attendees,I partecipanti,
Employee Emails,E-mail dei dipendenti,
Training Event Employee,Employee Training Event,
Invited,Invitato,
Feedback Submitted,Feedback Confermato,
Optional,Opzionale,
Training Result Employee,Employee Training Risultato,
Travel Itinerary,Itinerario di viaggio,
Travel From,Viaggiare da,
Travel To,Viaggiare a,
Mode of Travel,Modalità di viaggio,
Flight,Volo,
Train,Treno,
Taxi,Taxi,
Rented Car,Auto a noleggio,
Meal Preference,preferenza sul cibo,
Vegetarian,Vegetariano,
Non-Vegetarian,Non vegetariano,
Gluten Free,Senza glutine,
Non Diary,Non diario,
Travel Advance Required,Avanzamento del viaggio richiesto,
Departure Datetime,Data e ora di partenza,
Arrival Datetime,Data e ora di arrivo,
Lodging Required,Alloggio richiesto,
Preferred Area for Lodging,Area preferita per alloggio,
Check-in Date,Data del check-in,
Check-out Date,Data di partenza,
Travel Request,Richiesta di viaggio,
Travel Type,Tipo di viaggio,
Domestic,Domestico,
International,Internazionale,
Travel Funding,Finanziamento di viaggio,
Require Full Funding,Richiedi un finanziamento completo,
Fully Sponsored,Completamente sponsorizzato,
"Partially Sponsored, Require Partial Funding","Parzialmente sponsorizzato, richiede un finanziamento parziale",
Copy of Invitation/Announcement,Copia dell&#39;invito / annuncio,
"Details of Sponsor (Name, Location)","Dettagli dello sponsor (nome, posizione)",
Identification Document Number,numero del documento identificativo,
Any other details,Qualsiasi altro dettaglio,
Costing Details,Dettagli di costo,
Costing,Valutazione Costi,
Event Details,dettagli dell&#39;evento,
Name of Organizer,Nome dell&#39;organizzatore,
Address of Organizer,Indirizzo dell&#39;organizzatore,
Travel Request Costing,Costo della richiesta di viaggio,
Expense Type,Tipo di spesa,
Sponsored Amount,Importo sponsorizzato,
Funded Amount,Importo finanziato,
Upload Attendance,Carica presenze,
Attendance From Date,Presenza Da Data,
Attendance To Date,Data Fine Frequenza,
Get Template,Ottieni Modulo,
Import Attendance,Importa presenze,
Upload HTML,Carica HTML,
Vehicle,Veicolo,
License Plate,Targa,
Odometer Value (Last),Valore del contachilometri (Last),
Acquisition Date,Data Acquisizione,
Chassis No,Telaio No,
Vehicle Value,Valore veicolo,
Insurance Details,Dettagli Assicurazione,
Insurance Company,Compagnia assicurativa,
Policy No,Politica No,
Additional Details,Dettagli aggiuntivi,
Fuel Type,Tipo di carburante,
Petrol,Benzina,
Diesel,diesel,
Natural Gas,Gas naturale,
Electric,Elettrico,
Fuel UOM,Fuel UOM,
Last Carbon Check,Ultima verifica carbon,
Wheels,Ruote,
Doors,Porte,
HR-VLOG-.YYYY.-,HR-VLOG-.YYYY.-,
Odometer Reading,Lettura del contachilometri,
Current Odometer value ,Valore attuale del contachilometri,
last Odometer Value ,ultimo valore del contachilometri,
Refuelling Details,Dettagli di rifornimento,
Invoice Ref,fattura Rif,
Service Details,Dettagli del servizio,
Service Detail,Particolare di servizio,
Vehicle Service,Servizio di veicoli,
Service Item,servizio Voce,
Brake Oil,olio freno,
Brake Pad,Pastiglie freno,
Clutch Plate,Frizione,
Engine Oil,Olio motore,
Oil Change,Cambio olio,
Inspection,ispezione,
Mileage,Chilometraggio,
Hub Tracked Item,Hub Tracked Item,
Hub Node,Nodo hub,
Image List,Elenco immagini,
Item Manager,Responsabile Articoli,
Hub User,Utente Hub,
Hub Password,Password dell&#39;hub,
Hub Users,Utenti Hub,
Marketplace Settings,Impostazioni del Marketplace,
Disable Marketplace,Disabilita Marketplace,
Marketplace URL (to hide and update label),URL del Marketplace (per nascondere e aggiornare l&#39;etichetta),
Registered,Registrato,
Sync in Progress,Sincronizzazione in corso,
Hub Seller Name,Nome venditore Hub,
Custom Data,Dati personalizzati,
Member,Membro,
Partially Disbursed,parzialmente erogato,
Loan Closure Requested,Chiusura del prestito richiesta,
Repay From Salary,Rimborsare da Retribuzione,
Loan Details,prestito Dettagli,
Loan Type,Tipo di prestito,
Loan Amount,Ammontare del prestito,
Is Secured Loan,È un prestito garantito,
Rate of Interest (%) / Year,Tasso di interesse (%) / anno,
Disbursement Date,L&#39;erogazione Data,
Disbursed Amount,Importo erogato,
Is Term Loan,È prestito a termine,
Repayment Method,Metodo di rimborso,
Repay Fixed Amount per Period,Rimborsare importo fisso per Periodo,
Repay Over Number of Periods,Rimborsare corso Numero di periodi,
Repayment Period in Months,Il rimborso Periodo in mese,
Monthly Repayment Amount,Ammontare Rimborso Mensile,
Repayment Start Date,Data di inizio del rimborso,
Loan Security Details,Dettagli sulla sicurezza del prestito,
Maximum Loan Value,Valore massimo del prestito,
Account Info,Informazioni sull&#39;account,
Loan Account,Conto del prestito,
Interest Income Account,Conto Interessi attivi,
Penalty Income Account,Conto del reddito di sanzione,
Repayment Schedule,Piano di rimborso,
Total Payable Amount,Totale passività,
Total Principal Paid,Totale principale pagato,
Total Interest Payable,Totale interessi passivi,
Total Amount Paid,Importo totale pagato,
Loan Manager,Responsabile del prestito,
Loan Info,Info prestito,
Rate of Interest,Tasso di interesse,
Proposed Pledges,Impegni proposti,
Maximum Loan Amount,Importo massimo del prestito,
Repayment Info,Info rimborso,
Total Payable Interest,Totale interessi passivi,
Against Loan ,Contro prestito,
Loan Interest Accrual,Rateo interessi attivi,
Amounts,importi,
Pending Principal Amount,Importo principale in sospeso,
Payable Principal Amount,Importo principale pagabile,
Paid Principal Amount,Importo principale pagato,
Paid Interest Amount,Importo degli interessi pagati,
Process Loan Interest Accrual,Accantonamento per interessi su prestiti di processo,
Repayment Schedule Name,Nome programma di rimborso,
Regular Payment,Pagamento regolare,
Loan Closure,Chiusura del prestito,
Payment Details,Dettagli del pagamento,
Interest Payable,Interessi da pagare,
Amount Paid,Importo pagato,
Principal Amount Paid,Importo principale pagato,
Repayment Details,Dettagli sul rimborso,
Loan Repayment Detail,Dettaglio rimborso prestito,
Loan Security Name,Nome di sicurezza del prestito,
Unit Of Measure,Unità di misura,
Loan Security Code,Codice di sicurezza del prestito,
Loan Security Type,Tipo di sicurezza del prestito,
Haircut %,Taglio di capelli %,
Loan  Details,Dettagli del prestito,
Unpledged,Unpledged,
Pledged,impegnati,
Partially Pledged,Parzialmente promesso,
Securities,valori,
Total Security Value,Valore di sicurezza totale,
Loan Security Shortfall,Mancanza di sicurezza del prestito,
Loan ,Prestito,
Shortfall Time,Scadenza,
America/New_York,America / New_York,
Shortfall Amount,Importo del deficit,
Security Value ,Valore di sicurezza,
Process Loan Security Shortfall,Mancanza di sicurezza del prestito di processo,
Loan To Value Ratio,Rapporto prestito / valore,
Unpledge Time,Unpledge Time,
Loan Name,Nome prestito,
Rate of Interest (%) Yearly,Tasso di interesse (%) Performance,
Penalty Interest Rate (%) Per Day,Tasso di interesse di penalità (%) al giorno,
Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,Il tasso di interesse di penalità viene riscosso su un importo di interessi in sospeso su base giornaliera in caso di rimborso ritardato,
Grace Period in Days,Grace Period in Days,
No. of days from due date until which penalty won't be charged in case of delay in loan repayment,N. giorni dalla scadenza fino ai quali non verrà addebitata la penale in caso di ritardo nel rimborso del prestito,
Pledge,Impegno,
Post Haircut Amount,Importo post taglio,
Process Type,Tipo di processo,
Update Time,Tempo di aggiornamento,
Proposed Pledge,Pegno proposto,
Total Payment,Pagamento totale,
Balance Loan Amount,Importo del prestito di bilancio,
Is Accrued,È maturato,
Salary Slip Loan,Salario Slip Loan,
Loan Repayment Entry,Iscrizione rimborso prestiti,
Sanctioned Loan Amount,Importo del prestito sanzionato,
Sanctioned Amount Limit,Limite di importo sanzionato,
Unpledge,Unpledge,
Haircut,Taglio di capelli,
MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
Generate Schedule,Genera Programma,
Schedules,Orari,
Maintenance Schedule Detail,Dettaglio programma di manutenzione,
Scheduled Date,Data prevista,
Actual Date,Data effettiva,
Maintenance Schedule Item,Voce del Programma di manutenzione,
Random,Casuale,
No of Visits,Num. di Visite,
MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
Maintenance Date,Data di manutenzione,
Maintenance Time,Tempo di Manutenzione,
Completion Status,Stato Completamento,
Partially Completed,Parzialmente completato,
Fully Completed,Debitamente compilato,
Unscheduled,Non in programma,
Breakdown,Esaurimento,
Purposes,Scopi,
Customer Feedback,Opinione Cliente,
Maintenance Visit Purpose,Scopo visita manutenzione,
Work Done,Attività svolta,
Against Document No,Per Documento N,
Against Document Detail No,Per Dettagli Documento N,
MFG-BLR-.YYYY.-,MFG-BLR-.YYYY.-,
Order Type,Tipo di ordine,
Blanket Order Item,Articolo ordine coperta,
Ordered Quantity,Quantità Ordinata,
Item to be manufactured or repacked,Voce da fabbricati o nuovamente imballati,
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Quantità di prodotto ottenuto dopo la produzione / reimballaggio da determinati quantitativi di materie prime,
Set rate of sub-assembly item based on BOM,Imposta tasso di elemento di sotto-montaggio basato su BOM,
Allow Alternative Item,Consenti articolo alternativo,
Item UOM,Articolo UOM,
Conversion Rate,Tasso di conversione,
Rate Of Materials Based On,Tasso di materiali a base di,
With Operations,Con operazioni,
Manage cost of operations,Gestire costi operazioni,
Transfer Material Against,Trasferisci materiale contro,
Routing,Routing,
Materials,Materiali,
Quality Inspection Required,Ispezione di qualità richiesta,
Quality Inspection Template,Modello di ispezione di qualità,
Scrap,rottame,
Scrap Items,Scrap Articoli,
Operating Cost,Costo di gestione,
Raw Material Cost,Costo Materie Prime,
Scrap Material Cost,Costo rottami Materiale,
Operating Cost (Company Currency),Costi di funzionamento (Società di valuta),
Raw Material Cost (Company Currency),Costo delle materie prime (valuta dell&#39;azienda),
Scrap Material Cost(Company Currency),Scrap Materiale Costo (Società di valuta),
Total Cost,Costo totale,
Total Cost (Company Currency),Costo totale (valuta dell&#39;azienda),
Materials Required (Exploded),Materiali necessari (dettagli),
Exploded Items,Articoli esplosi,
Show in Website,Mostra nel sito web,
Item Image (if not slideshow),Immagine Articolo (se non slideshow),
Thumbnail,Thumbnail,
Website Specifications,Website Specifiche,
Show Items,Mostra elementi,
Show Operations,Mostra Operations,
Website Description,Descrizione del sito,
BOM Explosion Item,BOM Articolo Esploso,
Qty Consumed Per Unit,Quantità consumata per unità,
Include Item In Manufacturing,Includi articolo nella produzione,
BOM Item,BOM Articolo,
Item operation,Operazione articolo,
Rate & Amount,Tariffa e importo,
Basic Rate (Company Currency),Tasso Base (Valuta Azienda),
Scrap %,Scrap%,
Original Item,Articolo originale,
BOM Operation,Operazione BOM,
Operation Time ,Tempo di operazione,
In minutes,In pochi minuti,
Batch Size,Dimensione del lotto,
Base Hour Rate(Company Currency),Base Hour Rate (Società di valuta),
Operating Cost(Company Currency),Costi di funzionamento (Società di valuta),
BOM Scrap Item,Articolo Scarto per Distinta Base,
Basic Amount (Company Currency),Importo di base (Società di valuta),
BOM Update Tool,Strumento di aggiornamento Distinta Base,
"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.","Sostituire una particolare BOM in tutte le altre BOM in cui è utilizzata. Sostituirà il vecchio collegamento BOM, aggiorna i costi e rigenererà la tabella &quot;BOM Explosion Item&quot; come per la nuova BOM. Inoltre aggiorna l&#39;ultimo prezzo in tutte le BOM.",
Replace BOM,Sostituire il BOM,
Current BOM,Distinta Base attuale,
The BOM which will be replaced,La Distinta Base che sarà sostituita,
The new BOM after replacement,La nuova Distinta Base dopo la sostituzione,
Replace,Sostituire,
Update latest price in all BOMs,Aggiorna l&#39;ultimo prezzo in tutte le BOM,
BOM Website Item,Distinta Base dell'Articolo sul Sito Web,
BOM Website Operation,BOM Pagina web,
Operation Time,Tempo di funzionamento,
PO-JOB.#####,PO-JOB. #####,
Timing Detail,Dettaglio dei tempi,
Time Logs,Logs tempo,
Total Time in Mins,Tempo totale in minuti,
Operation ID,ID operazione,
Transferred Qty,Quantità trasferito,
Job Started,Lavoro avviato,
Started Time,Ora di inizio,
Current Time,Ora attuale,
Job Card Item,Job Card Item,
Job Card Time Log,Registro tempo scheda lavoro,
Time In Mins,Tempo in minuti,
Completed Qty,Q.tà Completata,
Manufacturing Settings,Impostazioni di Produzione,
Raw Materials Consumption,Consumo di materie prime,
Allow Multiple Material Consumption,Consenti il consumo di più materiali,
Allow multiple Material Consumption against a Work Order,Consentire il consumo di più materiali rispetto a un ordine di lavoro,
Backflush Raw Materials Based On,Backflush Materie prime calcolate in base a,
Material Transferred for Manufacture,Materiale trasferito per Produzione,
Capacity Planning,Pianificazione Capacità,
Disable Capacity Planning,Disabilita pianificazione della capacità,
Allow Overtime,Consenti Straodinario,
Plan time logs outside Workstation Working Hours.,Pianificare i registri di tempo al di fuori dell&#39;orario di lavoro Workstation.,
Allow Production on Holidays,Consenti produzione su Vacanze,
Capacity Planning For (Days),Pianificazione Capacità per (giorni),
Try planning operations for X days in advance.,Provare le operazioni per X giorni in programma in anticipo.,
Time Between Operations (in mins),Tempo tra le operazioni (in minuti),
Default 10 mins,Predefinito 10 minuti,
Default Warehouses for Production,Magazzini predefiniti per la produzione,
Default Work In Progress Warehouse,Deposito di default per Work In Progress,
Default Finished Goods Warehouse,Deposito beni ultimati,
Default Scrap Warehouse,Magazzino rottami predefinito,
Over Production for Sales and Work Order,Oltre la produzione per le vendite e l&#39;ordine di lavoro,
Overproduction Percentage For Sales Order,Percentuale di sovrapproduzione per ordine di vendita,
Overproduction Percentage For Work Order,Percentuale di sovrapproduzione per ordine di lavoro,
Other Settings,Altre impostazioni,
Update BOM Cost Automatically,Aggiorna automaticamente il costo della BOM,
"Update BOM cost automatically via Scheduler, based on latest valuation rate / price list rate / last purchase rate of raw materials.","L&#39;aggiornamento dei costi BOM avviene automaticamente via Scheduler, in base all&#39;ultimo tasso di valutazione / prezzo di listino / ultimo tasso di acquisto di materie prime.",
Material Request Plan Item,Articolo piano di richiesta materiale,
Material Request Type,Tipo di richiesta materiale,
Material Issue,Fornitura materiale,
Customer Provided,Fornito dal cliente,
Minimum Order Quantity,Quantità ordine minimo,
Default Workstation,Workstation predefinita,
Production Plan,Piano di produzione,
MFG-PP-.YYYY.-,MFG-PP-.YYYY.-,
Get Items From,Ottenere elementi dal,
Get Sales Orders,Ottieni Ordini di Vendita,
Material Request Detail,Dettaglio richiesta materiale,
Get Material Request,Get Materiale Richiesta,
Material Requests,Richieste di materiale,
Get Items For Work Order,Ottieni articoli per ordine di lavoro,
Material Request Planning,Pianificazione Richiesta Materiale,
Include Non Stock Items,Includi articoli non disponibili,
Include Subcontracted Items,Includi elementi in conto lavoro,
Ignore Existing Projected Quantity,Ignora quantità prevista esistente,
"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>.","Per saperne di più sulla quantità proiettata, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">clicca qui</a> .",
Download Required Materials,Scarica i materiali richiesti,
Get Raw Materials For Production,Ottieni materie prime per la produzione,
Total Planned Qty,Qtà totale pianificata,
Total Produced Qty,Quantità totale prodotta,
Material Requested,Materiale richiesto,
Production Plan Item,Piano di Produzione Articolo,
Make Work Order for Sub Assembly Items,Effettuare un ordine di lavoro per gli articoli dell&#39;Assemblea secondaria,
"If enabled, system will create the work order for the exploded items against which BOM is available.","Se abilitato, il sistema creerà l&#39;ordine di lavoro per gli elementi esplosi per i quali è disponibile la distinta componenti.",
Planned Start Date,Data di inizio prevista,
Quantity and Description,Quantità e descrizione,
material_request_item,material_request_item,
Product Bundle Item,Prodotto Bundle Voce,
Production Plan Material Request,Piano di produzione Materiale Richiesta,
Production Plan Sales Order,Produzione Piano di ordini di vendita,
Sales Order Date,Ordine di vendita Data,
Routing Name,Nome del routing,
MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
Item To Manufacture,Articolo da produrre,
Material Transferred for Manufacturing,Materiale trasferito per produzione,
Manufactured Qty,Q.tà Prodotte,
Use Multi-Level BOM,Utilizzare BOM Multi-Level,
Plan material for sub-assemblies,Materiale Piano per sub-assemblaggi,
Skip Material Transfer to WIP Warehouse,Salta trasferimento materiale al magazzino WIP,
Check if material transfer entry is not required,Controllare se non è richiesta la voce di trasferimento dei materiali,
Backflush Raw Materials From Work-in-Progress Warehouse,Backflush di materie prime da magazzino in corso di lavorazione,
Update Consumed Material Cost In Project,Aggiorna il costo del materiale consumato nel progetto,
Warehouses,Magazzini,
This is a location where raw materials are available.,Questa è una posizione in cui sono disponibili materie prime.,
Work-in-Progress Warehouse,Magazzino Lavori in corso,
This is a location where operations are executed.,Questa è una posizione in cui vengono eseguite le operazioni.,
This is a location where final product stored.,Questa è una posizione in cui è stato archiviato il prodotto finale.,
Scrap Warehouse,Scrap Magazzino,
This is a location where scraped materials are stored.,Questa è una posizione in cui sono immagazzinati materiali di scarto.,
Required Items,Articoli richiesti,
Actual Start Date,Data inizio effettiva,
Planned End Date,Data di fine pianificata,
Actual End Date,Data di fine effettiva,
Operation Cost,Operazione Costo,
Planned Operating Cost,Costo operativo pianificato,
Actual Operating Cost,Costo operativo effettivo,
Additional Operating Cost,Ulteriori costi di esercizio,
Total Operating Cost,Totale costi di esercizio,
Manufacture against Material Request,Produzione relativa alla Richiesta Materiale,
Work Order Item,Articolo dell&#39;ordine di lavoro,
Available Qty at Source Warehouse,Qtà disponibile presso Source Warehouse,
Available Qty at WIP Warehouse,Quantità disponibile presso WIP Warehouse,
Work Order Operation,Operazione dell&#39;ordine di lavoro,
Operation Description,Operazione Descrizione,
Operation completed for how many finished goods?,Operazione completata per quanti prodotti finiti?,
Work in Progress,Lavori in corso,
Estimated Time and Cost,Tempo e Costo Stimato,
Planned Start Time,Ora di inizio prevista,
Planned End Time,Tempo di fine pianificato,
in Minutes,In pochi minuti,
Actual Time and Cost,Tempo reale e costi,
Actual Start Time,Ora di inizio effettiva,
Actual End Time,Ora di fine effettiva,
Updated via 'Time Log',Aggiornato con 'Time Log',
Actual Operation Time,Tempo lavoro effettiva,
in Minutes\nUpdated via 'Time Log',Aggiornato da pochi minuti tramite 'Time Log',
(Hour Rate / 60) * Actual Operation Time,(Tasso Orario / 60) * tempo operazione effettivo,
Workstation Name,Nome Stazione di lavoro,
Production Capacity,Capacità produttiva,
Operating Costs,Costi operativi,
Electricity Cost,Costo Elettricità,
per hour,all'ora,
Consumable Cost,Costo consumabili,
Rent Cost,Affitto Costo,
Wages,Salari,
Wages per hour,Salari all'ora,
Net Hour Rate,Tasso Netto Orario,
Workstation Working Hour,Ore di lavoro Workstation,
Certification Application,Applicazione di certificazione,
Name of Applicant,Nome del candidato,
Certification Status,Stato certificazione,
Yet to appear,Deve ancora apparire,
Certified,Certificato,
Not Certified,Non certificato,
USD,Dollaro statunitense,
INR,INR,
Certified Consultant,Consulente certificato,
Name of Consultant,Nome del consulente,
Certification Validity,Validità certificazione,
Discuss ID,Discutere ID,
GitHub ID,GitHub ID,
Non Profit Manager,Manager non profit,
Chapter Head,Capo capitolo,
Meetup Embed HTML,Meetup Incorpora HTML,
chapters/chapter_name\nleave blank automatically set after saving chapter.,capitoli / chapter_name lascia vuoto automaticamente impostato dopo aver salvato il capitolo.,
Chapter Members,Membri del Capitolo,
Members,Utenti,
Chapter Member,Membro del Capitolo,
Website URL,URL del sito web,
Leave Reason,Lascia ragione,
Donor Name,Nome del donatore,
Donor Type,Tipo di donatore,
Withdrawn,Ritirato,
Grant Application Details ,Concedere i dettagli dell&#39;applicazione,
Grant Description,Descrizione della sovvenzione,
Requested Amount,Importo richiesto,
Has any past Grant Record,Ha un record di sovvenzione passato,
Show on Website,Mostra sul sito web,
Assessment  Mark (Out of 10),Valutazione (su 10),
Assessment  Manager,Responsabile della valutazione,
Email Notification Sent,Email di notifica inviata,
NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
Membership Expiry Date,Data di scadenza dell&#39;appartenenza,
Razorpay Details,Dettagli Razorpay,
Subscription ID,ID abbonamento,
Customer ID,identificativo del cliente,
Subscription Activated,Abbonamento attivato,
Subscription Start ,Inizio dell&#39;abbonamento,
Subscription End,Fine dell&#39;abbonamento,
Non Profit Member,Membro non profit,
Membership Status,Stato di appartenenza,
Member Since,Membro da,
Payment ID,ID pagamento,
Membership Settings,Impostazioni di iscrizione,
Enable RazorPay For Memberships,Abilita RazorPay per gli abbonamenti,
RazorPay Settings,Impostazioni RazorPay,
Billing Cycle,Ciclo di fatturazione,
Billing Frequency,Frequenza di fatturazione,
"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.","Il numero di cicli di fatturazione per i quali il cliente deve essere addebitato. Ad esempio, se un cliente sta acquistando un abbonamento di 1 anno che dovrebbe essere fatturato su base mensile, questo valore dovrebbe essere 12.",
Razorpay Plan ID,ID piano Razorpay,
Volunteer Name,Nome del volontario,
Volunteer Type,Tipo di volontariato,
Availability and Skills,Disponibilità e competenze,
Availability,Disponibilità,
Weekends,Fine settimana,
Availability Timeslot,Orario di disponibilità,
Morning,Mattina,
Afternoon,Pomeriggio,
Evening,Sera,
Anytime,In qualsiasi momento,
Volunteer Skills,Abilità di volontariato,
Volunteer Skill,Abilità volontaria,
Homepage,Homepage,
Hero Section Based On,Sezione degli eroi basata su,
Homepage Section,Sezione della homepage,
Hero Section,Sezione degli eroi,
Tag Line,Tag Linea,
Company Tagline for website homepage,Tagline per la home page del sito,
Company Description for website homepage,Descrizione per la home page del sito,
Homepage Slideshow,Presentazione della home page,
"URL for ""All Products""",URL per &quot;tutti i prodotti&quot;,
Products to be shown on website homepage,Prodotti da mostrare sulla home page del sito,
Homepage Featured Product,Home page per prodotti in vetrina,
route,itinerario,
Section Based On,Sezione basata su,
Section Cards,Schede di sezione,
Number of Columns,Numero di colonne,
Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Numero di colonne per questa sezione. Verranno visualizzate 3 carte per riga se selezioni 3 colonne.,
Section HTML,Sezione HTML,
Use this field to render any custom HTML in the section.,Utilizzare questo campo per eseguire il rendering di qualsiasi HTML personalizzato nella sezione.,
Section Order,Ordine di sezione,
"Order in which sections should appear. 0 is first, 1 is second and so on.","Ordine in cui dovrebbero apparire le sezioni. 0 è il primo, 1 è il secondo e così via.",
Homepage Section Card,Home page Sezione Card,
Subtitle,Sottotitolo,
Products Settings,Impostazioni Prodotti,
Home Page is Products,La Home Page è Prodotti,
"If checked, the Home page will be the default Item Group for the website","Se selezionato, la pagina iniziale sarà il gruppo di default dell&#39;oggetto per il sito web",
Show Availability Status,Mostra lo stato di disponibilità,
Product Page,Pagina del prodotto,
Products per Page,Prodotti per pagina,
Enable Field Filters,Abilita filtri di campo,
Item Fields,Campi oggetto,
Enable Attribute Filters,Abilita filtri attributi,
Attributes,Attributi,
Hide Variants,Nascondi varianti,
Website Attribute,Attributo del sito Web,
Attribute,Attributo,
Website Filter Field,Campo filtro sito Web,
Activity Cost,Costo attività,
Billing Rate,Fatturazione Tasso,
Costing Rate,Costing Tasso,
title,titolo,
Projects User,Utente Progetti,
Default Costing Rate,Tasso di costo Predefinito,
Default Billing Rate,Tariffa predefinita,
Dependent Task,Attività dipendente,
Project Type,Tipo di progetto,
% Complete Method,% Completamento,
Task Completion,Completamento dell'attività,
Task Progress,Avanzamento attività,
% Completed,% Completato,
From Template,Dal modello,
Project will be accessible on the website to these users,Progetto sarà accessibile sul sito web per questi utenti,
Copied From,Copiato da,
Start and End Dates,Date di inizio e fine,
Actual Time (in Hours),Tempo effettivo (in ore),
Costing and Billing,Costi e Fatturazione,
Total Costing Amount (via Timesheets),Total Costing Amount (via Timesheets),
Total Expense Claim (via Expense Claims),Total Expense Claim (via rimborsi spese),
Total Purchase Cost (via Purchase Invoice),Costo totale di acquisto (tramite acquisto fattura),
Total Sales Amount (via Sales Order),Importo totale vendite (tramite ordine cliente),
Total Billable Amount (via Timesheets),Importo totale fatturabile (tramite Timesheets),
Total Billed Amount (via Sales Invoices),Importo fatturato totale (tramite fatture di vendita),
Total Consumed Material Cost  (via Stock Entry),Costo totale del materiale consumato (tramite stock),
Gross Margin,Margine lordo,
Gross Margin %,Margine lordo %,
Monitor Progress,Monitorare i progressi,
Collect Progress,Raccogli progressi,
Frequency To Collect Progress,Frequenza per raccogliere i progressi,
Twice Daily,Due volte al giorno,
First Email,Prima email,
Second Email,Seconda email,
Time to send,Tempo di inviare,
Day to Send,Giorno per inviare,
Message will be sent to the users to get their status on the Project,Verrà inviato un messaggio agli utenti per ottenere il loro stato sul progetto,
Projects Manager,Responsabile Progetti,
Project Template,Modello di progetto,
Project Template Task,Task modello di progetto,
Begin On (Days),Inizia il (giorni),
Duration (Days),Durata (giorni),
Project Update,Aggiornamento del progetto,
Project User,Utente Progetti,
View attachments,Visualizza allegati,
Projects Settings,Impostazioni dei progetti,
Ignore Workstation Time Overlap,Ignora sovrapposizione tempo workstation,
Ignore User Time Overlap,Ignora la sovrapposizione temporale dell&#39;utente,
Ignore Employee Time Overlap,Ignora sovrapposizione tempo dipendente,
Weight,Peso,
Parent Task,Attività padre,
Timeline,Sequenza temporale,
Expected Time (in hours),Tempo previsto (in ore),
% Progress,% Avanzamento,
Is Milestone,È Milestone,
Task Description,Descrizione del compito,
Dependencies,dipendenze,
Dependent Tasks,Attività dipendenti,
Depends on Tasks,Dipende Compiti,
Actual Start Date (via Time Sheet),Data di inizio effettiva (da Time Sheet),
Actual Time (in hours),Tempo reale (in ore),
Actual End Date (via Time Sheet),Data di fine effettiva (da Time Sheet),
Total Costing Amount (via Time Sheet),Totale Costing Importo (tramite Time Sheet),
Total Expense Claim (via Expense Claim),Rimborso spese totale (via Expense Claim),
Total Billing Amount (via Time Sheet),Importo totale di fatturazione (tramite Time Sheet),
Review Date,Data di revisione,
Closing Date,Data Chiusura,
Task Depends On,L'attività dipende da,
Task Type,Tipo di attività,
TS-.YYYY.-,TS-.YYYY.-,
Employee Detail,Dettaglio dei dipendenti,
Billing Details,Dettagli di fatturazione,
Total Billable Hours,Totale Ore Fatturabili,
Total Billed Hours,Totale Ore Fatturate,
Total Costing Amount,Importo totale Costing,
Total Billable Amount,Importo Totale Fatturabile,
Total Billed Amount,Totale Importo Fatturato,
% Amount Billed,% Importo Fatturato,
Hrs,Ore,
Costing Amount,Costing Importo,
Corrective/Preventive,Correttive / preventive,
Corrective,correttivo,
Preventive,preventivo,
Resolution,Risoluzione,
Resolutions,risoluzioni,
Quality Action Resolution,Risoluzione dell&#39;azione di qualità,
Quality Feedback Parameter,Parametro di feedback di qualità,
Quality Feedback Template Parameter,Parametro del modello di feedback sulla qualità,
Quality Goal,Obiettivo di qualità,
Monitoring Frequency,Frequenza di monitoraggio,
Weekday,giorno feriale,
January-April-July-October,Gennaio-Aprile-Luglio-Ottobre,
Revision and Revised On,Revisione e revisione,
Revision,Revisione,
Revised On,Revisionato il,
Objectives,obiettivi,
Quality Goal Objective,Obiettivo obiettivo di qualità,
Objective,Obbiettivo,
Agenda,ordine del giorno,
Minutes,Minuti,
Quality Meeting Agenda,Ordine del giorno della riunione di qualità,
Quality Meeting Minutes,Verbale della riunione di qualità,
Minute,Minuto,
Parent Procedure,Procedura genitore,
Processes,Processi,
Quality Procedure Process,Processo di procedura di qualità,
Process Description,Descrizione del processo,
Child Procedure,Procedura per bambini,
Link existing Quality Procedure.,Collegare la procedura di qualità esistente.,
Additional Information,Informazioni aggiuntive,
Quality Review Objective,Obiettivo della revisione della qualità,
DATEV Settings,Impostazioni DATEV,
Regional,Regionale,
Consultant ID,ID consulente,
GST HSN Code,Codice GST HSN,
HSN Code,Codice HSN,
GST Settings,Impostazioni GST,
GST Summary,Riepilogo GST,
GSTIN Email Sent On,Posta elettronica di GSTIN inviata,
GST Accounts,Conti GST,
B2C Limit,Limite B2C,
Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Imposta il valore della fattura per B2C. B2CL e B2CS calcolati in base a questo valore di fattura.,
GSTR 3B Report,Rapporto GSTR 3B,
January,gennaio,
February,febbraio,
March,marzo,
April,aprile,
May,Maggio,
June,giugno,
July,luglio,
August,agosto,
September,settembre,
October,ottobre,
November,novembre,
December,dicembre,
JSON Output,Uscita JSON,
Invoices with no Place Of Supply,Fatture senza luogo di approvvigionamento,
Import Supplier Invoice,Importa fattura fornitore,
Invoice Series,Serie di fatture,
Upload XML Invoices,Carica fatture XML,
Zip File,File zip,
Import Invoices,Importa fatture,
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.,Fare clic sul pulsante Importa fatture una volta che il file zip è stato allegato al documento. Eventuali errori relativi all&#39;elaborazione verranno visualizzati nel registro errori.,
Lower Deduction Certificate,Certificato di detrazione inferiore,
Certificate Details,Dettagli certificato,
194A,194A,
194C,194C,
194D,194D,
194H,194H,
194I,194I,
194J,194J,
194LA,194LA,
194LBB,194LBB,
194LBC,194LBC,
Certificate No,Certificato n,
Deductee Details,Dettagli detrazione,
PAN No,PAN No,
Validity Details,Dettagli di validità,
Rate Of TDS As Per Certificate,Tasso di TDS come da certificato,
Certificate Limit,Limite certificato,
Invoice Series Prefix,Prefisso della serie di fatture,
Active Menu,Menu attivo,
Restaurant Menu,Ristorante Menu,
Price List (Auto created),Listino prezzi (creato automaticamente),
Restaurant Manager,Gestore del ristorante,
Restaurant Menu Item,Menu del menu del ristorante,
Restaurant Order Entry,Inserimento ordine del ristorante,
Restaurant Table,Ristorante Tavolo,
Click Enter To Add,Fare clic su Invio per aggiungere,
Last Sales Invoice,Fattura di ultima vendita,
Current Order,Ordine attuale,
Restaurant Order Entry Item,Ristorante Articolo di ordinazione voce,
Served,servito,
Restaurant Reservation,Prenotazione Ristorante,
Waitlisted,lista d&#39;attesa,
No Show,Nessuno spettacolo,
No of People,No di persone,
Reservation Time,Tempo di prenotazione,
Reservation End Time,Termine di prenotazione,
No of Seats,No delle sedute,
Minimum Seating,Minima sede,
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Mantenere traccia delle campagne di vendita, dei Leads, Preventivi, Ordini di Vendita ecc per determinare il ritorno sull'investimento.",
SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
Campaign Schedules,Pianificazioni della campagna,
Buyer of Goods and Services.,Acquisto di beni e servizi.,
CUST-.YYYY.-,CUST-.YYYY.-,
Default Company Bank Account,Conto bancario aziendale predefinito,
From Lead,Da Contatto,
Account Manager,Account Manager,
Allow Sales Invoice Creation Without Sales Order,Consenti creazione fattura di vendita senza ordine di vendita,
Allow Sales Invoice Creation Without Delivery Note,Consenti creazione fattura di vendita senza bolla di consegna,
Default Price List,Listino Prezzi Predefinito,
Primary Address and Contact Detail,Indirizzo primario e dettagli di contatto,
"Select, to make the customer searchable with these fields","Seleziona, per rendere il cliente ricercabile con questi campi",
Customer Primary Contact,Contatto Principale Cliente,
"Reselect, if the chosen contact is edited after save","Riseleziona, se il contatto scelto viene modificato dopo il salvataggio",
Customer Primary Address,Indirizzo primario del cliente,
"Reselect, if the chosen address is edited after save","Riseleziona, se l&#39;indirizzo scelto viene modificato dopo il salvataggio",
Primary Address,indirizzo primario,
Mention if non-standard receivable account,Menzione se conto credito non standard,
Credit Limit and Payment Terms,Limite di credito e condizioni di pagamento,
Additional information regarding the customer.,Ulteriori informazioni sul cliente.,
Sales Partner and Commission,Partner vendite e Commissione,
Commission Rate,Tasso Commissione,
Sales Team Details,Vendite team Dettagli,
Customer POS id,ID POS cliente,
Customer Credit Limit,Limite di credito del cliente,
Bypass Credit Limit Check at Sales Order,Ignorare il controllo del limite di credito in ordine cliente,
Industry Type,Tipo Industria,
MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
Installation Date,Data di installazione,
Installation Time,Tempo di installazione,
Installation Note Item,Installazione Nota articolo,
Installed Qty,Qtà installata,
Lead Source,Fonte del Lead,
Period Start Date,Data di inizio del periodo,
Period End Date,Data di fine del periodo,
Cashier,Cassiere,
Difference,Differenza,
Modes of Payment,Modalità di pagamento,
Linked Invoices,Fatture collegate,
POS Closing Voucher Details,POS Chiusura dei dettagli del voucher,
Collected Amount,Importo raccolto,
Expected Amount,Importo previsto,
POS Closing Voucher Invoices,Fatture di chiusura del voucher POS,
Quantity of Items,Quantità di articoli,
"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","Gruppo aggregato di elementi ** ** in un&#39;altra Voce ** **. Ciò è utile se in fase di installazione una certa Articoli ** ** in un pacchetto e si mantiene il punto sulle ** ** Elementi imballate e non l&#39;aggregato ** ** Item. Il pacchetto ** ** Voce avrà &quot;è articolo di&quot; come &quot;No&quot; e &quot;Is Item vendite&quot; come &quot;Yes&quot;. Per esempio: Se state vendendo computer portatili e zaini separatamente e hanno un prezzo speciale se il cliente acquista entrambi, poi il computer portatile + zaino sarà un nuovo bundle di prodotto Articolo. Nota: BOM = Bill of Materials",
Parent Item,Articolo padre,
List items that form the package.,Voci di elenco che formano il pacchetto.,
SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
Quotation To,Preventivo a,
Rate at which customer's currency is converted to company's base currency,Tasso al quale la valuta del cliente viene convertito in valuta di base dell&#39;azienda,
Rate at which Price list currency is converted to company's base currency,Tasso al quale Listino valuta viene convertita in valuta di base dell&#39;azienda,
Additional Discount and Coupon Code,Codice sconto e coupon aggiuntivi,
Referral Sales Partner,Partner commerciale di riferimento,
In Words will be visible once you save the Quotation.,"""In Parole"" sarà visibile una volta che si salva il Preventivo.",
Term Details,Dettagli Termini,
Quotation Item,Articolo del Preventivo,
Against Doctype,Per Doctype,
Against Docname,Per Nome Doc,
Additional Notes,Note aggiuntive,
SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
Skip Delivery Note,Salta bolla di consegna,
In Words will be visible once you save the Sales Order.,In parole saranno visibili una volta che si salva l&#39;ordine di vendita.,
Track this Sales Order against any Project,Traccia questo ordine di vendita nei confronti di qualsiasi progetto,
Billing and Delivery Status,Stato della Fatturazione e della Consegna,
Not Delivered,Non Consegnati,
Fully Delivered,Completamente Consegnato,
Partly Delivered,Parzialmente Consegnato,
Not Applicable,Non Applicabile,
%  Delivered,%  Consegnato,
% of materials delivered against this Sales Order,% dei materiali consegnati su questo Ordine di Vendita,
% of materials billed against this Sales Order,% dei materiali fatturati su questo Ordine di Vendita,
Not Billed,Non Fatturata,
Fully Billed,Completamente Fatturato,
Partly Billed,Parzialmente Fatturato,
Ensure Delivery Based on Produced Serial No,Garantire la consegna in base al numero di serie prodotto,
Supplier delivers to Customer,il Fornitore consegna al Cliente,
Delivery Warehouse,Magazzino di consegna,
Planned Quantity,Quantità Prevista,
For Production,Per la produzione,
Work Order Qty,Qtà ordine di lavoro,
Produced Quantity,Prodotto Quantità,
Used for Production Plan,Usato per Piano di Produzione,
Sales Partner Type,Tipo di partner di vendita,
Contact No.,Contatto N.,
Contribution (%),Contributo (%),
Contribution to Net Total,Contributo sul totale netto,
Selling Settings,Impostazioni Vendite,
Settings for Selling Module,Impostazioni per il Modulo Vendite,
Customer Naming By,Creare il Nome Cliente da,
Campaign Naming By,Creare il nome Campagna da,
Default Customer Group,Gruppo Clienti Predefinito,
Default Territory,Territorio Predefinito,
Close Opportunity After Days,Chiudi Opportunità dopo giorni,
Auto close Opportunity after 15 days,Chiudi automaticamente Opportunità dopo 15 giorni,
Default Quotation Validity Days,Giorni di validità delle quotazioni predefinite,
Sales Update Frequency,Frequenza di aggiornamento delle vendite,
How often should project and company be updated based on Sales Transactions.,Con quale frequenza il progetto e la società devono essere aggiornati in base alle transazioni di vendita.,
Each Transaction,Ogni transazione,
Allow user to edit Price List Rate in transactions,Consenti all'utente di modificare il prezzo di Listino nelle transazioni,
Allow multiple Sales Orders against a Customer's Purchase Order,Consentire più ordini di vendita da un singolo ordine di un cliente,
Validate Selling Price for Item against Purchase Rate or Valuation Rate,Convalida il prezzo di vendita dell'articolo dal prezzo di acquisto o dal tasso di valutazione,
Hide Customer's Tax Id from Sales Transactions,Nascondere P. IVA / Cod. Fiscale dei clienti dai documenti di vendita,
SMS Center,Centro SMS,
Send To,Invia a,
All Contact,Tutti i contatti,
All Customer Contact,Tutti i contatti dei clienti,
All Supplier Contact,Tutti i Contatti Fornitori,
All Sales Partner Contact,Tutte i contatti Partner vendite,
All Lead (Open),Tutti i Lead (Aperti),
All Employee (Active),Tutti Dipendenti (Attivi),
All Sales Person,Tutti i Venditori,
Create Receiver List,Crea Elenco Ricezione,
Receiver List,Lista Ricevitore,
Messages greater than 160 characters will be split into multiple messages,Messaggio maggiore di 160 caratteri verrà divisa in mesage multipla,
Total Characters,Totale Personaggi,
Total Message(s),Totale Messaggi,
Authorization Control,Controllo Autorizzazioni,
Authorization Rule,Regola Autorizzazione,
Average Discount,Sconto Medio,
Customerwise Discount,Sconto Cliente saggio,
Itemwise Discount,Sconto Itemwise,
Customer or Item,Cliente o Voce,
Customer / Item Name,Cliente / Nome Articolo,
Authorized Value,Valore Autorizzato,
Applicable To (Role),Applicabile a (Ruolo),
Applicable To (Employee),Applicabile a (Dipendente),
Applicable To (User),Applicabile a (Utente),
Applicable To (Designation),Applicabile a (Designazione),
Approving Role (above authorized value),Approvazione di ruolo (di sopra del valore autorizzato),
Approving User  (above authorized value),Approvazione utente (sopra il valore autorizzato),
Brand Defaults,Impostazioni predefinite del marchio,
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Entità Legale / Controllata con un grafico separato di conti appartenenti all'organizzazione.,
Change Abbreviation,Change Abbreviazione,
Parent Company,Società madre,
Default Values,Valori Predefiniti,
Default Holiday List,Lista vacanze predefinita,
Default Selling Terms,Termini di vendita predefiniti,
Default Buying Terms,Termini di acquisto predefiniti,
Create Chart Of Accounts Based On,Crea il Piano dei Conti in base a,
Standard Template,Template Standard,
Existing Company,Azienda esistente,
Chart Of Accounts Template,Modello del Piano dei Conti,
Existing Company ,società esistente,
Date of Establishment,Data di fondazione,
Sales Settings,Impostazioni di vendita,
Monthly Sales Target,Target di vendita mensile,
Sales Monthly History,Vendite storiche mensili,
Transactions Annual History,Transazioni Storia annuale,
Total Monthly Sales,Totale vendite mensili,
Default Cash Account,Conto cassa predefinito,
Default Receivable Account,Account Crediti Predefinito,
Round Off Cost Center,Arrotondamento Centro di costo,
Discount Allowed Account,Conto scontato consentito,
Discount Received Account,Conto sconto ricevuto,
Exchange Gain / Loss Account,Guadagno Exchange / Conto Economico,
Unrealized Exchange Gain/Loss Account,Conto di guadagno / perdita di cambio non realizzato,
Allow Account Creation Against Child Company,Consenti creazione account contro azienda figlio,
Default Payable Account,Conto da pagare Predefinito,
Default Employee Advance Account,Conto predefinito anticipo dipendenti,
Default Cost of Goods Sold Account,Costo predefinito di Account merci vendute,
Default Income Account,Conto predefinito Entrate,
Default Deferred Revenue Account,Conto entrate differite di default,
Default Deferred Expense Account,Conto spese differite di default,
Default Payroll Payable Account,Payroll di mora dovuti account,
Default Expense Claim Payable Account,Conto pagabile per rimborso spese predefinito,
Stock Settings,Impostazioni Giacenza,
Enable Perpetual Inventory,Abilita inventario perpetuo,
Default Inventory Account,Account di inventario predefinito,
Stock Adjustment Account,Conto di regolazione Archivio,
Fixed Asset Depreciation Settings,Impostazioni di ammortamento di immobilizzazioni,
Series for Asset Depreciation Entry (Journal Entry),Serie per l&#39;ammortamento dell&#39;attivo (registrazione giornaliera),
Gain/Loss Account on Asset Disposal,Conto profitti / perdite su Asset in smaltimento,
Asset Depreciation Cost Center,Asset Centro di ammortamento dei costi,
Budget Detail,Dettaglio Budget,
Exception Budget Approver Role,Ruolo di approvazione budget eccezionale,
Company Info,Info Azienda,
For reference only.,Per riferimento soltanto.,
Company Logo,Logo della compagnia,
Date of Incorporation,Data di incorporazione,
Date of Commencement,Data d&#39;inizio,
Phone No,N. di telefono,
Company Description,Descrizione dell'azienda,
Registration Details,Dettagli di Registrazione,
Company registration numbers for your reference. Tax numbers etc.,"Numeri di registrazione dell'azienda per il vostro riferimento. numero Tassa, ecc",
Delete Company Transactions,Elimina transazioni Azienda,
Currency Exchange,Cambio Valuta,
Specify Exchange Rate to convert one currency into another,Specificare Tasso di cambio per convertire una valuta in un'altra,
From Currency,Da Valuta,
To Currency,Per valuta,
For Buying,Per l&#39;acquisto,
For Selling,Per la vendita,
Customer Group Name,Nome Gruppo Cliente,
Parent Customer Group,Gruppo clienti padre,
Only leaf nodes are allowed in transaction,Solo i nodi foglia sono ammessi nelle transazioni,
Mention if non-standard receivable account applicable,Menzione se conto credito non standard applicabile,
Credit Limits,Limiti di credito,
Email Digest,Email di Sintesi,
Send regular summary reports via Email.,Invia report di sintesi periodici via email.,
Email Digest Settings,Impostazioni Email di Sintesi,
How frequently?,Con quale frequenza?,
Next email will be sent on:,La prossima Email verrà inviata il:,
Note: Email will not be sent to disabled users,Nota: E-mail non sarà inviata agli utenti disabilitati,
Profit & Loss,Profit &amp; Loss,
New Income,Nuovo reddito,
New Expenses,nuove spese,
Annual Income,Reddito annuo,
Annual Expenses,Spese annuali,
Bank Balance,Saldo bancario,
Bank Credit Balance,Saldo del credito bancario,
Receivables,Crediti,
Payables,Debiti,
Sales Orders to Bill,Ordini di vendita a Bill,
Purchase Orders to Bill,Ordini d&#39;acquisto a Bill,
New Sales Orders,Nuovi Ordini di vendita,
New Purchase Orders,Nuovi Ordini di acquisto,
Sales Orders to Deliver,Ordini di vendita da consegnare,
Purchase Orders to Receive,Ordini d&#39;acquisto da ricevere,
New Purchase Invoice,Nuova fattura d&#39;acquisto,
New Quotations,Nuovi Preventivi,
Open Quotations,Citazioni aperte,
Open Issues,Questioni aperte,
Open Projects,Progetti aperti,
Purchase Orders Items Overdue,Ordini di ordini scaduti,
Upcoming Calendar Events,Prossimi eventi del calendario,
Open To Do,Open To Do,
Add Quote,Aggiungi Citazione,
Global Defaults,Predefiniti Globali,
Default Company,Azienda Predefinita,
Current Fiscal Year,Anno Fiscale Corrente,
Default Distance Unit,Unità distanza predefinita,
Hide Currency Symbol,Nascondi Simbolo Valuta,
Do not show any symbol like $ etc next to currencies.,Non visualizzare nessun simbolo tipo € dopo le Valute.,
"If disable, 'Rounded Total' field will not be visible in any transaction","Se disabilitare, &#39;Rounded totale&#39; campo non sarà visibile in qualsiasi transazione",
Disable In Words,Disattiva in parole,
"If disable, 'In Words' field will not be visible in any transaction","Se disable, &#39;In Words&#39; campo non saranno visibili in qualsiasi transazione",
Item Classification,Classificazione Articolo,
General Settings,Impostazioni Generali,
Item Group Name,Nome Gruppo Articoli,
Parent Item Group,Gruppo Padre,
Item Group Defaults,Valore predefinito gruppo articoli,
Item Tax,Tasse dell'Articolo,
Check this if you want to show in website,Seleziona se vuoi mostrare nel sito web,
Show this slideshow at the top of the page,Mostra questo slideshow in cima alla pagina,
HTML / Banner that will show on the top of product list.,HTML / Banner che verrà mostrato nella parte superiore della lista dei prodotti.,
Set prefix for numbering series on your transactions,Impostare prefisso per numerazione serie sulle transazioni,
Setup Series,Imposta Serie,
Select Transaction,Selezionare Transaction,
Help HTML,Aiuto HTML,
Series List for this Transaction,Lista Serie per questa transazione,
User must always select,L&#39;utente deve sempre selezionare,
Check this if you want to force the user to select a series before saving. There will be no default if you check this.,"Seleziona se vuoi forzare l'utente a selezionare una serie prima di salvare, non ci sarà un valore di default.",
Update Series,Aggiorna Serie,
Change the starting / current sequence number of an existing series.,Cambia l'inizio/numero sequenza corrente per una serie esistente,
Prefix,Prefisso,
Current Value,Valore Corrente,
This is the number of the last created transaction with this prefix,Questo è il numero dell&#39;ultimo transazione creata con questo prefisso,
Update Series Number,Aggiorna Numero della Serie,
Quotation Lost Reason,Motivo per la mancata vendita,
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Un distributore / agenzia / affiliato / rivenditore che vende i prodotti delle aziende per una commissione.,
Sales Partner Name,Nome partner vendite,
Partner Type,Tipo di partner,
Address & Contacts,Indirizzi & Contatti,
Address Desc,Desc. indirizzo,
Contact Desc,Desc Contatto,
Sales Partner Target,Vendite Partner di destinazione,
Targets,Obiettivi,
Show In Website,Mostra Nel Sito Web,
Referral Code,Codice di riferimento,
To Track inbound purchase,Per tenere traccia dell&#39;acquisto in entrata,
Logo,Logo,
Partner website,sito web partner,
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Tutte le transazioni di vendita possono essere etichettati contro più persone ** ** di vendita in modo da poter impostare e monitorare gli obiettivi.,
Name and Employee ID,Nome e ID Dipendente,
Sales Person Name,Vendite Nome persona,
Parent Sales Person,Agente di vendita padre,
Select company name first.,Selezionare il nome della società prima.,
Sales Person Targets,Sales Person Obiettivi,
Set targets Item Group-wise for this Sales Person.,Fissare obiettivi Item Group-saggio per questo venditore.,
Supplier Group Name,Nome del gruppo di fornitori,
Parent Supplier Group,Gruppo di fornitori principali,
Target Detail,Dettaglio dell'obbiettivo,
Target Qty,Obiettivo Qtà,
Target  Amount,L&#39;importo previsto,
Target Distribution,Distribuzione di destinazione,
"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.","Condizioni generali e condizioni che possono essere aggiunti alle Vendite e Acquisti.\n\n Esempi: \n\n 1. Validità dell'offerta.\n 1. Termini di pagamento (in anticipo, a credito, parte prima, ecc).\n 1. Che cosa è extra (o da pagare da parte del cliente).\n 1. Warning Sicurezza / utilizzo.\n 1. Garanzia se presente.\n 1. Recesso.\n 1. Condizioni di trasporto, se applicabile.\n 1. Modi di controversie indirizzamento, indennità, responsabilità, ecc \n 1. Indirizzo e contatti della vostra azienda.",
Applicable Modules,Moduli applicabili,
Terms and Conditions Help,Termini e condizioni Aiuto,
Classification of Customers by region,Classificazione dei Clienti per regione,
Territory Name,Territorio Nome,
Parent Territory,Territorio padre,
Territory Manager,Territory Manager,
For reference,Per riferimento,
Territory Targets,Obiettivi Territorio,
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Impostare la voce del budget di Gruppo-saggi su questo territorio. È inoltre possibile includere la stagionalità impostando la distribuzione.,
UOM Name,Nome Unità di Misura,
Check this to disallow fractions. (for Nos),Seleziona per disabilitare frazioni. (per NOS),
Website Item Group,Sito Gruppo Articolo,
Cross Listing of Item in multiple groups,Croce Listing dell'oggetto in più gruppi,
Default settings for Shopping Cart,Impostazioni predefinite per Carrello,
Enable Shopping Cart,Abilita Carrello,
Display Settings,Impostazioni Visualizzazione,
Show Public Attachments,Mostra gli allegati pubblici,
Show Price,Mostra prezzo,
Show Stock Availability,Mostra disponibilità di magazzino,
Show Contact Us Button,Mostra il pulsante Contattaci,
Show Stock Quantity,Mostra quantità di magazzino,
Show Apply Coupon Code,Mostra Applica codice coupon,
Allow items not in stock to be added to cart,Consenti agli articoli non disponibili di essere aggiunti al carrello,
Prices will not be shown if Price List is not set,I prezzi non verranno visualizzati se listino non è impostata,
Quotation Series,Serie Preventivi,
Checkout Settings,Impostazioni Acquista,
Enable Checkout,Abilita Checkout,
Payment Success Url,Pagamento Successo URL,
After payment completion redirect user to selected page.,Dopo il completamento del pagamento reindirizza l'utente alla pagina selezionata.,
Batch Details,Dettagli batch,
Batch ID,Lotto ID,
image,Immagine,
Parent Batch,Lotto padre,
Manufacturing Date,Data di produzione,
Batch Quantity,Quantità in lotti,
Batch UOM,Batch UOM,
Source Document Type,Tipo di documento di origine,
Source Document Name,Nome del documento di origine,
Batch Description,Descrizione Batch,
Bin,Bin,
Reserved Quantity,Riservato Quantità,
Actual Quantity,Quantità reale,
Requested Quantity,la quantita &#39;richiesta,
Reserved Qty for sub contract,Qtà riservata per il subappalto,
Moving Average Rate,Tasso Media Mobile,
FCFS Rate,FCFS Rate,
Customs Tariff Number,Numero della tariffa doganale,
Tariff Number,Numero tariffario,
Delivery To,Consegna a,
MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
Is Return,È Return,
Issue Credit Note,Nota di credito d&#39;emissione,
Return Against Delivery Note,Di ritorno contro Consegna Nota,
Customer's Purchase Order No,Ordine Acquisto Cliente N.,
Billing Address Name,Destinatario,
Required only for sample item.,Richiesto solo per la voce di esempio.,
"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Se è stato creato un modello standard di imposte delle entrate e oneri modello, selezionare uno e fare clic sul pulsante qui sotto.",
In Words will be visible once you save the Delivery Note.,In parole saranno visibili una volta che si salva il DDT.,
In Words (Export) will be visible once you save the Delivery Note.,In Parole (Export) sarà visibile una volta che si salva il DDT.,
Transporter Info,Info Transporter,
Driver Name,Nome del driver,
Track this Delivery Note against any Project,Sottoscrivi questa bolla di consegna contro ogni progetto,
Inter Company Reference,Riferimento interaziendale,
Print Without Amount,Stampare senza Importo,
% Installed,% Installato,
% of materials delivered against this Delivery Note,% dei materiali consegnati di questa Bolla di Consegna,
Installation Status,Stato di installazione,
Excise Page Number,Accise Numero Pagina,
Instructions,Istruzione,
From Warehouse,Dal Deposito,
Against Sales Order,Contro Ordine di Vendita,
Against Sales Order Item,Dall'Articolo dell'Ordine di Vendita,
Against Sales Invoice,Per Fattura Vendita,
Against Sales Invoice Item,a fronte dell'Articolo della Fattura di Vendita,
Available Batch Qty at From Warehouse,Disponibile Quantità batch a partire Warehouse,
Available Qty at From Warehouse,Disponibile Quantità a partire Warehouse,
Delivery Settings,Impostazioni di consegna,
Dispatch Settings,Impostazioni di spedizione,
Dispatch Notification Template,Modello di notifica spedizione,
Dispatch Notification Attachment,Allegato notifica di spedizione,
Leave blank to use the standard Delivery Note format,Lascia vuoto per utilizzare il formato di nota di consegna standard,
Send with Attachment,Invia con allegato,
Delay between Delivery Stops,Ritardo tra le fermate di consegna,
Delivery Stop,Fermata di consegna,
Lock,Serratura,
Visited,visitato,
Order Information,Informazioni sull&#39;ordine,
Contact Information,Informazioni sui contatti,
Email sent to,Email inviata a,
Dispatch Information,Informazioni sulla spedizione,
Estimated Arrival,Arrivo Stimato,
MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
Initial Email Notification Sent,Notifica email iniziale inviata,
Delivery Details,Dettagli Consegna,
Driver Email,Email del driver,
Driver Address,Indirizzo del conducente,
Total Estimated Distance,Distanza totale stimata,
Distance UOM,UOM di distanza,
Departure Time,Orario di partenza,
Delivery Stops,Fermate di consegna,
Calculate Estimated Arrival Times,Calcola i tempi di arrivo stimati,
Use Google Maps Direction API to calculate estimated arrival times,Utilizza l&#39;API di direzione di Google Maps per calcolare i tempi di arrivo stimati,
Optimize Route,Ottimizza percorso,
Use Google Maps Direction API to optimize route,Utilizza l&#39;API di direzione di Google Maps per ottimizzare il percorso,
In Transit,In transito,
Fulfillment User,Utente di adempimento,
"A Product or a Service that is bought, sold or kept in stock.","Un prodotto o un servizio che viene acquistato, venduto o conservato in magazzino.",
STO-ITEM-.YYYY.-,STO-item-.YYYY.-,
Variant Of,Variante di,
"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Se l'articolo è una variante di un altro elemento poi descrizione, immagini, prezzi, tasse ecc verrà impostata dal modello se non espressamente specificato",
Is Item from Hub,È elemento da Hub,
Default Unit of Measure,Unità di Misura Predefinita,
Maintain Stock,Movimenta l'articolo in magazzino,
Standard Selling Rate,Prezzo di Vendita Standard,
Auto Create Assets on Purchase,Creazione automatica di risorse all&#39;acquisto,
Asset Naming Series,Asset Naming Series,
Over Delivery/Receipt Allowance (%),Sovraccarico / Ricevuta ricevuta (%),
Barcodes,Codici a barre,
Shelf Life In Days,Shelf Life In Days,
End of Life,Fine Vita,
Default Material Request Type,Tipo di richiesta Materiale Predefinito,
Valuation Method,Metodo di Valorizzazione,
FIFO,FIFO,
Moving Average,Media Mobile,
Warranty Period (in days),Periodo di garanzia (in giorni),
Auto re-order,Auto riordino,
Reorder level based on Warehouse,Livello di riordino sulla base di Magazzino,
Will also apply for variants unless overrridden,Si applica anche per le varianti meno overrridden,
Units of Measure,Unità di misura,
Will also apply for variants,Si applica anche per le varianti,
Serial Nos and Batches,Numero e lotti seriali,
Has Batch No,Ha lotto n.,
Automatically Create New Batch,Crea automaticamente un nuovo batch,
Batch Number Series,Numeri in serie Lotto,
"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.","Esempio: ABCD. #####. Se la serie è impostata e il numero di lotto non è menzionato nelle transazioni, verrà creato il numero di lotto automatico in base a questa serie. Se vuoi sempre menzionare esplicitamente il numero di lotto per questo articolo, lascia vuoto. Nota: questa impostazione avrà la priorità sul Prefisso serie di denominazione nelle Impostazioni stock.",
Has Expiry Date,Ha la data di scadenza,
Retain Sample,Conservare il campione,
Max Sample Quantity,Quantità di campione massima,
Maximum sample quantity that can be retained,Quantità massima di campione che può essere conservata,
Has Serial No,Ha numero di 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.","Esempio:. ABCD. ##### Se è impostato 'serie' ma il Numero di Serie non è specificato nelle transazioni, verrà creato il numero di serie automatico in base a questa serie. Se si vuole sempre specificare il Numero di Serie per questo articolo. Lasciare vuoto.",
Variants,Varianti,
Has Variants,Ha varianti,
"If this item has variants, then it cannot be selected in sales orders etc.","Se questa voce ha varianti, allora non può essere selezionata in ordini di vendita, ecc",
Variant Based On,Variante calcolate in base a,
Item Attribute,Attributo Articolo,
"Sales, Purchase, Accounting Defaults","Vendite, acquisto, valori predefiniti di contabilità",
Item Defaults,Impostazioni predefinite dell&#39;oggetto,
"Purchase, Replenishment Details","Dettagli acquisto, rifornimento",
Is Purchase Item,È Acquisto Voce,
Default Purchase Unit of Measure,Unità di acquisto predefinita di misura,
Minimum Order Qty,Qtà ordine minimo,
Minimum quantity should be as per Stock UOM,La quantità minima deve essere come da Stock UOM,
Average time taken by the supplier to deliver,Tempo medio impiegato dal fornitore di consegnare,
Is Customer Provided Item,È l&#39;articolo fornito dal cliente,
Delivered by Supplier (Drop Ship),Consegnato dal Fornitore (Drop Ship),
Supplier Items,Articoli Fornitore,
Foreign Trade Details,Commercio Estero Dettagli,
Country of Origin,Paese d&#39;origine,
Sales Details,Dettagli di vendita,
Default Sales Unit of Measure,Unità di vendita predefinita di misura,
Is Sales Item,È Voce vendite,
Max Discount (%),Sconto Max (%),
No of Months,No di mesi,
Customer Items,Articoli clienti,
Inspection Criteria,Criteri di ispezione,
Inspection Required before Purchase,Ispezione Richiesto prima di Acquisto,
Inspection Required before Delivery,Ispezione richiesta prima della consegna,
Default BOM,Distinta Base Predefinita,
Supply Raw Materials for Purchase,Fornire Materie Prime per l'Acquisto,
If subcontracted to a vendor,Se subappaltato a un fornitore,
Customer Code,Codice Cliente,
Default Item Manufacturer,Produttore articolo predefinito,
Default Manufacturer Part No,Codice produttore predefinito,
Show in Website (Variant),Show di Sito web (Variant),
Items with higher weightage will be shown higher,Gli articoli con maggiore weightage nel periodo più alto,
Show a slideshow at the top of the page,Visualizzare una presentazione in cima alla pagina,
Website Image,Immagine del sito Web,
Website Warehouse,Magazzino sito web,
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.",Mostra &quot;Disponibile&quot; o &quot;Non disponibile&quot; sulla base di scorte disponibili in questo magazzino.,
Website Item Groups,Sito gruppi di articoli,
List this Item in multiple groups on the website.,Elenco questo articolo a più gruppi sul sito.,
Copy From Item Group,Copia da Gruppo Articoli,
Website Content,Contenuto del sito Web,
You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,È possibile utilizzare qualsiasi markup Bootstrap 4 valido in questo campo. Verrà mostrato nella tua Pagina degli articoli.,
Total Projected Qty,Totale intermedio Quantità proiettata,
Hub Publishing Details,Dettagli di pubblicazione Hub,
Publish in Hub,Pubblicare in Hub,
Publish Item to hub.erpnext.com,Pubblicare Item a hub.erpnext.com,
Hub Category to Publish,Categoria Hub per pubblicare,
Hub Warehouse,Magazzino Centrale,
"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Pubblica &quot;in magazzino&quot; o &quot;non in magazzino&quot; su Hub sulla base di magazzino disponibile in questo magazzino.,
Synced With Hub,Sincronizzati con Hub,
Item Alternative,Opzione alternativa,
Alternative Item Code,Codice articolo alternativo,
Two-way,A doppio senso,
Alternative Item Name,Nome oggetto alternativo,
Attribute Name,Nome Attributo,
Numeric Values,Valori numerici,
From Range,Da Gamma,
Increment,Incremento,
To Range,Per Intervallo,
Item Attribute Values,Valori Attributi Articolo,
Item Attribute Value,Valore Attributo Articolo,
Attribute Value,Valore Attributo,
Abbreviation,Abbreviazione,
"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""","Questo sarà aggiunto al codice articolo della variante. Ad esempio, se la sigla è ""SM"", e il codice articolo è ""T-SHIRT"", il codice articolo della variante sarà ""T-SHIRT-SM""",
Item Barcode,Barcode articolo,
Barcode Type,Tipo di codice a barre,
EAN,EAN,
UPC-A,UPC-A,
Item Customer Detail,Dettaglio articolo cliente,
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Per la comodità dei clienti, questi codici possono essere utilizzati in formati di stampa, come fatture e Documenti di Trasporto",
Ref Code,Codice Rif,
Item Default,Articolo predefinito,
Purchase Defaults,Acquista valori predefiniti,
Default Buying Cost Center,Centro di costo predefinito,
Default Supplier,Fornitore Predefinito,
Default Expense Account,Conto spese predefinito,
Sales Defaults,Impostazioni di vendita,
Default Selling Cost Center,Centro di costo di vendita di default,
Item Manufacturer,Articolo Manufacturer,
Item Price,Prezzo Articoli,
Packing Unit,Unità di imballaggio,
Quantity  that must be bought or sold per UOM,Quantità che deve essere acquistata o venduta per UOM,
Item Quality Inspection Parameter,Voce di controllo di qualità dei parametri,
Acceptance Criteria,Criterio  di accettazione,
Item Reorder,Articolo riordino,
Check in (group),Il check-in (gruppo),
Request for,Richiesta di,
Re-order Level,Livello Ri-ordino,
Re-order Qty,Quantità Ri-ordino,
Item Supplier,Articolo Fornitore,
Item Variant,Elemento Variant,
Item Variant Attribute,Prodotto Modello attributo,
Do not update variants on save,Non aggiornare le varianti al salvataggio,
Fields will be copied over only at time of creation.,I campi verranno copiati solo al momento della creazione.,
Allow Rename Attribute Value,Consenti Rinomina valore attributo,
Rename Attribute Value in Item Attribute.,Rinominare il valore dell&#39;attributo nell&#39;attributo dell&#39;oggetto.,
Copy Fields to Variant,Copia campi in variante,
Item Website Specification,Specifica da Sito Web dell'articolo,
Table for Item that will be shown in Web Site,Tavolo per l'elemento che verrà mostrato sul sito web,
Landed Cost Item,Landed Cost articolo,
Receipt Document Type,Ricevuta tipo di documento,
Receipt Document,Documento di Ricevuta,
Applicable Charges,Spese applicabili,
Purchase Receipt Item,Ricevuta di Acquisto Articolo,
Landed Cost Purchase Receipt,Landed Cost ricevuta di acquisto,
Landed Cost Taxes and Charges,Tasse Landed Cost e oneri,
Landed Cost Voucher,Landed Voucher Cost,
MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
Purchase Receipts,Ricevute di acquisto,
Purchase Receipt Items,Acquistare oggetti Receipt,
Get Items From Purchase Receipts,Ottenere elementi dal Acquisto Receipts,
Distribute Charges Based On,Distribuire oneri corrispondenti,
Landed Cost Help,Landed Cost Aiuto,
Manufacturers used in Items,Produttori utilizzati in Articoli,
Limited to 12 characters,Limitato a 12 caratteri,
MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
Set Warehouse,Imposta magazzino,
Sets 'For Warehouse' in each row of the Items table.,Imposta &quot;Per magazzino&quot; in ogni riga della tabella Articoli.,
Requested For,richiesto Per,
Partially Ordered,Ordinato parzialmente,
Transferred,trasferito,
% Ordered,% Ordinato,
Terms and Conditions Content,Termini e condizioni contenuti,
Quantity and Warehouse,Quantità e Magazzino,
Lead Time Date,Data di Consegna,
Min Order Qty,Qtà Minima Ordine,
Packed Item,Articoli imballato,
To Warehouse (Optional),Al Magazzino (opzionale),
Actual Batch Quantity,Quantità batch effettiva,
Prevdoc DocType,Prevdoc DocType,
Parent Detail docname,Dettaglio docname padre,
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Generare documenti di trasporto per i pacchetti da consegnare. Utilizzato per comunicare il numero del pacchetto, contenuto della confezione e il suo peso.",
Indicates that the package is a part of this delivery (Only Draft),Indica che il pacchetto è una parte di questa consegna (solo Bozza),
MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
From Package No.,Da Pacchetto N.,
Identification of the package for the delivery (for print),Identificazione del pacchetto per la consegna (per la stampa),
To Package No.,A Pacchetto no,
If more than one package of the same type (for print),Se più di un pacchetto dello stesso tipo (per la stampa),
Package Weight Details,Dettagli peso confezione,
The net weight of this package. (calculated automatically as sum of net weight of items),Il peso netto di questo package (calcolato automaticamente come somma dei pesi netti).,
Net Weight UOM,Peso Netto (UdM),
Gross Weight,Peso lordo,
The gross weight of the package. Usually net weight + packaging material weight. (for print),Il peso lordo del pacchetto. Di solito peso netto + peso materiale di imballaggio. (Per la stampa),
Gross Weight UOM,Peso lordo U.M.,
Packing Slip Item,Articolo in DDT,
DN Detail,Dettaglio DN,
STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
Material Transfer for Manufacture,Trasferimento materiali  per Produzione,
Qty of raw materials will be decided based on the qty of the Finished Goods Item,La quantità di materie prime verrà decisa in base alla quantità dell&#39;articolo finito,
Parent Warehouse,Magazzino padre,
Items under this warehouse will be suggested,Verranno suggeriti gli articoli in questo magazzino,
Get Item Locations,Ottieni posizioni degli oggetti,
Item Locations,Posizioni degli articoli,
Pick List Item,Seleziona elemento dell&#39;elenco,
Picked Qty,Qtà raccolta,
Price List Master,Listino Principale,
Price List Name,Prezzo di listino Nome,
Price Not UOM Dependent,Prezzo non dipendente dall&#39;UOM,
Applicable for Countries,Valido per i paesi,
Price List Country,Listino Prezzi Nazione,
MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
Supplier Delivery Note,Nota di consegna del fornitore,
Time at which materials were received,Ora in cui sono stati ricevuti i materiali,
Return Against Purchase Receipt,Ricevuta di Ritorno contro Ricevuta di Acquisto,
Rate at which supplier's currency is converted to company's base currency,Tasso al quale la valuta del fornitore viene convertita in valuta di base dell'azienda,
Sets 'Accepted Warehouse' in each row of the items table.,Imposta il &quot;Magazzino accettato&quot; in ogni riga della tabella degli articoli.,
Sets 'Rejected Warehouse' in each row of the items table.,Imposta &quot;Magazzino rifiutato&quot; in ogni riga della tabella degli articoli.,
Raw Materials Consumed,Materie prime consumate,
Get Current Stock,Richiedi disponibilità,
Consumed Items,Articoli consumati,
Add / Edit Taxes and Charges,Aggiungere / Modificare tasse e ricarichi,
Auto Repeat Detail,Dettaglio ripetizione automatica,
Transporter Details,Transporter Dettagli,
Vehicle Number,Numero di veicoli,
Vehicle Date,Data Veicolo,
Received and Accepted,Ricevuti e accettati,
Accepted Quantity,Quantità accettata,
Rejected Quantity,Rifiutato Quantità,
Accepted Qty as per Stock UOM,Qtà accettata come da Stock UOM,
Sample Quantity,Quantità del campione,
Rate and Amount,Prezzo e Importo,
MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
Report Date,Data Report,
Inspection Type,Tipo di ispezione,
Item Serial No,Articolo N. d&#39;ordine,
Sample Size,Dimensione del campione,
Inspected By,Verifica a cura di,
Readings,Letture,
Quality Inspection Reading,Lettura Controllo Qualità,
Reading 1,Lettura 1,
Reading 2,Lettura 2,
Reading 3,Lettura 3,
Reading 4,Lettura 4,
Reading 5,Lettura 5,
Reading 6,Lettura 6,
Reading 7,Lettura 7,
Reading 8,Lettura 8,
Reading 9,Lettura 9,
Reading 10,Lettura 10,
Quality Inspection Template Name,Nome del modello di ispezione di qualità,
Quick Stock Balance,Bilancio rapido delle scorte,
Available Quantity,quantità disponibile,
Distinct unit of an Item,Un'unità distinta di un elemento,
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Magazzino può essere modificato solo tramite Inserimento Giacenza / Bolla (DDT) / Ricevuta d'acquisto,
Purchase / Manufacture Details,Acquisto / Produzione Dettagli,
Creation Document Type,Creazione tipo di documento,
Creation Document No,Creazione di documenti No,
Creation Date,Data di Creazione,
Creation Time,Tempo di creazione,
Asset Details,Dettagli delle risorse,
Asset Status,Stato delle risorse,
Delivery Document Type,Tipo Documento Consegna,
Delivery Document No,Documento Consegna N.,
Delivery Time,Tempo Consegna,
Invoice Details,Dettagli della fattura,
Warranty / AMC Details,Garanzia / AMC Dettagli,
Warranty Expiry Date,Data di scadenza Garanzia,
AMC Expiry Date,Data Scadenza AMC,
Under Warranty,In Garanzia,
Out of Warranty,Fuori Garanzia,
Under AMC,Sotto AMC,
Out of AMC,Fuori di AMC,
Warranty Period (Days),Periodo di garanzia (Giorni),
Serial No Details,Serial No Dettagli,
MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
Stock Entry Type,Tipo di voce di scorta,
Stock Entry (Outward GIT),Immissione di magazzino (GIT esterno),
Material Consumption for Manufacture,Consumo di materiale per la fabbricazione,
Repack,Repack,
Send to Subcontractor,Invia a subappaltatore,
Delivery Note No,Documento di Trasporto N.,
Sales Invoice No,Fattura di Vendita n.,
Purchase Receipt No,Ricevuta di Acquisto N.,
Inspection Required,Ispezione Obbligatorio,
From BOM,Da Distinta Base,
For Quantity,Per Quantità,
As per Stock UOM,Come per scorte UOM,
Including items for sub assemblies,Compresi articoli per sub assemblaggi,
Default Source Warehouse,Magazzino di provenienza predefinito,
Source Warehouse Address,Indirizzo del magazzino di origine,
Default Target Warehouse,Magazzino di Destinazione Predefinito,
Target Warehouse Address,Indirizzo del magazzino di destinazione,
Update Rate and Availability,Frequenza di aggiornamento e disponibilità,
Total Incoming Value,Totale Valore Incoming,
Total Outgoing Value,Totale Valore uscita,
Total Value Difference (Out - In),Totale Valore Differenza (Out - In),
Additional Costs,Costi aggiuntivi,
Total Additional Costs,Totale Costi aggiuntivi,
Customer or Supplier Details,Dettagli Cliente o Fornitore,
Per Transferred,Per trasferito,
Stock Entry Detail,Dettaglio del Movimento di Magazzino,
Basic Rate (as per Stock UOM),Valore base (come da UOM),
Basic Amount,Importo di base,
Additional Cost,Costo aggiuntivo,
Serial No / Batch,Serial n / Batch,
BOM No. for a Finished Good Item,N. BOM per quantità buona completata,
Material Request used to make this Stock Entry,Richiesta di materiale usata per l'entrata giacenza,
Subcontracted Item,Articolo subappaltato,
Against Stock Entry,Contro l&#39;entrata di riserva,
Stock Entry Child,Stock di entrata figlio,
PO Supplied Item,Articolo fornito PO,
Reference Purchase Receipt,Ricevuta di acquisto di riferimento,
Stock Ledger Entry,Voce Inventario,
Outgoing Rate,Tasso di uscita,
Actual Qty After Transaction,Q.tà reale post-transazione,
Stock Value Difference,Differenza Valore Giacenza,
Stock Queue (FIFO),Code Giacenze (FIFO),
Is Cancelled,È Annullato,
Stock Reconciliation,Riconciliazione Giacenza,
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.,Questo strumento consente di aggiornare o correggere la quantità e valutare il magazzino nel sistema. Viene tipicamente utilizzato per sincronizzare i valori di sistema e ciò che esiste realmente nei vostri magazzini.,
MAT-RECO-.YYYY.-,MAT-Reco-.YYYY.-,
Reconciliation JSON,Riconciliazione JSON,
Stock Reconciliation Item,Voce Riconciliazione Giacenza,
Before reconciliation,Prima di riconciliare,
Current Serial No,Numero di serie attuale,
Current Valuation Rate,Corrente Tasso di Valorizzazione,
Current Amount,Importo attuale,
Quantity Difference,Quantità Differenza,
Amount Difference,Differenza importo,
Item Naming By,Creare il Nome Articolo da,
Default Item Group,Gruppo Articoli Predefinito,
Default Stock UOM,UdM predefinita per Giacenza,
Sample Retention Warehouse,Magazzino di conservazione dei campioni,
Default Valuation Method,Metodo di valorizzazione predefinito,
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.,Percentuale si è permesso di ricevere o consegnare di più contro la quantità ordinata. Per esempio: Se avete ordinato 100 unità. e il vostro assegno è 10% poi si è permesso di ricevere 110 unità.,
Action if Quality inspection is not submitted,Azione in caso di mancata presentazione del controllo di qualità,
Show Barcode Field,Mostra campo del codice a barre,
Convert Item Description to Clean HTML,Converti la descrizione dell&#39;oggetto in Pulisci HTML,
Auto insert Price List rate if missing,Inserimento automatico tasso Listino se mancante,
Allow Negative Stock,Permetti Scorte Negative,
Automatically Set Serial Nos based on FIFO,Imposta automaticamente seriale Nos sulla base FIFO,
Set Qty in Transactions based on Serial No Input,Imposta Qtà in Transazioni basate su Nessun input seriale,
Auto Material Request,Richiesta Automatica Materiale,
Raise Material Request when stock reaches re-order level,Crea un Richiesta Materiale quando la scorta raggiunge il livello di riordino,
Notify by Email on creation of automatic Material Request,Notifica tramite e-mail sulla creazione di Richiesta automatica Materiale,
Inter Warehouse Transfer Settings,Impostazioni trasferimento tra magazzino,
Allow Material Transfer From Delivery Note and Sales Invoice,Consenti trasferimento materiale dalla bolla di consegna e dalla fattura di vendita,
Allow Material Transfer From Purchase Receipt and Purchase Invoice,Consenti trasferimento materiale dalla ricevuta di acquisto e dalla fattura di acquisto,
Freeze Stock Entries,Congela scorta voci,
Stock Frozen Upto,Giacenza Bloccate Fino,
Freeze Stocks Older Than [Days],Congelare Stocks Older Than [ giorni],
Role Allowed to edit frozen stock,Ruolo ammessi da modificare stock congelato,
Batch Identification,Identificazione lotti,
Use Naming Series,Utilizzare le serie di denominazione,
Naming Series Prefix,Prefisso serie di denominazione,
UOM Category,Categoria UOM,
UOM Conversion Detail,Dettaglio di conversione Unità di Misura,
Variant Field,Campo di variante,
A logical Warehouse against which stock entries are made.,Magazzino logico utilizzato per l'entrata giacenza.,
Warehouse Detail,Dettagli Magazzino,
Warehouse Name,Nome Magazzino,
Warehouse Contact Info,Contatti Magazzino,
PIN,PIN,
ISS-.YYYY.-,ISS-.YYYY.-,
Raised By (Email),Sollevata da (e-mail),
Issue Type,Tipo di Problema,
Issue Split From,Emissione divisa da,
Service Level,Livello di servizio,
Response By,Risposta di,
Response By Variance,Risposta per varianza,
Ongoing,in corso,
Resolution By,Risoluzione del,
Resolution By Variance,Risoluzione per varianza,
Service Level Agreement Creation,Creazione dell&#39;accordo sul livello di servizio,
First Responded On,Ha risposto prima su,
Resolution Details,Dettagli risoluzione,
Opening Date,Data di apertura,
Opening Time,Tempo di apertura,
Resolution Date,Risoluzione Data,
Via Customer Portal,Tramite il Portale del cliente,
Support Team,Support Team,
Issue Priority,Priorità al problema,
Service Day,Giorno di servizio,
Workday,Giornata di lavoro,
Default Priority,Priorità predefinita,
Priorities,priorità,
Support Hours,Ore di supporto,
Support and Resolution,Supporto e risoluzione,
Default Service Level Agreement,Accordo sul livello di servizio predefinito,
Entity,Entità,
Agreement Details,Dettagli dell&#39;accordo,
Response and Resolution Time,Tempo di risposta e risoluzione,
Service Level Priority,Priorità del livello di servizio,
Resolution Time,Tempo di risoluzione,
Support Search Source,Supporta la fonte di ricerca,
Source Type,Tipo di fonte,
Query Route String,Query Route String,
Search Term Param Name,Nome del parametro del termine di ricerca,
Response Options,Opzioni di risposta,
Response Result Key Path,Percorso chiave risultato risposta,
Post Route String,Post Route String,
Post Route Key List,Elenco delle chiavi del percorso postale,
Post Title Key,Inserisci la chiave del titolo,
Post Description Key,Posta Descrizione Chiave,
Link Options,Opzioni di collegamento,
Source DocType,Fonte DocType,
Result Title Field,Campo del titolo del risultato,
Result Preview Field,Risultato Anteprima campo,
Result Route Field,Risultato Percorso percorso,
Service Level Agreements,Accordi sul livello di servizio,
Track Service Level Agreement,Traccia l&#39;accordo sul livello di servizio,
Allow Resetting Service Level Agreement,Consenti il ripristino del contratto sul livello di servizio,
Close Issue After Days,Chiudi Problema dopo giorni,
Auto close Issue after 7 days,Chiudi il Problema automaticamente dopo 7 giorni,
Support Portal,Portale di supporto,
Get Started Sections,Inizia sezioni,
Show Latest Forum Posts,Mostra gli ultimi post del forum,
Forum Posts,Messaggi del forum,
Forum URL,URL del forum,
Get Latest Query,Ottieni l&#39;ultima query,
Response Key List,Elenco chiavi di risposta,
Post Route Key,Post Route Key,
Search APIs,Cerca API,
SER-WRN-.YYYY.-,SER-WRN-.YYYY.-,
Issue Date,Data di Emissione,
Item and Warranty Details,Voce e garanzia Dettagli,
Warranty / AMC Status,Garanzia / AMC Stato,
Resolved By,Deliberato dall&#39;Assemblea,
Service Address,Service Indirizzo,
If different than customer address,Se diverso da indirizzo del cliente,
Raised By,Sollevata dal,
From Company,Da Azienda,
Rename Tool,Strumento Rinomina,
Utilities,Utilità,
Type of document to rename.,Tipo di documento da rinominare.,
File to Rename,File da rinominare,
"Attach .csv file with two columns, one for the old name and one for the new name","Allega file .csv con due colonne, una per il vecchio nome e uno per il nuovo nome",
Rename Log,Rinominare Entra,
SMS Log,SMS Log,
Sender Name,Nome mittente,
Sent On,Inviata il,
No of Requested SMS,Num. di SMS richiesto,
Requested Numbers,Numeri richiesti,
No of Sent SMS,Num. di SMS Inviati,
Sent To,Inviato A,
Absent Student Report,Report Assenze Studente,
Assessment Plan Status,Stato del piano di valutazione,
Asset Depreciation Ledger,Libro Mastro Ammortamento Asset,
Asset Depreciations and Balances,Asset Ammortamenti e saldi,
Available Stock for Packing Items,Stock Disponibile per Imballaggio Prodotti,
Bank Clearance Summary,Sintesi Liquidazione Banca,
Bank Remittance,Rimessa bancaria,
Batch Item Expiry Status,Stato scadenza Articolo Lotto,
Batch-Wise Balance History,Cronologia Saldo Lotti-Wise,
BOM Explorer,BOM Explorer,
BOM Search,Ricerca Distinta Base,
BOM Stock Calculated,BOM stock calcolato,
BOM Variance Report,Rapporto sulla varianza delle distinte base,
Campaign Efficiency,Efficienza della campagna,
Cash Flow,Flusso di cassa,
Completed Work Orders,Ordini di lavoro completati,
To Produce,per produrre,
Produced,prodotto,
Consolidated Financial Statement,Bilancio consolidato,
Course wise Assessment Report,Rapporto di valutazione saggio,
Customer Acquisition and Loyalty,Acquisizione e fidelizzazione dei clienti,
Customer Credit Balance,Balance Credit clienti,
Customer Ledger Summary,Riepilogo libro mastro cliente,
Customer-wise Item Price,Prezzo dell&#39;articolo dal punto di vista del cliente,
Customers Without Any Sales Transactions,Clienti senza alcuna transazione di vendita,
Daily Timesheet Summary,Riepilogo timesheet giornaliero,
Daily Work Summary Replies,Risposte Riepilogo Giornata Lavorativa,
DATEV,DATEV,
Delayed Item Report,Rapporto articolo ritardato,
Delayed Order Report,Rapporto ordini ritardati,
Delivered Items To Be Billed,Gli Articoli consegnati da Fatturare,
Delivery Note Trends,Tendenze Documenti di Trasporto,
Electronic Invoice Register,Registro delle fatture elettroniche,
Employee Advance Summary,Riassunto anticipo dipendenti,
Employee Billing Summary,Riepilogo fatturazione dipendenti,
Employee Birthday,Compleanno Dipendente,
Employee Information,Informazioni Dipendente,
Employee Leave Balance,Saldo del Congedo Dipendete,
Employee Leave Balance Summary,Riepilogo saldo congedo dipendente,
Employees working on a holiday,I dipendenti che lavorano in un giorno festivo,
Eway Bill,Eway Bill,
Expiring Memberships,Soci in scadenza,
Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptables [FEC],
Final Assessment Grades,Gradi di valutazione finale,
Fixed Asset Register,Registro delle attività fisse,
Gross and Net Profit Report,Rapporto sugli utili lordi e netti,
GST Itemised Purchase Register,Registro Acquisti Itemized GST,
GST Itemised Sales Register,GST Registro delle vendite specificato,
GST Purchase Register,Registro degli acquisti GST,
GST Sales Register,Registro delle vendite GST,
GSTR-1,GSTR-1,
GSTR-2,GSTR-2,
Hotel Room Occupancy,Camera d&#39;albergo Occupazione,
HSN-wise-summary of outward supplies,Riassunto saggio di HSN delle forniture in uscita,
Inactive Customers,Clienti inattivi,
Inactive Sales Items,Articoli di vendita inattivi,
IRS 1099,IRS 1099,
Issued Items Against Work Order,Articoli emessi contro l&#39;ordine di lavoro,
Projected Quantity as Source,Proiezione Quantità come sorgente,
Item Balance (Simple),Saldo oggetto (semplice),
Item Price Stock,Articolo Prezzo Stock,
Item Prices,Prezzi Articolo,
Item Shortage Report,Report Carenza Articolo,
Item Variant Details,Dettagli della variante dell&#39;articolo,
Item-wise Price List Rate,Articolo -saggio Listino Tasso,
Item-wise Purchase History,Cronologia acquisti per articolo,
Item-wise Purchase Register,Articolo-saggio Acquisto Registrati,
Item-wise Sales History,Articolo-saggio Storia Vendite,
Item-wise Sales Register,Vendite articolo-saggio Registrati,
Items To Be Requested,Articoli da richiedere,
Reserved,riservato,
Itemwise Recommended Reorder Level,Itemwise consigliata riordino Livello,
Lead Details,Dettagli Lead,
Lead Owner Efficiency,Efficienza del proprietario del cavo,
Loan Repayment and Closure,Rimborso e chiusura del prestito,
Loan Security Status,Stato di sicurezza del prestito,
Lost Opportunity,Opportunità persa,
Maintenance Schedules,Programmi di manutenzione,
Material Requests for which Supplier Quotations are not created,Richieste di materiale per le quali non sono state create Quotazioni dal Fornitore,
Monthly Attendance Sheet,Foglio Presenze Mensile,
Open Work Orders,Apri ordini di lavoro,
Qty to Deliver,Qtà di Consegna,
Patient Appointment Analytics,Analisi degli appuntamenti del paziente,
Payment Period Based On Invoice Date,Periodo di pagamento basati su Data fattura,
Pending SO Items For Purchase Request,Elementi in sospeso così per Richiesta di Acquisto,
Procurement Tracker,Tracker acquisti,
Product Bundle Balance,Saldo del pacchetto di prodotti,
Production Analytics,Analytics di produzione,
Profit and Loss Statement,Conto Economico,
Profitability Analysis,Analisi redditività,
Project Billing Summary,Riepilogo fatturazione progetto,
Project wise Stock Tracking,Monitoraggio delle scorte del progetto,
Project wise Stock Tracking ,Progetto saggio Archivio monitoraggio,
Prospects Engaged But Not Converted,Prospettive impegnate ma non convertite,
Purchase Analytics,Analisi dei dati di acquista,
Purchase Invoice Trends,Andamento Fatture di Acquisto,
Qty to Receive,Qtà da Ricevere,
Received Qty Amount,Importo quantità ricevuta,
Billed Qty,Qtà fatturata,
Purchase Order Trends,Acquisto Tendenze Ordine,
Purchase Receipt Trends,Acquisto Tendenze Receipt,
Purchase Register,Registro Acquisti,
Quotation Trends,Tendenze di preventivo,
Quoted Item Comparison,Articolo Citato Confronto,
Received Items To Be Billed,Oggetti ricevuti da fatturare,
Qty to Order,Qtà da Ordinare,
Requested Items To Be Transferred,Voci si chiede il trasferimento,
Qty to Transfer,Qtà da Trasferire,
Salary Register,stipendio Register,
Sales Analytics,Analisi dei dati di vendita,
Sales Invoice Trends,Andamento Fatture di vendita,
Sales Order Trends,Tendenze Sales Order,
Sales Partner Commission Summary,Riepilogo Commissione partner commerciali,
Sales Partner Target Variance based on Item Group,Scostamento target partner commerciale in base al gruppo di articoli,
Sales Partner Transaction Summary,Riepilogo delle transazioni dei partner di vendita,
Sales Partners Commission,Vendite Partners Commissione,
Invoiced Amount (Exclusive Tax),Importo fatturato (IVA esclusa),
Average Commission Rate,Tasso medio di commissione,
Sales Payment Summary,Riepilogo dei pagamenti di vendita,
Sales Person Commission Summary,Riassunto della Commissione per le vendite,
Sales Person Target Variance Based On Item Group,Rappresentante Target Variance in base al gruppo di articoli,
Sales Person-wise Transaction Summary,Sales Person-saggio Sintesi dell&#39;Operazione,
Sales Register,Registro Vendite,
Serial No Service Contract Expiry,Serial No Contratto di Servizio di scadenza,
Serial No Status,Serial No Stato,
Serial No Warranty Expiry,Serial No Garanzia di scadenza,
Stock Ageing,Invecchiamento Archivio,
Stock and Account Value Comparison,Confronto tra valore azionario e conto,
Stock Projected Qty,Qtà Prevista Giacenza,
Student and Guardian Contact Details,Student and Guardian Contatti,
Student Batch-Wise Attendance,Student Batch-Wise presenze,
Student Fee Collection,Student Fee Collection,
Student Monthly Attendance Sheet,Presenze mensile Scheda,
Subcontracted Item To Be Received,Articolo in conto lavoro da ricevere,
Subcontracted Raw Materials To Be Transferred,Materie prime subappaltate da trasferire,
Supplier Ledger Summary,Riepilogo contabilità fornitori,
Supplier-Wise Sales Analytics,Estensione statistiche di Vendita Fornitore,
Support Hour Distribution,Distribuzione dell&#39;orario di assistenza,
TDS Computation Summary,Riepilogo dei calcoli TDS,
TDS Payable Monthly,TDS mensile pagabile,
Territory Target Variance Based On Item Group,Varianza target del territorio in base al gruppo di articoli,
Territory-wise Sales,Vendite sul territorio,
Total Stock Summary,Sommario totale delle azioni,
Trial Balance,Bilancio di verifica,
Trial Balance (Simple),Bilancio di verifica (semplice),
Trial Balance for Party,Bilancio di verifica per Partner,
Unpaid Expense Claim,Richiesta di spesa non retribuita,
Warehouse wise Item Balance Age and Value,Magazzino saggio Saldo Età e valore,
Work Order Stock Report,Rapporto di stock ordine di lavoro,
Work Orders in Progress,Ordini di lavoro in corso,
Validation Error,errore di convalida,
Automatically Process Deferred Accounting Entry,Elaborazione automatica registrazione contabile differita,
Bank Clearance,Liquidazione bancaria,
Bank Clearance Detail,Dettaglio liquidazione bancaria,
Update Cost Center Name / Number,Aggiorna nome / numero centro di costo,
Journal Entry Template,Modello registrazione prima nota,
Template Title,Titolo del modello,
Journal Entry Type,Tipo di registrazione prima nota,
Journal Entry Template Account,Conto modello registrazione prima nota,
Process Deferred Accounting,Elaborazione contabilità differita,
Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Impossibile creare l&#39;immissione manuale! Disabilitare l&#39;inserimento automatico per la contabilità differita nelle impostazioni dei conti e riprovare,
End date cannot be before start date,La data di fine non può essere precedente alla data di inizio,
Total Counts Targeted,Conteggi totali mirati,
Total Counts Completed,Conteggi totali completati,
Counts Targeted: {0},Conteggi targetizzati: {0},
Payment Account is mandatory,Il conto di pagamento è obbligatorio,
"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","Se selezionato, l&#39;intero importo verrà detratto dal reddito imponibile prima del calcolo dell&#39;imposta sul reddito senza alcuna dichiarazione o presentazione di prove.",
Disbursement Details,Dettagli sull&#39;erogazione,
Material Request Warehouse,Magazzino richiesta materiale,
Select warehouse for material requests,Seleziona il magazzino per le richieste di materiale,
Transfer Materials For Warehouse {0},Trasferisci materiali per magazzino {0},
Production Plan Material Request Warehouse,Magazzino richiesta materiale piano di produzione,
Set From Warehouse,Impostato dal magazzino,
Source Warehouse (Material Transfer),Magazzino di origine (trasferimento di materiale),
Sets 'Source Warehouse' in each row of the items table.,Imposta &quot;Magazzino di origine&quot; in ogni riga della tabella degli articoli.,
Sets 'Target Warehouse' in each row of the items table.,Imposta &quot;Magazzino di destinazione&quot; in ogni riga della tabella degli articoli.,
Show Cancelled Entries,Mostra voci annullate,
Backdated Stock Entry,Voce di stock retrodatata,
Row #{}: Currency of {} - {} doesn't matches company currency.,Riga # {}: la valuta di {} - {} non corrisponde alla valuta dell&#39;azienda.,
{} Assets created for {},{} Risorse create per {},
{0} Number {1} is already used in {2} {3},{0} Il numero {1} è già utilizzato in {2} {3},
Update Bank Clearance Dates,Aggiorna le date di liquidazione bancaria,
Healthcare Practitioner: ,Operatore sanitario:,
Lab Test Conducted: ,Test di laboratorio condotto:,
Lab Test Event: ,Evento di test di laboratorio:,
Lab Test Result: ,Risultato del test di laboratorio:,
Clinical Procedure conducted: ,Procedura clinica condotta:,
Therapy Session Charges: {0},Costi della sessione di terapia: {0},
Therapy: ,Terapia:,
Therapy Plan: ,Piano terapeutico:,
Total Counts Targeted: ,Conteggi totali mirati:,
Total Counts Completed: ,Conteggi totali completati:,
Andaman and Nicobar Islands,Isole Andamane e Nicobare,
Andhra Pradesh,Andhra Pradesh,
Arunachal Pradesh,Arunachal Pradesh,
Assam,Assam,
Bihar,Bihar,
Chandigarh,Chandigarh,
Chhattisgarh,Chhattisgarh,
Dadra and Nagar Haveli,Dadra e Nagar Haveli,
Daman and Diu,Daman e Diu,
Delhi,Delhi,
Goa,Goa,
Gujarat,Gujarat,
Haryana,Haryana,
Himachal Pradesh,Himachal Pradesh,
Jammu and Kashmir,Jammu e Kashmir,
Jharkhand,Jharkhand,
Karnataka,Karnataka,
Kerala,Kerala,
Lakshadweep Islands,Isole Lakshadweep,
Madhya Pradesh,Madhya Pradesh,
Maharashtra,Maharashtra,
Manipur,Manipur,
Meghalaya,Meghalaya,
Mizoram,Mizoram,
Nagaland,Nagaland,
Odisha,Odisha,
Other Territory,Altro territorio,
Pondicherry,Pondicherry,
Punjab,Punjab,
Rajasthan,Rajasthan,
Sikkim,Sikkim,
Tamil Nadu,Tamil Nadu,
Telangana,Telangana,
Tripura,Tripura,
Uttar Pradesh,Uttar Pradesh,
Uttarakhand,Uttarakhand,
West Bengal,Bengala occidentale,
Is Mandatory,È obbligatorio,
Published on,pubblicato su,
Service Received But Not Billed,Servizio ricevuto ma non fatturato,
Deferred Accounting Settings,Impostazioni di contabilità differita,
Book Deferred Entries Based On,Registra voci differite basate su,
"If ""Months"" is selected then fixed amount will be booked as deferred revenue or expense for each month irrespective of number of days in a month. Will be prorated if deferred revenue or expense is not booked for an entire month.","Se si seleziona &quot;Mesi&quot;, l&#39;importo fisso verrà registrato come entrate o spese differite per ogni mese indipendentemente dal numero di giorni in un mese. Sarà ripartito proporzionalmente se le entrate o le spese differite non vengono registrate per un intero mese.",
Days,Giorni,
Months,Mesi,
Book Deferred Entries Via Journal Entry,Registrare registrazioni differite tramite registrazione prima nota,
If this is unchecked direct GL Entries will be created to book Deferred Revenue/Expense,"Se questa opzione è deselezionata, verranno create voci GL dirette per la registrazione di entrate / uscite differite",
Submit Journal Entries,Invia voci di diario,
If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Se questa opzione è deselezionata, le registrazioni a giornale verranno salvate in stato Bozza e dovranno essere inviate manualmente",
Enable Distributed Cost Center,Abilita centro di costo distribuito,
Distributed Cost Center,Centro di costo distribuito,
Dunning,Dunning,
DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
Overdue Days,Giorni di ritardo,
Dunning Type,Tipo sollecito,
Dunning Fee,Commissione di sollecito,
Dunning Amount,Importo sollecito,
Resolved,Risolto,
Unresolved,Irrisolto,
Printing Setting,Impostazioni di stampa,
Body Text,Corpo del testo,
Closing Text,Testo di chiusura,
Resolve,Risolvere,
Dunning Letter Text,Testo della lettera sollecito,
Is Default Language,È la lingua predefinita,
Letter or Email Body Text,Testo del corpo della lettera o dell&#39;email,
Letter or Email Closing Text,Lettera o e-mail di chiusura del testo,
Body and Closing Text Help,Corpo e testo di chiusura della guida,
Overdue Interval,Intervallo scaduto,
Dunning Letter,Lettera di sollecito,
"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.","Questa sezione consente all&#39;utente di impostare il corpo e il testo di chiusura della lettera di sollecito per il tipo di sollecito in base alla lingua, che può essere utilizzata in stampa.",
Reference Detail No,Riferimento dettaglio n,
Custom Remarks,Note personalizzate,
Please select a Company first.,Seleziona prima una società.,
"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Riga n. {0}: il tipo di documento di riferimento deve essere uno tra Ordine di vendita, Fattura di vendita, Registrazione prima nota o Dunning",
POS Closing Entry,Entrata chiusura POS,
POS Opening Entry,Ingresso apertura POS,
POS Transactions,Transazioni POS,
POS Closing Entry Detail,Dettaglio ingresso chiusura POS,
Opening Amount,Importo di apertura,
Closing Amount,Importo di chiusura,
POS Closing Entry Taxes,Tasse di ingresso di chiusura POS,
POS Invoice,Fattura POS,
ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
Consolidated Sales Invoice,Fattura di vendita consolidata,
Return Against POS Invoice,Reso contro fattura POS,
Consolidated,Consolidato,
POS Invoice Item,Articolo fattura POS,
POS Invoice Merge Log,Registro unione fatture POS,
POS Invoices,Fatture POS,
Consolidated Credit Note,Nota di credito consolidata,
POS Invoice Reference,Riferimento fattura POS,
Set Posting Date,Imposta data di registrazione,
Opening Balance Details,Dettagli del saldo di apertura,
POS Opening Entry Detail,Dettaglio ingresso apertura POS,
POS Payment Method,Metodo di pagamento POS,
Payment Methods,Modalità di pagamento,
Process Statement Of Accounts,Elaborazione dell&#39;estratto conto,
General Ledger Filters,Filtri di contabilità generale,
Customers,I clienti,
Select Customers By,Seleziona Clienti per,
Fetch Customers,Recupera clienti,
Send To Primary Contact,Invia al contatto principale,
Print Preferences,Preferenze di stampa,
Include Ageing Summary,Includi riepilogo sull&#39;età,
Enable Auto Email,Abilita e-mail automatica,
Filter Duration (Months),Durata del filtro (mesi),
CC To,CC To,
Help Text,Testo guida,
Emails Queued,Email in coda,
Process Statement Of Accounts Customer,Elaborazione estratto conto cliente,
Billing Email,Email di fatturazione,
Primary Contact Email,Email di contatto principale,
PSOA Cost Center,Centro di costo PSOA,
PSOA Project,Progetto PSOA,
ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
Supplier GSTIN,Fornitore GSTIN,
Place of Supply,Luogo di fornitura,
Select Billing Address,Seleziona indirizzo di fatturazione,
GST Details,Dettagli GST,
GST Category,Categoria GST,
Registered Regular,Registrato regolare,
Registered Composition,Composizione registrata,
Unregistered,Non registrato,
SEZ,SEZ,
Overseas,Oltremare,
UIN Holders,Titolari UIN,
With Payment of Tax,Con il pagamento delle tasse,
Without Payment of Tax,Senza pagamento di tasse,
Invoice Copy,Copia fattura,
Original for Recipient,Originale per destinatario,
Duplicate for Transporter,Duplica per Transporter,
Duplicate for Supplier,Duplica per fornitore,
Triplicate for Supplier,Triplicare per fornitore,
Reverse Charge,Carica inversa,
Y,Y,
N,N,
E-commerce GSTIN,GSTIN e-commerce,
Reason For Issuing document,Motivo per l&#39;emissione del documento,
01-Sales Return,01-Reso di vendita,
02-Post Sale Discount,Sconto post vendita 02,
03-Deficiency in services,03-Carenza di servizi,
04-Correction in Invoice,04-Correzione in fattura,
05-Change in POS,05-Modifica in POS,
06-Finalization of Provisional assessment,06-Finalizzazione della valutazione provvisoria,
07-Others,07-Altri,
Eligibility For ITC,Idoneità per ITC,
Input Service Distributor,Distributore di servizi di input,
Import Of Service,Import Of Service,
Import Of Capital Goods,Importazione di beni capitali,
Ineligible,Non idoneo,
All Other ITC,Tutti gli altri ITC,
Availed ITC Integrated Tax,Tassa integrata ITC usufruita,
Availed ITC Central Tax,Tassa centrale ITC utilizzata,
Availed ITC State/UT Tax,Tasse ITC / UT disponibili,
Availed ITC Cess,Avvalutato ITC Cess,
Is Nil Rated or Exempted,Non è valutato o esentato,
Is Non GST,Non è GST,
ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
E-Way Bill No.,E-Way Bill No.,
Is Consolidated,È consolidato,
Billing Address GSTIN,Indirizzo di fatturazione GSTIN,
Customer GSTIN,GSTIN cliente,
GST Transporter ID,ID trasportatore GST,
Distance (in km),Distanza (in km),
Road,Strada,
Air,Aria,
Rail,Rotaia,
Ship,Nave,
GST Vehicle Type,Tipo di veicolo GST,
Over Dimensional Cargo (ODC),Over Dimensional Cargo (ODC),
Consumer,Consumatore,
Deemed Export,Presunta esportazione,
Port Code,Codice del porto,
 Shipping Bill Number,Numero fattura di spedizione,
Shipping Bill Date,Data fattura di spedizione,
Subscription End Date,Data di fine dell&#39;abbonamento,
Follow Calendar Months,Segui i mesi del calendario,
If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Se questa opzione è selezionata, le nuove fatture successive verranno create nel mese di calendario e nelle date di inizio del trimestre indipendentemente dalla data di inizio della fattura corrente",
Generate New Invoices Past Due Date,Genera nuove fatture oltre la data di scadenza,
New invoices will be generated as per schedule even if current invoices are unpaid or past due date,Le nuove fatture verranno generate come da programma anche se le fatture correnti non sono state pagate o sono scadute,
Document Type ,tipo di documento,
Subscription Price Based On,Prezzo di abbonamento basato su,
Fixed Rate,Tasso fisso,
Based On Price List,Basato sul listino prezzi,
Monthly Rate,Quota mensile,
Cancel Subscription After Grace Period,Annulla abbonamento dopo il periodo di grazia,
Source State,Stato di origine,
Is Inter State,È Inter State,
Purchase Details,Dettagli d&#39;acquisto,
Depreciation Posting Date,Data di registrazione dell&#39;ammortamento,
Purchase Order Required for Purchase Invoice & Receipt Creation,Ordine di acquisto richiesto per la creazione della fattura di acquisto e della ricevuta,
Purchase Receipt Required for Purchase Invoice Creation,Ricevuta di acquisto richiesta per la creazione della fattura di acquisto,
"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","Per impostazione predefinita, il nome del fornitore è impostato in base al nome del fornitore immesso. Se desideri che i fornitori siano nominati da un",
 choose the 'Naming Series' option.,scegli l&#39;opzione &quot;Serie di nomi&quot;.,
Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Configurare il listino prezzi predefinito quando si crea una nuova transazione di acquisto. I prezzi degli articoli verranno recuperati da questo listino prezzi.,
"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.","Se questa opzione è configurata &quot;Sì&quot;, ERPNext ti impedirà di creare una fattura o una ricevuta di acquisto senza creare prima un ordine di acquisto. Questa configurazione può essere sovrascritta per un particolare fornitore abilitando la casella di controllo &quot;Consenti creazione fattura di acquisto senza ordine di acquisto&quot; nell&#39;anagrafica fornitore.",
"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.","Se questa opzione è configurata &quot;Sì&quot;, ERPNext ti impedirà di creare una fattura di acquisto senza prima creare una ricevuta di acquisto. Questa configurazione può essere sovrascritta per un particolare fornitore abilitando la casella di spunta &quot;Consenti creazione fattura di acquisto senza ricevuta di acquisto&quot; nell&#39;anagrafica fornitore.",
Quantity & Stock,Quantità e scorte,
Call Details,Dettagli chiamata,
Authorised By,Autorizzato da,
Signee (Company),Firmatario (Azienda),
Signed By (Company),Firmato da (azienda),
First Response Time,Primo tempo di risposta,
Request For Quotation,Richiesta di offerta,
Opportunity Lost Reason Detail,Dettaglio motivo di perdita opportunità,
Access Token Secret,Segreto token di accesso,
Add to Topics,Aggiungi agli argomenti,
...Adding Article to Topics,... Aggiunta di articoli agli argomenti,
Add Article to Topics,Aggiungi articolo agli argomenti,
This article is already added to the existing topics,Questo articolo è già stato aggiunto agli argomenti esistenti,
Add to Programs,Aggiungi ai programmi,
Programs,Programmi,
...Adding Course to Programs,... Aggiunta del corso ai programmi,
Add Course to Programs,Aggiungi corso ai programmi,
This course is already added to the existing programs,Questo corso è già aggiunto ai programmi esistenti,
Learning Management System Settings,Impostazioni del sistema di gestione dell&#39;apprendimento,
Enable Learning Management System,Abilita il sistema di gestione dell&#39;apprendimento,
Learning Management System Title,Titolo del sistema di gestione dell&#39;apprendimento,
...Adding Quiz to Topics,... Aggiunta di quiz agli argomenti,
Add Quiz to Topics,Aggiungi quiz agli argomenti,
This quiz is already added to the existing topics,Questo quiz è già aggiunto agli argomenti esistenti,
Enable Admission Application,Abilita domanda di ammissione,
EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
Marking attendance,Marcatura delle presenze,
Add Guardians to Email Group,Aggiungi tutori al gruppo di posta elettronica,
Attendance Based On,Presenza basata su,
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,Selezionare questa casella per contrassegnare lo studente come presente nel caso in cui lo studente non stia frequentando l&#39;istituto per partecipare o rappresentare l&#39;istituto in ogni caso.,
Add to Courses,Aggiungi ai corsi,
...Adding Topic to Courses,... Aggiunta di argomenti ai corsi,
Add Topic to Courses,Aggiungi argomento ai corsi,
This topic is already added to the existing courses,Questo argomento è già stato aggiunto ai corsi esistenti,
"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","Se Shopify non ha un cliente nell&#39;ordine, durante la sincronizzazione degli ordini, il sistema considererà il cliente predefinito per l&#39;ordine",
The accounts are set by the system automatically but do confirm these defaults,Gli account vengono impostati automaticamente dal sistema ma confermano questi valori predefiniti,
Default Round Off Account,Conto arrotondato predefinito,
Failed Import Log,Registro di importazione non riuscito,
Fixed Error Log,Registro errori corretto,
Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,L&#39;azienda {0} esiste già. Continuando si sovrascriverà la Società e il piano dei conti,
Meta Data,Meta Data,
Unresolve,Irrisolto,
Create Document,Crea documento,
Mark as unresolved,Contrassegna come irrisolto,
TaxJar Settings,Impostazioni TaxJar,
Sandbox Mode,Modalità Sandbox,
Enable Tax Calculation,Abilita il calcolo delle imposte,
Create TaxJar Transaction,Crea transazione TaxJar,
Credentials,Credenziali,
Live API Key,Chiave API live,
Sandbox API Key,Chiave API Sandbox,
Configuration,Configurazione,
Tax Account Head,Responsabile del conto fiscale,
Shipping Account Head,Responsabile conto di spedizione,
Practitioner Name,Nome del praticante,
Enter a name for the Clinical Procedure Template,Immettere un nome per il modello di procedura clinica,
Set the Item Code which will be used for billing the Clinical Procedure.,Impostare il codice articolo che verrà utilizzato per la fatturazione della procedura clinica.,
Select an Item Group for the Clinical Procedure Item.,Selezionare un gruppo di elementi per l&#39;elemento di procedura clinica.,
Clinical Procedure Rate,Tasso di procedura clinica,
Check this if the Clinical Procedure is billable and also set the rate.,Seleziona questa opzione se la Procedura clinica è fatturabile e imposta anche la tariffa.,
Check this if the Clinical Procedure utilises consumables. Click ,Selezionare questa opzione se la procedura clinica utilizza materiali di consumo. Clic,
 to know more,per saperne di più,
"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.","È inoltre possibile impostare il reparto medico per il modello. Dopo aver salvato il documento, verrà automaticamente creato un articolo per la fatturazione di questa procedura clinica. È quindi possibile utilizzare questo modello durante la creazione di procedure cliniche per i pazienti. I modelli ti evitano di riempire ogni volta dati ridondanti. Puoi anche creare modelli per altre operazioni come test di laboratorio, sessioni di terapia, ecc.",
Descriptive Test Result,Risultato del test descrittivo,
Allow Blank,Consenti vuoto,
Descriptive Test Template,Modello di test descrittivo,
"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Se desideri monitorare il libro paga e altre operazioni HRMS per un professionista, crea un dipendente e collegalo qui.",
Set the Practitioner Schedule you just created. This will be used while booking appointments.,Imposta la pianificazione del praticante che hai appena creato. Questo verrà utilizzato durante la prenotazione degli appuntamenti.,
Create a service item for Out Patient Consulting.,Creare un articolo di servizio per Out Patient Consulting.,
"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Se questo operatore sanitario lavora per il reparto degenti, crea un elemento di servizio per le visite ospedaliere.",
Set the Out Patient Consulting Charge for this Practitioner.,Stabilire la tariffa per la consulenza per i pazienti esterni per questo medico.,
"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Se questo operatore sanitario lavora anche per il reparto di degenza, imposta l&#39;addebito per la visita ospedaliera per questo operatore.",
"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.","Se selezionato, verrà creato un cliente per ogni paziente. Le fatture del paziente verranno create per questo cliente. È inoltre possibile selezionare un cliente esistente durante la creazione di un paziente. Questo campo è selezionato per impostazione predefinita.",
Collect Registration Fee,Raccogli la quota di registrazione,
"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.","Se la tua struttura sanitaria fattura le registrazioni dei pazienti, puoi verificarlo e impostare la quota di registrazione nel campo sottostante. Selezionando questa opzione verranno creati nuovi Pazienti con uno stato Disabilitato per impostazione predefinita e verranno abilitati solo dopo la fatturazione della Quota di registrazione.",
Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,Selezionando questa opzione verrà creata automaticamente una fattura di vendita ogni volta che viene prenotato un appuntamento per un paziente.,
Healthcare Service Items,Articoli per servizi sanitari,
"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 ","È possibile creare un articolo di servizio per l&#39;addebito per visite ospedaliere e impostarlo qui. Allo stesso modo, in questa sezione puoi impostare altri articoli del servizio sanitario per la fatturazione. Clic",
Set up default Accounts for the Healthcare Facility,Imposta account predefiniti per la struttura sanitaria,
"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Se desideri sovrascrivere le impostazioni dei conti predefiniti e configurare i conti entrate e crediti per l&#39;assistenza sanitaria, puoi farlo qui.",
Out Patient SMS alerts,Avvisi SMS fuori paziente,
"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 ","Se si desidera inviare un avviso SMS sulla registrazione del paziente, è possibile abilitare questa opzione. Allo stesso modo, in questa sezione è possibile impostare avvisi SMS per pazienti fuori sede per altre funzionalità. Clic",
Admission Order Details,Dettagli dell&#39;ordine di ammissione,
Admission Ordered For,Ingresso ordinato per,
Expected Length of Stay,Durata prevista del soggiorno,
Admission Service Unit Type,Tipo di unità di servizio di ammissione,
Healthcare Practitioner (Primary),Operatore sanitario (scuola primaria),
Healthcare Practitioner (Secondary),Operatore sanitario (secondario),
Admission Instruction,Istruzione di ammissione,
Chief Complaint,Capo reclamo,
Medications,Farmaci,
Investigations,Indagini,
Discharge Detials,Scarica Detials,
Discharge Ordered Date,Data ordinata di scarico,
Discharge Instructions,Istruzioni per la dimissione,
Follow Up Date,Data di follow-up,
Discharge Notes,Note di scarico,
Processing Inpatient Discharge,Elaborazione delle dimissioni ospedaliere,
Processing Patient Admission,Elaborazione del ricovero del paziente,
Check-in time cannot be greater than the current time,L&#39;orario di check-in non può essere maggiore dell&#39;ora corrente,
Process Transfer,Trasferimento di processo,
HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
Expected Result Date,Data di risultato prevista,
Expected Result Time,Tempo previsto per il risultato,
Printed on,Stampato,
Requesting Practitioner,Praticante richiedente,
Requesting Department,Reparto richiedente,
Employee (Lab Technician),Dipendente (tecnico di laboratorio),
Lab Technician Name,Nome del tecnico di laboratorio,
Lab Technician Designation,Designazione del tecnico di laboratorio,
Compound Test Result,Risultato del test composto,
Organism Test Result,Risultato del test sull&#39;organismo,
Sensitivity Test Result,Risultato del test di sensibilità,
Worksheet Print,Stampa del foglio di lavoro,
Worksheet Instructions,Istruzioni del foglio di lavoro,
Result Legend Print,Stampa della legenda dei risultati,
Print Position,Posizione di stampa,
Bottom,Parte inferiore,
Top,Superiore,
Both,Tutti e due,
Result Legend,Legenda dei risultati,
Lab Tests,Test di laboratorio,
No Lab Tests found for the Patient {0},Nessun test di laboratorio trovato per il paziente {0},
"Did not send SMS, missing patient mobile number or message content.","Non ha inviato SMS, numero di cellulare del paziente mancante o contenuto del messaggio.",
No Lab Tests created,Nessun test di laboratorio creato,
Creating Lab Tests...,Creazione di test di laboratorio ...,
Lab Test Group Template,Modello di gruppo di test di laboratorio,
Add New Line,Aggiungi nuova riga,
Secondary UOM,Unità di misura secondaria,
"<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>Singolo</b> : risultati che richiedono un solo input.<br> <b>Composto</b> : risultati che richiedono più input di eventi.<br> <b>Descrittivo</b> : test che hanno più componenti di risultati con immissione manuale dei risultati.<br> <b>Raggruppati</b> : modelli di test che sono un gruppo di altri modelli di test.<br> <b>Nessun risultato</b> : i test senza risultati possono essere ordinati e fatturati ma non verrà creato alcun test di laboratorio. per esempio. Test secondari per risultati raggruppati,
"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Se deselezionato, l&#39;articolo non sarà disponibile in Fatture di vendita per la fatturazione, ma potrà essere utilizzato nella creazione di test di gruppo.",
Description ,Descrizione,
Descriptive Test,Test descrittivo,
Group Tests,Test di gruppo,
Instructions to be printed on the worksheet,Istruzioni da stampare sul foglio di lavoro,
"Information to help easily interpret the test report, will be printed as part of the Lab Test result.",Le informazioni per facilitare l&#39;interpretazione del rapporto del test verranno stampate come parte del risultato del test di laboratorio.,
Normal Test Result,Risultato del test normale,
Secondary UOM Result,Risultato unità di misura secondaria,
Italic,Corsivo,
Underline,Sottolineare,
Organism,Organismo,
Organism Test Item,Oggetto del test dell&#39;organismo,
Colony Population,Popolazione di colonie,
Colony UOM,Colony UOM,
Tobacco Consumption (Past),Consumo di tabacco (passato),
Tobacco Consumption (Present),Consumo di tabacco (presente),
Alcohol Consumption (Past),Consumo di alcol (passato),
Alcohol Consumption (Present),Consumo di alcol (presente),
Billing Item,Elemento di fatturazione,
Medical Codes,Codici medici,
Clinical Procedures,Procedure cliniche,
Order Admission,Ordine di ammissione,
Scheduling Patient Admission,Pianificazione del ricovero del paziente,
Order Discharge,Scarica ordine,
Sample Details,Dettagli campione,
Collected On,Raccolto il,
No. of prints,Numero di stampe,
Number of prints required for labelling the samples,Numero di stampe richieste per l&#39;etichettatura dei campioni,
HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
In Time,In tempo,
Out Time,Fuori tempo,
Payroll Cost Center,Centro di costo del libro paga,
Approvers,Approvatori,
The first Approver in the list will be set as the default Approver.,Il primo approvatore nell&#39;elenco verrà impostato come approvatore predefinito.,
Shift Request Approver,Approvatore richiesta di turno,
PAN Number,Numero PAN,
Provident Fund Account,Conto del fondo di previdenza,
MICR Code,Codice MICR,
Repay unclaimed amount from salary,Rimborsare l&#39;importo non reclamato dallo stipendio,
Deduction from salary,Detrazione dallo stipendio,
Expired Leaves,Foglie scadute,
Reference No,Riferimento n,
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.,La percentuale di scarto di garanzia è la differenza percentuale tra il valore di mercato del Titolo del prestito e il valore attribuito a tale Titolo del prestito quando utilizzato come garanzia per quel prestito.,
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 ,"Loan To Value Ratio esprime il rapporto tra l&#39;importo del prestito e il valore del titolo in pegno. Se questo scende al di sotto del valore specificato per qualsiasi prestito, verrà attivato un deficit di sicurezza del prestito",
If this is not checked the loan by default will be considered as a Demand Loan,"Se questa opzione non è selezionata, il prestito di default sarà considerato come un prestito a vista",
This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,Questo conto viene utilizzato per la prenotazione del rimborso del prestito dal mutuatario e anche per l&#39;erogazione dei prestiti al mutuatario,
This account is capital account which is used to allocate capital for loan disbursal account ,Questo conto è un conto capitale utilizzato per allocare il capitale per il conto di erogazione del prestito,
This account will be used for booking loan interest accruals,Questo account verrà utilizzato per la prenotazione degli interessi maturati sui prestiti,
This account will be used for booking penalties levied due to delayed repayments,Questo account verrà utilizzato per le penali di prenotazione applicate a causa di rimborsi ritardati,
Variant BOM,BOM variante,
Template Item,Elemento modello,
Select template item,Seleziona elemento modello,
Select variant item code for the template item {0},Seleziona il codice articolo variante per l&#39;elemento modello {0},
Downtime Entry,Ingresso tempo di inattività,
DT-,DT-,
Workstation / Machine,Stazione di lavoro / macchina,
Operator,Operatore,
In Mins,In Min,
Downtime Reason,Motivo del tempo di inattività,
Stop Reason,Stop Reason,
Excessive machine set up time,Tempo di attrezzaggio macchina eccessivo,
Unplanned machine maintenance,Manutenzione della macchina non pianificata,
On-machine press checks,Controlli sulla macchina da stampa,
Machine operator errors,Errori dell&#39;operatore della macchina,
Machine malfunction,Malfunzionamento della macchina,
Electricity down,Elettricità in calo,
Operation Row Number,Numero riga operazione,
Operation {0} added multiple times in the work order {1},Operazione {0} aggiunta più volte nell&#39;ordine di lavoro {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.","Se spuntato, è possibile utilizzare più materiali per un singolo ordine di lavoro. Ciò è utile se vengono fabbricati uno o più prodotti che richiedono molto tempo.",
Backflush Raw Materials,Backflush materie prime,
"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.","La voce di stock di tipo &quot;Produzione&quot; è nota come backflush. Le materie prime consumate per la produzione di prodotti finiti sono conosciute come backflushing.<br><br> Quando si crea una voce di produzione, gli articoli delle materie prime vengono scaricati a consuntivo in base alla distinta base dell&#39;articolo di produzione. Se si desidera che gli articoli delle materie prime vengano scaricati a consuntivo in base alla voce Trasferimento materiale effettuata rispetto a quell&#39;ordine di lavoro, è possibile impostarlo in questo campo.",
Work In Progress Warehouse,Magazzino Lavori In Corso,
This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Questo magazzino verrà aggiornato automaticamente nel campo Magazzino lavori in corso degli ordini di lavoro.,
Finished Goods Warehouse,Magazzino prodotti finiti,
This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Questo magazzino verrà aggiornato automaticamente nel campo Magazzino di destinazione dell&#39;ordine di lavoro.,
"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Se spuntato, il costo della distinta base verrà aggiornato automaticamente in base a Tasso di valutazione / Tasso di listino / ultimo tasso di acquisto delle materie prime.",
Source Warehouses (Optional),Magazzini di origine (facoltativo),
"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","Il sistema ritirerà i materiali dai magazzini selezionati. Se non specificato, il sistema creerà la richiesta di materiale per l&#39;acquisto.",
Lead Time,Tempi di consegna,
PAN Details,Dettagli PAN,
Create Customer,Crea cliente,
Invoicing,Fatturazione,
Enable Auto Invoicing,Abilita fatturazione automatica,
Send Membership Acknowledgement,Invia conferma di iscrizione,
Send Invoice with Email,Invia fattura con e-mail,
Membership Print Format,Formato di stampa dell&#39;iscrizione,
Invoice Print Format,Formato stampa fattura,
Revoke <Key></Key>,Revocare&lt;Key&gt;&lt;/Key&gt;,
You can learn more about memberships in the manual. ,Puoi saperne di più sugli abbonamenti nel manuale.,
ERPNext Docs,ERPNext Docs,
Regenerate Webhook Secret,Rigenera segreto webhook,
Generate Webhook Secret,Genera segreto webhook,
Copy Webhook URL,Copia l&#39;URL del webhook,
Linked Item,Elemento collegato,
Is Recurring,È ricorrente,
HRA Exemption,Esenzione HRA,
Monthly House Rent,Affitto casa mensile,
Rented in Metro City,Affittato a Metro City,
HRA as per Salary Structure,HRA come da struttura salariale,
Annual HRA Exemption,Esenzione annuale HRA,
Monthly HRA Exemption,Esenzione mensile HRA,
House Rent Payment Amount,Importo del pagamento dell&#39;affitto della casa,
Rented From Date,Affittato dalla data,
Rented To Date,Affittato ad oggi,
Monthly Eligible Amount,Importo ammissibile mensile,
Total Eligible HRA Exemption,Esenzione totale ammissibile HRA,
Validating Employee Attendance...,Convalida della presenza dei dipendenti ...,
Submitting Salary Slips and creating Journal Entry...,Invio delle buste paga e creazione della registrazione prima nota ...,
Calculate Payroll Working Days Based On,Calcola i giorni lavorativi del libro paga in base a,
Consider Unmarked Attendance As,Considera la presenza non contrassegnata come,
Fraction of Daily Salary for Half Day,Frazione dello stipendio giornaliero per mezza giornata,
Component Type,Tipo di componente,
Provident Fund,fondo di previdenza,
Additional Provident Fund,Fondo di previdenza aggiuntivo,
Provident Fund Loan,Prestito del fondo di previdenza,
Professional Tax,Tasse professionali,
Is Income Tax Component,È una componente dell&#39;imposta sul reddito,
Component properties and references ,Proprietà e riferimenti dei componenti,
Additional Salary ,Stipendio aggiuntivo,
Condtion and formula,Condizione e formula,
Unmarked days,Giorni non contrassegnati,
Absent Days,Giorni assenti,
Conditions and Formula variable and example,Condizioni e variabile di formula ed esempio,
Feedback By,Feedback di,
MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
Manufacturing Section,Sezione Produzione,
Sales Order Required for Sales Invoice & Delivery Note Creation,Ordine cliente richiesto per la creazione di fatture di vendita e bolle di consegna,
Delivery Note Required for Sales Invoice Creation,Bolla di consegna richiesta per la creazione della fattura di vendita,
"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Per impostazione predefinita, il nome del cliente è impostato in base al nome completo inserito. Se desideri che i clienti siano nominati da un",
Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Configurare il listino prezzi predefinito quando si crea una nuova transazione di vendita. I prezzi degli articoli verranno recuperati da questo listino prezzi.,
"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.","Se questa opzione è configurata &quot;Sì&quot;, ERPNext ti impedirà di creare una fattura di vendita o una nota di consegna senza creare prima un ordine di vendita. Questa configurazione può essere sovrascritta per un particolare cliente abilitando la casella di spunta &quot;Consenti creazione fattura di vendita senza ordine di vendita&quot; nell&#39;anagrafica cliente.",
"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.","Se questa opzione è configurata &quot;Sì&quot;, ERPNext ti impedirà di creare una fattura di vendita senza prima creare una bolla di consegna. Questa configurazione può essere sovrascritta per un determinato cliente abilitando la casella di controllo &quot;Consenti creazione fattura di vendita senza nota di consegna&quot; nell&#39;anagrafica cliente.",
Default Warehouse for Sales Return,Magazzino predefinito per resi di vendita,
Default In Transit Warehouse,Predefinito nel magazzino di transito,
Enable Perpetual Inventory For Non Stock Items,Abilita inventario perpetuo per articoli non in stock,
HRA Settings,Impostazioni HRA,
Basic Component,Componente di base,
HRA Component,Componente HRA,
Arrear Component,Componente Arrear,
Please enter the company name to confirm,Immettere il nome dell&#39;azienda per confermare,
Quotation Lost Reason Detail,Dettaglio motivo smarrito preventivo,
Enable Variants,Abilita varianti,
Save Quotations as Draft,Salva offerte come bozza,
MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
Please Select a Customer,Seleziona un cliente,
Against Delivery Note Item,Contro articolo bolla di consegna,
Is Non GST ,Non è GST,
Image Description,Descrizione dell&#39;immagine,
Transfer Status,Stato di trasferimento,
MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
Track this Purchase Receipt against any Project,Tieni traccia di questa ricevuta di acquisto rispetto a qualsiasi progetto,
Please Select a Supplier,Seleziona un fornitore,
Add to Transit,Aggiungi a Transit,
Set Basic Rate Manually,Imposta manualmente la tariffa di base,
"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ","Per impostazione predefinita, il nome dell&#39;articolo è impostato in base al codice articolo immesso. Se desideri che gli elementi vengano nominati da un file",
Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Impostare un magazzino predefinito per le transazioni di magazzino. Questo verrà recuperato nel magazzino predefinito nell&#39;anagrafica articoli.,
"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.","Ciò consentirà di visualizzare gli articoli in magazzino con valori negativi. L&#39;utilizzo di questa opzione dipende dal tuo caso d&#39;uso. Con questa opzione deselezionata, il sistema avvisa prima di ostacolare una transazione che causa uno stock negativo.",
Choose between FIFO and Moving Average Valuation Methods. Click ,Scegli tra FIFO e metodi di valutazione della media mobile. Clic,
 to know more about them.,per saperne di più su di loro.,
Show 'Scan Barcode' field above every child table to insert Items with ease.,Mostra il campo &quot;Scansiona codice a barre&quot; sopra ogni tabella figlia per inserire facilmente gli elementi.,
"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.","I numeri di serie per le scorte verranno impostati automaticamente in base agli articoli inseriti in base a first in first out in transazioni come fatture di acquisto / vendita, note di consegna, ecc.",
"If blank, parent Warehouse Account or company default will be considered in transactions","Se vuoto, nelle transazioni verrà considerato il conto magazzino principale o il valore predefinito della società",
Service Level Agreement Details,Dettagli del contratto sul livello di servizio,
Service Level Agreement Status,Stato del contratto sul livello di servizio,
On Hold Since,In attesa da,
Total Hold Time,Tempo di attesa totale,
Response Details,Dettagli risposta,
Average Response Time,Tempo di risposta medio,
User Resolution Time,Tempo di risoluzione dell&#39;utente,
SLA is on hold since {0},SLA è in attesa dal {0},
Pause SLA On Status,Metti in pausa lo stato del contratto di servizio,
Pause SLA On,Metti in pausa il contratto di servizio,
Greetings Section,Sezione saluti,
Greeting Title,Titolo di saluto,
Greeting Subtitle,Sottotitolo di saluto,
Youtube ID,ID Youtube,
Youtube Statistics,Statistiche Youtube,
Views,Visualizzazioni,
Dislikes,Non mi piace,
Video Settings,Impostazioni video,
Enable YouTube Tracking,Abilita il monitoraggio di YouTube,
30 mins,30 min,
1 hr,1 ora,
6 hrs,6 ore,
Patient Progress,Progresso del paziente,
Targetted,Mirato,
Score Obtained,Punteggio ottenuto,
Sessions,Sessioni,
Average Score,Punteggio medio,
Select Assessment Template,Seleziona Modello di valutazione,
 out of ,fuori da,
Select Assessment Parameter,Seleziona Parametro di valutazione,
Gender: ,Genere:,
Contact: ,Contatto:,
Total Therapy Sessions: ,Sessioni terapeutiche totali:,
Monthly Therapy Sessions: ,Sessioni terapeutiche mensili:,
Patient Profile,Profilo del paziente,
Point Of Sale,Punto vendita,
Email sent successfully.,Email inviata correttamente.,
Search by invoice id or customer name,Cerca per ID fattura o nome cliente,
Invoice Status,Stato fattura,
Filter by invoice status,Filtra per stato della fattura,
Select item group,Seleziona gruppo di articoli,
No items found. Scan barcode again.,Nessun articolo trovato. Scansiona di nuovo il codice a barre.,
"Search by customer name, phone, email.","Cerca per nome cliente, telefono, email.",
Enter discount percentage.,Immettere la percentuale di sconto.,
Discount cannot be greater than 100%,Lo sconto non può essere superiore al 100%,
Enter customer's email,Inserisci l&#39;email del cliente,
Enter customer's phone number,Inserisci il numero di telefono del cliente,
Customer contact updated successfully.,Contatto cliente aggiornato correttamente.,
Item will be removed since no serial / batch no selected.,L&#39;articolo verrà rimosso poiché non è stato selezionato alcun numero di serie / lotto.,
Discount (%),Sconto (%),
You cannot submit the order without payment.,Non è possibile inviare l&#39;ordine senza pagamento.,
You cannot submit empty order.,Non puoi inviare un ordine vuoto.,
To Be Paid,Essere pagato,
Create POS Opening Entry,Crea voce di apertura POS,
Please add Mode of payments and opening balance details.,Aggiungi modalità di pagamento e dettagli del saldo di apertura.,
Toggle Recent Orders,Attiva gli ordini recenti,
Save as Draft,Salva come bozza,
You must add atleast one item to save it as draft.,È necessario aggiungere almeno un elemento per salvarlo come bozza.,
There was an error saving the document.,Si è verificato un errore durante il salvataggio del documento.,
You must select a customer before adding an item.,È necessario selezionare un cliente prima di aggiungere un articolo.,
Please Select a Company,Seleziona una società,
Active Leads,Lead attivi,
Please Select a Company.,Seleziona una società.,
BOM Operations Time,Tempo di operazioni BOM,
BOM ID,ID BOM,
BOM Item Code,Codice articolo BOM,
Time (In Mins),Tempo (in minuti),
Sub-assembly BOM Count,Conteggio distinta componenti sottoassieme,
View Type,Tipo di visualizzazione,
Total Delivered Amount,Importo totale consegnato,
Downtime Analysis,Analisi dei tempi di inattività,
Machine,Macchina,
Downtime (In Hours),Tempo di inattività (in ore),
Employee Analytics,Analisi dei dipendenti,
"""From date"" can not be greater than or equal to ""To date""",&quot;Dalla data&quot; non può essere maggiore o uguale a &quot;Alla data&quot;,
Exponential Smoothing Forecasting,Previsione livellamento esponenziale,
First Response Time for Issues,Primo tempo di risposta per problemi,
First Response Time for Opportunity,Primo tempo di risposta per opportunità,
Depreciatied Amount,Importo ammortizzato,
Period Based On,Periodo basato su,
Date Based On,Data basata su,
{0} and {1} are mandatory,{0} e {1} sono obbligatori,
Consider Accounting Dimensions,Considera le dimensioni contabili,
Income Tax Deductions,Detrazioni fiscali sul reddito,
Income Tax Component,Componente dell&#39;imposta sul reddito,
Income Tax Amount,Importo dell&#39;imposta sul reddito,
Reserved Quantity for Production,Quantità riservata per la produzione,
Projected Quantity,Quantità prevista,
 Total Sales Amount,Importo totale delle vendite,
Job Card Summary,Riepilogo scheda lavoro,
Id,Id,
Time Required (In Mins),Tempo richiesto (in minuti),
From Posting Date,Dalla data di registrazione,
To Posting Date,Alla data di registrazione,
No records found,Nessun record trovato,
Customer/Lead Name,Nome cliente / lead,
Unmarked Days,Giorni non contrassegnati,
Jan,Jan,
Feb,Feb,
Mar,Mar,
Apr,Apr,
Aug,Ago,
Sep,Sep,
Oct,Ott,
Nov,Nov,
Dec,Dic,
Summarized View,Vista riepilogativa,
Production Planning Report,Rapporto sulla pianificazione della produzione,
Order Qty,Qtà ordine,
Raw Material Code,Codice delle materie prime,
Raw Material Name,Nome della materia prima,
Allotted Qty,Qtà assegnata,
Expected Arrival Date,Data di arrivo prevista,
Arrival Quantity,Quantità di arrivo,
Raw Material Warehouse,Magazzino materie prime,
Order By,Ordinato da,
Include Sub-assembly Raw Materials,Includi materie prime del sottoassieme,
Professional Tax Deductions,Detrazioni fiscali professionali,
Program wise Fee Collection,Programma saggio raccolta delle commissioni,
Fees Collected,Commissioni riscosse,
Project Summary,Sintesi del progetto,
Total Tasks,Attività totali,
Tasks Completed,Attività completate,
Tasks Overdue,Attività scadute,
Completion,Completamento,
Provident Fund Deductions,Detrazioni del fondo di previdenza,
Purchase Order Analysis,Analisi degli ordini di acquisto,
From and To Dates are required.,Da e a Le date sono obbligatorie.,
To Date cannot be before From Date.,To Date non può essere precedente a From Date.,
Qty to Bill,Qtà a Bill,
Group by Purchase Order,Raggruppa per ordine di acquisto,
 Purchase Value,Valore d&#39;acquisto,
Total Received Amount,Importo totale ricevuto,
Quality Inspection Summary,Riepilogo dell&#39;ispezione di qualità,
 Quoted Amount,Importo quotato,
Lead Time (Days),Termine d&#39;esecuzione (giorni),
Include Expired,Includi scaduto,
Recruitment Analytics,Analisi del reclutamento,
Applicant name,Nome richiedente,
Job Offer status,Stato dell&#39;offerta di lavoro,
On Date,Alla data,
Requested Items to Order and Receive,Articoli richiesti da ordinare e ricevere,
Salary Payments Based On Payment Mode,Pagamenti dello stipendio in base alla modalità di pagamento,
Salary Payments via ECS,Pagamenti salariali tramite ECS,
Account No,Conto n,
IFSC,IFSC,
MICR,MICR,
Sales Order Analysis,Analisi degli ordini di vendita,
Amount Delivered,Importo consegnato,
Delay (in Days),Ritardo (in giorni),
Group by Sales Order,Raggruppa per ordine di vendita,
 Sales Value,Valore delle vendite,
Stock Qty vs Serial No Count,Quantità stock vs numero di serie,
Serial No Count,Numero di serie,
Work Order Summary,Riepilogo dell&#39;ordine di lavoro,
Produce Qty,Produrre Qty,
Lead Time (in mins),Tempo di consegna (in minuti),
Charts Based On,Grafici basati su,
YouTube Interactions,Interazioni su YouTube,
Published Date,Data di pubblicazione,
Barnch,Barnch,
Select a Company,Seleziona una società,
Opportunity {0} created,Opportunità {0} creata,
Kindly select the company first,Si prega di selezionare prima l&#39;azienda,
Please enter From Date and To Date to generate JSON,Immettere Da data e A data per generare JSON,
PF Account,Conto PF,
PF Amount,Importo PF,
Additional PF,PF aggiuntivo,
PF Loan,Prestito PF,
Download DATEV File,Scarica il file DATEV,
Numero has not set in the XML file,Numero non è stato impostato nel file XML,
Inward Supplies(liable to reverse charge),Forniture interne (soggette a inversione contabile),
This is based on the course schedules of this Instructor,Questo si basa sugli orari dei corsi di questo istruttore,
Course and Assessment,Corso e valutazione,
Course {0} has been added to all the selected programs successfully.,Il corso {0} è stato aggiunto con successo a tutti i programmi selezionati.,
Programs updated,Programmi aggiornati,
Program and Course,Programma e corso,
{0} or {1} is mandatory,{0} o {1} è obbligatorio,
Mandatory Fields,Campi obbligatori,
Student {0}: {1} does not belong to Student Group {2},Studente {0}: {1} non appartiene al gruppo di studenti {2},
Student Attendance record {0} already exists against the Student {1},Il record di partecipazione degli studenti {0} esiste già rispetto allo studente {1},
Duplicate Entry,Voce duplicata,
Course and Fee,Corso e tariffa,
Not eligible for the admission in this program as per Date Of Birth,Non idoneo per l&#39;ammissione a questo programma in base alla data di nascita,
Topic {0} has been added to all the selected courses successfully.,L&#39;argomento {0} è stato aggiunto correttamente a tutti i corsi selezionati.,
Courses updated,Corsi aggiornati,
{0} {1} has been added to all the selected topics successfully.,{0} {1} è stato aggiunto correttamente a tutti gli argomenti selezionati.,
Topics updated,Argomenti aggiornati,
Academic Term and Program,Termine accademico e programma,
Last Stock Transaction for item {0} was on {1}.,L&#39;ultima transazione di magazzino per l&#39;articolo {0} è avvenuta in data {1}.,
Stock Transactions for Item {0} cannot be posted before this time.,Le transazioni di magazzino per l&#39;articolo {0} non possono essere registrate prima di questo orario.,
Please remove this item and try to submit again or update the posting time.,Rimuovi questo elemento e prova a inviarlo di nuovo o aggiorna l&#39;orario di pubblicazione.,
Failed to Authenticate the API key.,Impossibile autenticare la chiave API.,
Invalid Credentials,Credenziali non valide,
URL can only be a string,L&#39;URL può essere solo una stringa,
"Here is your webhook secret, this will be shown to you only once.","Ecco il tuo segreto per il webhook, ti verrà mostrato una sola volta.",
The payment for this membership is not paid. To generate invoice fill the payment details,Il pagamento per questa iscrizione non viene pagato. Per generare la fattura compila i dettagli di pagamento,
An invoice is already linked to this document,Una fattura è già collegata a questo documento,
No customer linked to member {},Nessun cliente collegato al membro {},
You need to set <b>Debit Account</b> in Membership Settings,È necessario impostare il <b>conto di debito</b> nelle impostazioni di iscrizione,
You need to set <b>Default Company</b> for invoicing in Membership Settings,È necessario impostare <b>Azienda predefinita</b> per la fatturazione nelle Impostazioni di iscrizione,
You need to enable <b>Send Acknowledge Email</b> in Membership Settings,È necessario abilitare <b>Invia e-mail</b> di conferma nelle impostazioni di iscrizione,
Error creating membership entry for {0},Errore durante la creazione della voce di iscrizione per {0},
A customer is already linked to this Member,Un cliente è già collegato a questo membro,
End Date must not be lesser than Start Date,La data di fine non deve essere inferiore alla data di inizio,
Employee {0} already has Active Shift {1}: {2},Il dipendente {0} ha già Active Shift {1}: {2},
 from {0},da {0},
 to {0},a {0},
Please select Employee first.,Seleziona prima il dipendente.,
Please set {0} for the Employee or for Department: {1},Impostare {0} per il dipendente o per il dipartimento: {1},
To Date should be greater than From Date,To Date dovrebbe essere maggiore di From Date,
Employee Onboarding: {0} is already for Job Applicant: {1},Inserimento dei dipendenti: {0} è già per il candidato: {1},
Job Offer: {0} is already for Job Applicant: {1},Offerta di lavoro: {0} è già per il candidato: {1},
Only Shift Request with status 'Approved' and 'Rejected' can be submitted,È possibile inviare solo richieste di turni con stato &quot;Approvato&quot; e &quot;Rifiutato&quot;,
Shift Assignment: {0} created for Employee: {1},Assegnazione del turno: {0} creato per il dipendente: {1},
You can not request for your Default Shift: {0},Non puoi richiedere il tuo turno predefinito: {0},
Only Approvers can Approve this Request.,Solo gli approvatori possono approvare questa richiesta.,
Asset Value Analytics,Analisi del valore degli asset,
Category-wise Asset Value,Valore patrimoniale per categoria,
Total Assets,Totale attivo,
New Assets (This Year),Nuove risorse (quest&#39;anno),
Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Riga # {}: la data di registrazione dell&#39;ammortamento non deve essere uguale alla data di disponibilità per l&#39;uso.,
Incorrect Date,Data errata,
Invalid Gross Purchase Amount,Importo di acquisto lordo non valido,
There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Sono presenti manutenzioni o riparazioni attive rispetto al bene. È necessario completarli tutti prima di annullare l&#39;asset.,
% Complete,% Completare,
Back to Course,Torna al corso,
Finish Topic,Termina argomento,
Mins,Min,
by,di,
Back to,Torna a,
Enrolling...,Iscrizione ...,
You have successfully enrolled for the program ,Ti sei iscritto con successo al programma,
Enrolled,Iscritta,
Watch Intro,Guarda l&#39;intro,
We're here to help!,Siamo qui per aiutare!,
Frequently Read Articles,Articoli letti di frequente,
Please set a default company address,Imposta un indirizzo aziendale predefinito,
{0} is not a valid state! Check for typos or enter the ISO code for your state.,{0} non è uno stato valido! Verifica la presenza di errori di battitura o inserisci il codice ISO per il tuo stato.,
Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,Si è verificato un errore durante l&#39;analisi del piano dei conti: assicurati che non ci siano due account con lo stesso nome,
Plaid invalid request error,Errore di richiesta plaid non valida,
Please check your Plaid client ID and secret values,Controlla l&#39;ID del tuo cliente Plaid e i valori segreti,
Bank transaction creation error,Errore di creazione della transazione bancaria,
Unit of Measurement,Unità di misura,
Row #{}: Selling rate for item {} is lower than its {}. Selling rate should be atleast {},Riga n. {}: La percentuale di vendita dell&#39;articolo {} è inferiore alla relativa {}. Il tasso di vendita dovrebbe essere di almeno {},
Fiscal Year {0} Does Not Exist,L&#39;anno fiscale {0} non esiste,
Row # {0}: Returned Item {1} does not exist in {2} {3},Riga n. {0}: l&#39;articolo restituito {1} non esiste in {2} {3},
Valuation type charges can not be marked as Inclusive,Gli addebiti del tipo di valutazione non possono essere contrassegnati come inclusivi,
You do not have permissions to {} items in a {}.,Non disponi delle autorizzazioni per {} elementi in {}.,
Insufficient Permissions,Permessi insufficienti,
You are not allowed to update as per the conditions set in {} Workflow.,Non sei autorizzato ad aggiornare secondo le condizioni impostate in {} Flusso di lavoro.,
Expense Account Missing,Conto spese mancante,
{0} is not a valid Value for Attribute {1} of Item {2}.,{0} non è un valore valido per l&#39;attributo {1} dell&#39;elemento {2}.,
Invalid Value,Valore non valido,
The value {0} is already assigned to an existing Item {1}.,Il valore {0} è già assegnato a un elemento esistente {1}.,
"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","Per continuare con la modifica di questo valore di attributo, abilitare {0} in Impostazioni variante elemento.",
Edit Not Allowed,Modifica non consentita,
Row #{0}: Item {1} is already fully received in Purchase Order {2},Riga n. {0}: l&#39;articolo {1} è già stato ricevuto completamente nell&#39;ordine di acquisto {2},
You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Non è possibile creare o annullare alcuna registrazione contabile nel periodo contabile chiuso {0},
POS Invoice should have {} field checked.,La fattura POS dovrebbe avere selezionato il campo {}.,
Invalid Item,Articolo non valido,
Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Riga n. {}: Non è possibile aggiungere quantità positive in una fattura di reso. Rimuovi l&#39;articolo {} per completare il reso.,
The selected change account {} doesn't belongs to Company {}.,L&#39;account di modifica selezionato {} non appartiene alla società {}.,
Atleast one invoice has to be selected.,Deve essere selezionata almeno una fattura.,
Payment methods are mandatory. Please add at least one payment method.,I metodi di pagamento sono obbligatori. Aggiungi almeno un metodo di pagamento.,
Please select a default mode of payment,Seleziona una modalità di pagamento predefinita,
You can only select one mode of payment as default,Puoi selezionare solo una modalità di pagamento come predefinita,
Missing Account,Account mancante,
Customers not selected.,Clienti non selezionati.,
Statement of Accounts,Estratto conto,
Ageing Report Based On ,Rapporto sull&#39;invecchiamento basato su,
Please enter distributed cost center,Immettere il centro di costo distribuito,
Total percentage allocation for distributed cost center should be equal to 100,L&#39;allocazione percentuale totale per il centro di costo distribuito dovrebbe essere pari a 100,
Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Impossibile abilitare il centro di costo distribuito per un centro di costo già allocato in un altro centro di costo distribuito,
Parent Cost Center cannot be added in Distributed Cost Center,Il centro di costo padre non può essere aggiunto in Centro di costo distribuito,
A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Non è possibile aggiungere un centro di costo distribuito nella tabella di allocazione del centro di costo distribuito.,
Cost Center with enabled distributed cost center can not be converted to group,Il centro di costo con centro di costo distribuito abilitato non può essere convertito in gruppo,
Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Il centro di costo già allocato in un centro di costo distribuito non può essere convertito in gruppo,
Trial Period Start date cannot be after Subscription Start Date,La data di inizio del periodo di prova non può essere successiva alla data di inizio dell&#39;abbonamento,
Subscription End Date must be after {0} as per the subscription plan,La data di fine dell&#39;abbonamento deve essere successiva al {0} secondo il piano di abbonamento,
Subscription End Date is mandatory to follow calendar months,La data di fine dell&#39;abbonamento è obbligatoria per seguire i mesi di calendario,
Row #{}: POS Invoice {} is not against customer {},Riga n. {}: Fattura POS {} non è contro il cliente {},
Row #{}: POS Invoice {} is not submitted yet,Riga # {}: la fattura POS {} non è stata ancora inviata,
Row #{}: POS Invoice {} has been {},Riga n. {}: La fattura POS {} è stata {},
No Supplier found for Inter Company Transactions which represents company {0},Nessun fornitore trovato per Transazioni tra società che rappresenta la società {0},
No Customer found for Inter Company Transactions which represents company {0},Nessun cliente trovato per Transazioni tra società che rappresenta la società {0},
Invalid Period,Periodo non valido,
Selected POS Opening Entry should be open.,La voce di apertura POS selezionata dovrebbe essere aperta.,
Invalid Opening Entry,Voce di apertura non valida,
Please set a Company,Imposta una società,
"Sorry, this coupon code's validity has not started","Spiacenti, la validità di questo codice coupon non è iniziata",
"Sorry, this coupon code's validity has expired","Spiacenti, la validità di questo codice coupon è scaduta",
"Sorry, this coupon code is no longer valid","Spiacenti, questo codice coupon non è più valido",
For the 'Apply Rule On Other' condition the field {0} is mandatory,Per la condizione &quot;Applica regola su altro&quot; il campo {0} è obbligatorio,
{1} Not in Stock,{1} Non disponibile,
Only {0} in Stock for item {1},Solo {0} in magazzino per articolo {1},
Please enter a coupon code,Inserisci un codice coupon,
Please enter a valid coupon code,Inserisci un codice coupon valido,
Invalid Child Procedure,Procedura bambino non valida,
Import Italian Supplier Invoice.,Importa fattura fornitore italiano.,
"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.",Il tasso di valutazione per l&#39;articolo {0} è necessario per le registrazioni contabili per {1} {2}.,
 Here are the options to proceed:,Ecco le opzioni per procedere:,
"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.","Se l&#39;articolo sta effettuando una transazione come articolo a tasso di valutazione zero in questa voce, abilitare &quot;Consenti tasso di valutazione zero&quot; nella tabella {0} articolo.",
"If not, you can Cancel / Submit this entry ","In caso contrario, puoi annullare / inviare questa voce",
 performing either one below:,eseguendo uno dei seguenti:,
Create an incoming stock transaction for the Item.,Creare una transazione stock in entrata per l&#39;articolo.,
Mention Valuation Rate in the Item master.,Indicare il tasso di valutazione nell&#39;anagrafica articolo.,
Valuation Rate Missing,Tasso di valutazione mancante,
Serial Nos Required,Numero di serie richiesto,
Quantity Mismatch,Quantità non corrispondente,
"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.","Rifornisci gli articoli e aggiorna l&#39;elenco di prelievo per continuare. Per interrompere, annullare la lista di prelievo.",
Out of Stock,Esaurito,
{0} units of Item {1} is not available.,Le {0} unità dell&#39;articolo {1} non sono disponibili.,
Item for row {0} does not match Material Request,L&#39;articolo per la riga {0} non corrisponde alla richiesta di materiale,
Warehouse for row {0} does not match Material Request,Il magazzino per la riga {0} non corrisponde alla richiesta di materiale,
Accounting Entry for Service,Registrazione contabile per il servizio,
All items have already been Invoiced/Returned,Tutti gli articoli sono già stati fatturati / restituiti,
All these items have already been Invoiced/Returned,Tutti questi articoli sono già stati fatturati / restituiti,
Stock Reconciliations,Riconciliazioni stock,
Merge not allowed,Unione non consentita,
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.,I seguenti attributi eliminati esistono nelle varianti ma non nel modello. È possibile eliminare le varianti o mantenere gli attributi nel modello.,
Variant Items,Articoli varianti,
Variant Attribute Error,Errore attributo variante,
The serial no {0} does not belong to item {1},Il numero di serie {0} non appartiene all&#39;articolo {1},
There is no batch found against the {0}: {1},Nessun batch trovato per {0}: {1},
Completed Operation,Operazione completata,
Work Order Analysis,Analisi dell&#39;ordine di lavoro,
Quality Inspection Analysis,Analisi di ispezione della qualità,
Pending Work Order,Ordine di lavoro in sospeso,
Last Month Downtime Analysis,Analisi dei tempi di inattività dello scorso mese,
Work Order Qty Analysis,Analisi Qtà ordine di lavoro,
Job Card Analysis,Analisi della scheda lavoro,
Monthly Total Work Orders,Ordini di lavoro totali mensili,
Monthly Completed Work Orders,Ordini di lavoro completati mensilmente,
Ongoing Job Cards,Carte di lavoro in corso,
Monthly Quality Inspections,Ispezioni mensili di qualità,
(Forecast),(Previsione),
Total Demand (Past Data),Domanda totale (dati passati),
Total Forecast (Past Data),Previsione totale (dati passati),
Total Forecast (Future Data),Previsione totale (dati futuri),
Based On Document,Basato sul documento,
Based On Data ( in years ),Basato sui dati (in anni),
Smoothing Constant,Costante di levigatura,
Please fill the Sales Orders table,Compila la tabella Ordini di vendita,
Sales Orders Required,Ordini di vendita obbligatori,
Please fill the Material Requests table,Si prega di compilare la tabella Richieste di materiale,
Material Requests Required,Richieste di materiale richieste,
Items to Manufacture are required to pull the Raw Materials associated with it.,Gli articoli da produrre sono tenuti a estrarre le materie prime ad esso associate.,
Items Required,Articoli richiesti,
Operation {0} does not belong to the work order {1},L&#39;operazione {0} non appartiene all&#39;ordine di lavoro {1},
Print UOM after Quantity,Stampa UOM dopo la quantità,
Set default {0} account for perpetual inventory for non stock items,Imposta l&#39;account {0} predefinito per l&#39;inventario perpetuo per gli articoli non in stock,
Loan Security {0} added multiple times,Prestito sicurezza {0} aggiunto più volte,
Loan Securities with different LTV ratio cannot be pledged against one loan,Titoli in prestito con diverso rapporto LTV non possono essere costituiti in pegno su un prestito,
Qty or Amount is mandatory for loan security!,La quantità o l&#39;importo è obbligatorio per la garanzia del prestito!,
Only submittted unpledge requests can be approved,Possono essere approvate solo le richieste di mancato impegno inviate,
Interest Amount or Principal Amount is mandatory,L&#39;importo degli interessi o l&#39;importo del capitale è obbligatorio,
Disbursed Amount cannot be greater than {0},L&#39;importo erogato non può essere maggiore di {0},
Row {0}: Loan Security {1} added multiple times,Riga {0}: Prestito sicurezza {1} aggiunta più volte,
Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Riga n. {0}: l&#39;elemento secondario non deve essere un pacchetto di prodotti. Rimuovi l&#39;elemento {1} e salva,
Credit limit reached for customer {0},Limite di credito raggiunto per il cliente {0},
Could not auto create Customer due to the following missing mandatory field(s):,Impossibile creare automaticamente il cliente a causa dei seguenti campi obbligatori mancanti:,
Please create Customer from Lead {0}.,Crea cliente da lead {0}.,
Mandatory Missing,Obbligatorio mancante,
Please set Payroll based on in Payroll settings,Si prega di impostare Payroll in base a nelle Impostazioni Payroll,
Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Stipendio aggiuntivo: {0} esiste già per Componente stipendio: {1} per periodo {2} e {3},
From Date can not be greater than To Date.,Dalla data non può essere maggiore di Alla data.,
Payroll date can not be less than employee's joining date.,La data del libro paga non può essere inferiore alla data di adesione del dipendente.,
From date can not be less than employee's joining date.,La data di inizio non può essere inferiore alla data di adesione del dipendente.,
To date can not be greater than employee's relieving date.,Ad oggi non può essere maggiore della data di rilascio del dipendente.,
Payroll date can not be greater than employee's relieving date.,La data del libro paga non può essere maggiore della data di rilascio del dipendente.,
Row #{0}: Please enter the result value for {1},Riga n. {0}: inserisci il valore del risultato per {1},
Mandatory Results,Risultati obbligatori,
Sales Invoice or Patient Encounter is required to create Lab Tests,Per creare test di laboratorio è necessaria la fattura di vendita o l&#39;incontro con il paziente,
Insufficient Data,Dati insufficienti,
Lab Test(s) {0} created successfully,Test di laboratorio {0} creati correttamente,
Test :,Prova:,
Sample Collection {0} has been created,La raccolta di campioni {0} è stata creata,
Normal Range: ,Intervallo normale:,
Row #{0}: Check Out datetime cannot be less than Check In datetime,Riga # {0}: Check-out datetime non può essere inferiore a Check-in datetime,
"Missing required details, did not create Inpatient Record","Dettagli richiesti mancanti, non ha creato la cartella del ricoverato",
Unbilled Invoices,Fatture non fatturate,
Standard Selling Rate should be greater than zero.,La tariffa di vendita standard deve essere maggiore di zero.,
Conversion Factor is mandatory,Il fattore di conversione è obbligatorio,
Row #{0}: Conversion Factor is mandatory,Riga # {0}: il fattore di conversione è obbligatorio,
Sample Quantity cannot be negative or 0,La quantità del campione non può essere negativa o 0,
Invalid Quantity,Quantità non valida,
"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Imposta i valori predefiniti per Gruppo di clienti, Territorio e Listino prezzi di vendita in Impostazioni di vendita",
{0} on {1},{0} su {1},
{0} with {1},{0} con {1},
Appointment Confirmation Message Not Sent,Messaggio di conferma dell&#39;appuntamento non inviato,
"SMS not sent, please check SMS Settings","SMS non inviato, controlla le Impostazioni SMS",
Healthcare Service Unit Type cannot have both {0} and {1},Il tipo di unità di servizio sanitario non può avere sia {0} che {1},
Healthcare Service Unit Type must allow atleast one among {0} and {1},Il tipo di unità di servizio sanitario deve consentire almeno uno tra {0} e {1},
Set Response Time and Resolution Time for Priority {0} in row {1}.,Imposta il tempo di risposta e il tempo di risoluzione per la priorità {0} nella riga {1}.,
Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Il tempo di risposta per la {0} priorità nella riga {1} non può essere maggiore del tempo di risoluzione.,
{0} is not enabled in {1},{0} non è abilitato in {1},
Group by Material Request,Raggruppa per richiesta materiale,
"Row {0}: For Supplier {0}, Email Address is Required to Send Email","Riga {0}: per il fornitore {0}, l&#39;indirizzo e-mail è obbligatorio per inviare e-mail",
Email Sent to Supplier {0},Email inviata al fornitore {0},
"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","L&#39;accesso alla richiesta di preventivo dal portale è disabilitato. Per consentire l&#39;accesso, abilitalo nelle impostazioni del portale.",
Supplier Quotation {0} Created,Offerta fornitore {0} creata,
Valid till Date cannot be before Transaction Date,La data valida fino alla data non può essere precedente alla data della transazione,
Unlink Advance Payment on Cancellation of Order,Scollegare il pagamento anticipato all&#39;annullamento dell&#39;ordine,
"Simple Python Expression, Example: territory != 'All Territories'","Espressione Python semplice, esempio: territorio! = &#39;Tutti i territori&#39;",
Sales Contributions and Incentives,Contributi alle vendite e incentivi,
Sourced by Supplier,Fornito dal fornitore,
Total weightage assigned should be 100%.<br>It is {0},Il peso totale assegnato dovrebbe essere del 100%.<br> È {0},
Account {0} exists in parent company {1}.,L&#39;account {0} esiste nella società madre {1}.,
"To overrule this, enable '{0}' in company {1}","Per annullare questa impostazione, abilita &quot;{0}&quot; nell&#39;azienda {1}",
Invalid condition expression,Espressione della condizione non valida,
