"""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 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à,
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 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 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 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,
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 {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 {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",
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},
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 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,
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 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,
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,
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 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 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 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 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,
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} 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 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 mass SMS to your contacts,Invia SMS di massa ai tuoi contatti,
Sensitivity,sensibilità,
Sent,Inviati,
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 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.,
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} 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 {},
Assigned To,Assegnato a,
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,
Parent,Genitore,
Passive,Passivo,
Payment Failed,Pagamento fallito,
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,
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},
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 {0}","Caratteri speciali tranne &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{{&quot; E &quot;}}&quot; non consentiti nelle serie di nomi {0}",
Target Details,Dettagli target,
{0} already has a Parent Procedure {1}.,{0} ha già una procedura padre {1}.,
API,API,
Annual,Annuale,
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,
Scheduler Inactive,Scheduler inattivo,
Scheduler is inactive. Cannot import data.,Lo scheduler non è attivo. Impossibile importare i dati.,
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 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 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.,
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},
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 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 ...,
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 Applications from customers and employees.,Domande di prestito da parte di clienti e dipendenti.,
Loan Processes,Processi di prestito,
Loan Type for interest and penalty rates,Tipo di prestito per tassi di interesse e penalità,
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,
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 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 Customer first,Seleziona prima il cliente,
Please select Item Code first,Seleziona prima il codice articolo,
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
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,
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,
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,
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},
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 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,
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,
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,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,
Group by,Raggruppa per,
In stock,disponibile,
Item name,Nome Articolo,
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,
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,
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,
Over Billing Allowance (%),Indennità di fatturazione eccessiva (%),
Credit Controller,Controllare Credito,
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 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,
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,
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,
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,
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,
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,
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,
Stop Birthday Reminders,Arresto Compleanno Promemoria,
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,
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,
Repay From Salary,Rimborsare da Retribuzione,
Regular Payment,Pagamento regolare,
Loan Closure,Chiusura del prestito,
Rate of Interest (%) Yearly,Tasso di interesse (%) Performance,
Salary Slip Loan,Salario Slip Loan,
Loan Repayment Entry,Iscrizione rimborso prestiti,
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,
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,
Allow Production on Holidays,Consenti produzione su Vacanze,
Capacity Planning For (Days),Pianificazione Capacità per (giorni),
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,
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,
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 (via Timesheet),Tempo effettivo (in ore),
Costing and Billing,Costi e Fatturazione,
Total Costing Amount (via Timesheet),Total Costing Amount (via Timesheet),
Total Expense Claim (via Expense Claim),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 Timesheet),Importo totale fatturabile (tramite Timesheets),
Total Billed Amount (via Sales Invoice),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 Timesheet),Data di inizio effettiva (da Time Sheet),
Actual Time in Hours (via Timesheet),Tempo reale (in ore),
Actual End Date (via Timesheet),Data di fine effettiva (da Time Sheet),
Total Expense Claim (via Expense Claim),Rimborso spese totale (via Expense Claim),
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,
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,
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,
Default Quotation Validity Days,Giorni di validità delle quotazioni predefinite,
Sales Update Frequency,Frequenza di aggiornamento delle vendite,
Each Transaction,Ogni transazione,
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,
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.-,
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,
Show Barcode Field,Mostra campo del codice a barre,
Convert Item Description to Clean HTML,Converti la descrizione dell&#39;oggetto in Pulisci HTML,
Allow Negative Stock,Permetti Scorte Negative,
Automatically Set Serial Nos based on FIFO,Imposta automaticamente seriale Nos sulla base FIFO,
Auto Material Request,Richiesta Automatica Materiale,
Inter Warehouse Transfer Settings,Impostazioni trasferimento tra magazzino,
Freeze Stock Entries,Congela scorta voci,
Stock Frozen Upto,Giacenza Bloccate Fino,
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,
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,
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.",
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,
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,
Days,Giorni,
Months,Mesi,
Book Deferred Entries Via Journal Entry,Registrare registrazioni differite tramite registrazione prima nota,
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,
"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,
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,
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,
Manufacturing Section,Sezione Produzione,
"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,
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,
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,
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,
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,
Please Select a Company First,Seleziona prima una società,
Please Select Both Company and Party Type First,Seleziona prima sia la società che il tipo di partito,
Provide the invoice portion in percent,Fornisci la parte della fattura in percentuale,
Give number of days according to prior selection,Indicare il numero di giorni in base alla selezione precedente,
Email Details,Dettagli email,
"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Seleziona un saluto per il destinatario. Ad esempio, signor, signora, ecc.",
Preview Email,Anteprima email,
Please select a Supplier,Seleziona un fornitore,
Supplier Lead Time (days),Tempo di consegna del fornitore (giorni),
"Home, Work, etc.","Casa, lavoro, ecc.",
Exit Interview Held On,Esci Intervista trattenuta,
Condition and formula,Condizione e formula,
Sets 'Target Warehouse' in each row of the Items table.,Imposta &quot;Magazzino di destinazione&quot; in ogni riga della tabella Articoli.,
Sets 'Source Warehouse' in each row of the Items table.,Imposta &quot;Magazzino di origine&quot; in ogni riga della tabella Articoli.,
POS Register,Registro POS,
"Can not filter based on POS Profile, if grouped by POS Profile","Impossibile filtrare in base al profilo POS, se raggruppato per profilo POS",
"Can not filter based on Customer, if grouped by Customer","Non è possibile filtrare in base al cliente, se raggruppato per cliente",
"Can not filter based on Cashier, if grouped by Cashier","Non è possibile filtrare in base alla Cassa, se raggruppata per Cassa",
Payment Method,Metodo di pagamento,
"Can not filter based on Payment Method, if grouped by Payment Method","Non è possibile filtrare in base al metodo di pagamento, se raggruppato per metodo di pagamento",
Supplier Quotation Comparison,Confronto delle offerte dei fornitori,
Price per Unit (Stock UOM),Prezzo per unità (Stock UM),
Group by Supplier,Gruppo per fornitore,
Group by Item,Raggruppa per articolo,
Remember to set {field_label}. It is required by {regulation}.,Ricordati di impostare {field_label}. È richiesto dal {regolamento}.,
Enrollment Date cannot be before the Start Date of the Academic Year {0},La data di iscrizione non può essere antecedente alla data di inizio dell&#39;anno accademico {0},
Enrollment Date cannot be after the End Date of the Academic Term {0},La data di iscrizione non può essere successiva alla data di fine del periodo accademico {0},
Enrollment Date cannot be before the Start Date of the Academic Term {0},La data di iscrizione non può essere precedente alla data di inizio del periodo accademico {0},
Future Posting Not Allowed,Pubblicazione futura non consentita,
"To enable Capital Work in Progress Accounting, ","Per abilitare la contabilità dei lavori in corso,",
you must select Capital Work in Progress Account in accounts table,è necessario selezionare Conto lavori in corso nella tabella dei conti,
You can also set default CWIP account in Company {},Puoi anche impostare un account CWIP predefinito in Azienda {},
The Request for Quotation can be accessed by clicking on the following button,È possibile accedere alla Richiesta di offerta facendo clic sul pulsante seguente,
Regards,Saluti,
Please click on the following button to set your new password,Fare clic sul pulsante seguente per impostare la nuova password,
Update Password,Aggiorna password,
Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Riga n. {}: La percentuale di vendita dell&#39;articolo {} è inferiore alla relativa {}. La vendita di {} dovrebbe essere almeno {},
You can alternatively disable selling price validation in {} to bypass this validation.,"In alternativa, puoi disabilitare la convalida del prezzo di vendita in {} per ignorare questa convalida.",
Invalid Selling Price,Prezzo di vendita non valido,
Address needs to be linked to a Company. Please add a row for Company in the Links table.,L&#39;indirizzo deve essere collegato a una società. Aggiungi una riga per Azienda nella tabella Collegamenti.,
Company Not Linked,Società non collegata,
Import Chart of Accounts from CSV / Excel files,Importa piano dei conti da file CSV / Excel,
Completed Qty cannot be greater than 'Qty to Manufacture',La quantità completata non può essere maggiore di &quot;Qtà da produrre&quot;,
"Row {0}: For Supplier {1}, Email Address is Required to send an email","Riga {0}: per il fornitore {1}, l&#39;indirizzo e-mail è richiesto per inviare un&#39;e-mail",
"If enabled, the system will post accounting entries for inventory automatically","Se abilitato, il sistema registrerà automaticamente le voci contabili per l&#39;inventario",
Accounts Frozen Till Date,Conti congelati fino alla data,
Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,Le registrazioni contabili sono congelate fino a questa data. Nessuno può creare o modificare voci tranne gli utenti con il ruolo specificato di seguito,
Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Ruolo consentito per impostare account bloccati e modificare voci bloccate,
Address used to determine Tax Category in transactions,Indirizzo utilizzato per determinare la categoria fiscale nelle transazioni,
"The percentage you are allowed to bill more against the amount ordered. For example, if the order value is $100 for an item and tolerance is set as 10%, then you are allowed to bill up to $110 ","La percentuale che puoi 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%, allora puoi fatturare fino a $ 110",
This role is allowed to submit transactions that exceed credit limits,Questo ruolo è autorizzato a inviare transazioni che superano i limiti di credito,
"If ""Months"" is selected, a fixed amount will be booked as deferred revenue or expense for each month irrespective of the number of days in a month. It will be prorated if deferred revenue or expense is not booked for an entire month","Se si seleziona &quot;Mesi&quot;, verrà registrato un importo fisso come spesa o ricavo differito per ogni mese indipendentemente dal numero di giorni in un mese. Verrà ripartito se le entrate o le spese differite non vengono registrate per un intero mese",
"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Se questa opzione è deselezionata, verranno create voci GL dirette per contabilizzare entrate o spese differite",
Show Inclusive Tax in Print,Mostra IVA inclusiva in stampa,
Only select this if you have set up the Cash Flow Mapper documents,Selezionalo solo se hai impostato i documenti Cash Flow Mapper,
Payment Channel,Canale di pagamento,
Is Purchase Order Required for Purchase Invoice & Receipt Creation?,È necessario un ordine di acquisto per la creazione di fatture di acquisto e ricevute?,
Is Purchase Receipt Required for Purchase Invoice Creation?,È richiesta la ricevuta di acquisto per la creazione della fattura di acquisto?,
Maintain Same Rate Throughout the Purchase Cycle,Mantieni la stessa tariffa per tutto il ciclo di acquisto,
Allow Item To Be Added Multiple Times in a Transaction,Consenti all&#39;elemento di essere aggiunto più volte in una transazione,
Suppliers,Fornitori,
Send Emails to Suppliers,Invia email ai fornitori,
Select a Supplier,Seleziona un fornitore,
Cannot mark attendance for future dates.,Impossibile contrassegnare la partecipazione per date future.,
Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Vuoi aggiornare le presenze?<br> Presente: {0}<br> Assente: {1},
Mpesa Settings,Impostazioni Mpesa,
Initiator Name,Nome iniziatore,
Till Number,Fino al numero,
Sandbox,Sandbox,
 Online PassKey,PassKey in linea,
Security Credential,Credenziali di sicurezza,
Get Account Balance,Ottieni il saldo del conto,
Please set the initiator name and the security credential,Imposta il nome dell&#39;iniziatore e le credenziali di sicurezza,
Inpatient Medication Entry,Ingresso per farmaci ospedalieri,
HLC-IME-.YYYY.-,HLC-IME-.YYYY.-,
Item Code (Drug),Codice articolo (farmaco),
Medication Orders,Ordini di farmaci,
Get Pending Medication Orders,Ottieni ordini di farmaci in sospeso,
Inpatient Medication Orders,Ordini di farmaci ospedalieri,
Medication Warehouse,Magazzino dei farmaci,
Warehouse from where medication stock should be consumed,Magazzino da cui consumare le scorte di farmaci,
Fetching Pending Medication Orders,Recupero di ordini di farmaci in sospeso,
Inpatient Medication Entry Detail,Dettagli immissione farmaci ospedalieri,
Medication Details,Dettagli sui farmaci,
Drug Code,Codice dei farmaci,
Drug Name,Nome del farmaco,
Against Inpatient Medication Order,Contro l&#39;ordinanza di farmaci ospedalieri,
Against Inpatient Medication Order Entry,Contro l&#39;entrata dell&#39;ordine di farmaci ospedalieri,
Inpatient Medication Order,Ordine di farmaci ospedalieri,
HLC-IMO-.YYYY.-,HLC-IMO-.YYYY.-,
Total Orders,Ordini totali,
Completed Orders,Ordini completati,
Add Medication Orders,Aggiungi ordini di farmaci,
Adding Order Entries,Aggiunta di voci di ordine,
{0} medication orders completed,{0} ordini di farmaci completati,
{0} medication order completed,{0} ordine del farmaco completato,
Inpatient Medication Order Entry,Inserimento ordine di farmaci ospedalieri,
Is Order Completed,L&#39;ordine è stato completato,
Employee Records to Be Created By,Documenti dei dipendenti da creare,
Employee records are created using the selected field,I record dei dipendenti vengono creati utilizzando il campo selezionato,
Don't send employee birthday reminders,Non inviare promemoria di compleanno dei dipendenti,
Restrict Backdated Leave Applications,Limita le domande di uscita retrodatate,
Sequence ID,ID sequenza,
Sequence Id,ID sequenza,
Allow multiple material consumptions against a Work Order,Consenti più consumi di materiale rispetto a un ordine di lavoro,
Plan time logs outside Workstation working hours,Pianifica i registri orari al di fuori dell&#39;orario di lavoro della workstation,
Plan operations X days in advance,Pianifica le operazioni con X giorni di anticipo,
Time Between Operations (Mins),Tempo tra le operazioni (minuti),
Default: 10 mins,Predefinito: 10 min,
Overproduction for Sales and Work Order,Sovrapproduzione per vendita e ordine di lavoro,
"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","Aggiorna automaticamente il costo della distinta base tramite il pianificatore, in base all&#39;ultimo tasso di valutazione / tasso di listino / ultimo tasso di acquisto delle materie prime",
Purchase Order already created for all Sales Order items,Ordine di acquisto già creato per tutti gli articoli dell&#39;ordine di vendita,
Select Items,Seleziona elementi,
Against Default Supplier,Contro il fornitore predefinito,
Auto close Opportunity after the no. of days mentioned above,Opportunità di chiusura automatica dopo il n. dei giorni sopra menzionati,
Is Sales Order Required for Sales Invoice & Delivery Note Creation?,L&#39;ordine di vendita è necessario per la creazione di fatture di vendita e bolle di consegna?,
Is Delivery Note Required for Sales Invoice Creation?,La bolla di consegna è necessaria per la creazione della fattura di vendita?,
How often should Project and Company be updated based on Sales Transactions?,Con che frequenza è necessario aggiornare il progetto e la società in base alle transazioni di vendita?,
Allow User to Edit Price List Rate in Transactions,Consenti all&#39;utente di modificare il tasso di listino nelle transazioni,
Allow Item to Be Added Multiple Times in a Transaction,Consenti all&#39;elemento di essere aggiunto più volte in una transazione,
Allow Multiple Sales Orders Against a Customer's Purchase Order,Consenti più ordini di vendita a fronte di un ordine di acquisto del cliente,
Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Convalida del prezzo di vendita dell&#39;articolo rispetto al tasso di acquisto o al tasso di valutazione,
Hide Customer's Tax ID from Sales Transactions,Nascondi l&#39;ID fiscale del cliente dalle transazioni di vendita,
"The percentage you are allowed to receive or deliver more against the quantity ordered. For example, if you have ordered 100 units, and your Allowance is 10%, then you are allowed to receive 110 units.","La percentuale che ti è consentito ricevere o consegnare di più rispetto alla quantità ordinata. Ad esempio, se hai ordinato 100 unità e la tua indennità è del 10%, allora puoi ricevere 110 unità.",
Action If Quality Inspection Is Not Submitted,Azione se l&#39;ispezione di qualità non viene inviata,
Auto Insert Price List Rate If Missing,Inserimento automatico del tasso di listino se mancante,
Automatically Set Serial Nos Based on FIFO,Imposta automaticamente i numeri di serie in base a FIFO,
Set Qty in Transactions Based on Serial No Input,Imposta la quantità nelle transazioni in base al numero di serie non immesso,
Raise Material Request When Stock Reaches Re-order Level,Aumenta la richiesta di materiale quando lo stock raggiunge il livello di riordino,
Notify by Email on Creation of Automatic Material Request,Notifica tramite e-mail alla creazione di una richiesta di materiale automatica,
Allow Material Transfer from Delivery Note to Sales Invoice,Consenti trasferimento materiale dalla nota di consegna alla fattura di vendita,
Allow Material Transfer from Purchase Receipt to Purchase Invoice,Consenti trasferimento materiale dalla ricevuta d&#39;acquisto alla fattura d&#39;acquisto,
Freeze Stocks Older Than (Days),Blocca scorte più vecchie di (giorni),
Role Allowed to Edit Frozen Stock,Ruolo consentito per modificare stock congelati,
The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,L&#39;importo non allocato della voce di pagamento {0} è maggiore dell&#39;importo non allocato della transazione bancaria,
Payment Received,Pagamento ricevuto,
Attendance cannot be marked outside of Academic Year {0},La frequenza non può essere contrassegnata al di fuori dell&#39;anno accademico {0},
Student is already enrolled via Course Enrollment {0},Lo studente è già iscritto tramite l&#39;iscrizione al corso {0},
Attendance cannot be marked for future dates.,La partecipazione non può essere contrassegnata per date future.,
Please add programs to enable admission application.,Si prega di aggiungere programmi per abilitare la domanda di ammissione.,
The following employees are currently still reporting to {0}:,I seguenti dipendenti attualmente stanno ancora segnalando a {0}:,
Please make sure the employees above report to another Active employee.,Assicurati che i dipendenti di cui sopra riferiscano a un altro dipendente attivo.,
Cannot Relieve Employee,Non posso alleviare il dipendente,
Please enter {0},Inserisci {0},
Please select another payment method. Mpesa does not support transactions in currency '{0}',Seleziona un altro metodo di pagamento. Mpesa non supporta le transazioni nella valuta &quot;{0}&quot;,
Transaction Error,Errore di transazione,
Mpesa Express Transaction Error,Errore di transazione Mpesa Express,
"Issue detected with Mpesa configuration, check the error logs for more details","Problema rilevato con la configurazione di Mpesa, controlla i log degli errori per maggiori dettagli",
Mpesa Express Error,Errore di Mpesa Express,
Account Balance Processing Error,Errore di elaborazione del saldo del conto,
Please check your configuration and try again,Controlla la configurazione e riprova,
Mpesa Account Balance Processing Error,Errore di elaborazione del saldo del conto Mpesa,
Balance Details,Dettagli del saldo,
Current Balance,Bilancio corrente,
Available Balance,saldo disponibile,
Reserved Balance,Saldo riservato,
Uncleared Balance,Equilibrio non chiarito,
Payment related to {0} is not completed,Il pagamento relativo a {0} non è stato completato,
Row #{}: Item Code: {} is not available under warehouse {}.,Riga n. {}: Codice articolo: {} non è disponibile in magazzino {}.,
Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Riga n. {}: Quantità di stock non sufficiente per il codice articolo: {} in magazzino {}. Quantità disponibile {}.,
Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Riga # {}: selezionare un numero di serie e un batch rispetto all&#39;articolo: {} o rimuoverlo per completare la transazione.,
Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,Riga # {}: nessun numero di serie selezionato per l&#39;articolo: {}. Seleziona uno o rimuovilo per completare la transazione.,
Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,Riga n. {}: Nessun batch selezionato per l&#39;elemento: {}. Seleziona un batch o rimuovilo per completare la transazione.,
Payment amount cannot be less than or equal to 0,L&#39;importo del pagamento non può essere inferiore o uguale a 0,
Please enter the phone number first,Si prega di inserire prima il numero di telefono,
Row #{}: {} {} does not exist.,Riga # {}: {} {} non esiste.,
Row #{0}: {1} is required to create the Opening {2} Invoices,Riga n. {0}: {1} è richiesta per creare le {2} fatture di apertura,
You had {} errors while creating opening invoices. Check {} for more details,Hai avuto {} errori durante la creazione delle fatture di apertura. Controlla {} per maggiori dettagli,
Error Occured,C&#39;è stato un&#39;errore,
Opening Invoice Creation In Progress,Creazione fattura di apertura in corso,
Creating {} out of {} {},Creazione di {} su {} {},
(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,(Numero di serie: {0}) non può essere utilizzato poiché è riservato per completare l&#39;ordine di vendita {1}.,
Item {0} {1},Articolo {0} {1},
Last Stock Transaction for item {0} under warehouse {1} was on {2}.,L&#39;ultima transazione di magazzino per l&#39;articolo {0} in magazzino {1} è stata in data {2}.,
Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Le transazioni di magazzino per l&#39;articolo {0} in magazzino {1} non possono essere registrate prima di questo orario.,
Posting future stock transactions are not allowed due to Immutable Ledger,La registrazione di transazioni di stock future non è consentita a causa di Immutable Ledger,
A BOM with name {0} already exists for item {1}.,Esiste già una distinta base con il nome {0} per l&#39;articolo {1}.,
{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Hai rinominato l&#39;elemento? Si prega di contattare l&#39;amministratore / supporto tecnico,
At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},Alla riga # {0}: l&#39;ID sequenza {1} non può essere inferiore all&#39;ID sequenza di righe precedente {2},
The {0} ({1}) must be equal to {2} ({3}),{0} ({1}) deve essere uguale a {2} ({3}),
"{0}, complete the operation {1} before the operation {2}.","{0}, completa l&#39;operazione {1} prima dell&#39;operazione {2}.",
Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,Non è possibile garantire la consegna tramite numero di serie poiché l&#39;articolo {0} viene aggiunto con e senza garantire la consegna tramite numero di serie,
Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,L&#39;articolo {0} non ha un numero di serie. Solo gli articoli con numero di serie possono avere la consegna basata sul numero di serie,
No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Nessuna distinta base attiva trovata per l&#39;articolo {0}. La consegna tramite numero di serie non può essere garantita,
No pending medication orders found for selected criteria,Nessun ordine di farmaci in sospeso trovato per i criteri selezionati,
From Date cannot be after the current date.,Dalla data non può essere successiva alla data corrente.,
To Date cannot be after the current date.,Alla data non può essere successiva alla data corrente.,
From Time cannot be after the current time.,Dall&#39;ora non può essere successivo all&#39;ora corrente.,
To Time cannot be after the current time.,L&#39;ora non può essere successiva all&#39;ora corrente.,
Stock Entry {0} created and ,Stock Entry {0} creato e,
Inpatient Medication Orders updated successfully,Ordini di farmaci ospedalieri aggiornati correttamente,
Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Riga {0}: impossibile creare una voce di farmaco ospedaliero a fronte di un ordine di farmaci ospedalieri annullato {1},
Row {0}: This Medication Order is already marked as completed,Riga {0}: questo ordine di farmaci è già contrassegnato come completato,
Quantity not available for {0} in warehouse {1},Quantità non disponibile per {0} in magazzino {1},
Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Abilita Consenti stock negativo in Impostazioni scorte o crea immissione scorte per procedere.,
No Inpatient Record found against patient {0},Nessun record di degenza trovato per il paziente {0},
An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Esiste già un ordine per farmaci ospedalieri {0} contro l&#39;incontro con il paziente {1}.,
Allow In Returns,Consenti resi,
Hide Unavailable Items,Nascondi elementi non disponibili,
Apply Discount on Discounted Rate,Applica lo sconto sulla tariffa scontata,
Therapy Plan Template,Modello di piano terapeutico,
Fetching Template Details,Recupero dei dettagli del modello,
Linked Item Details,Dettagli articolo collegato,
Therapy Types,Tipi di terapia,
Therapy Plan Template Detail,Dettaglio del modello del piano terapeutico,
Non Conformance,Non conformità,
Process Owner,Proprietario del processo,
Corrective Action,Azione correttiva,
Preventive Action,Azione preventiva,
Problem,Problema,
Responsible,Responsabile,
Completion By,Completamento da,
Process Owner Full Name,Nome completo del proprietario del processo,
Right Index,Indice destro,
Left Index,Indice sinistro,
Sub Procedure,Procedura secondaria,
Passed,Passato,
Print Receipt,Stampa ricevuta,
Edit Receipt,Modifica ricevuta,
Focus on search input,Concentrati sull&#39;input di ricerca,
Focus on Item Group filter,Focus sul filtro Gruppo di articoli,
Checkout Order / Submit Order / New Order,Ordine di pagamento / Invia ordine / Nuovo ordine,
Add Order Discount,Aggiungi sconto ordine,
Item Code: {0} is not available under warehouse {1}.,Codice articolo: {0} non è disponibile in magazzino {1}.,
Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Numeri di serie non disponibili per l&#39;articolo {0} in magazzino {1}. Prova a cambiare magazzino.,
Fetched only {0} available serial numbers.,Sono stati recuperati solo {0} numeri di serie disponibili.,
Switch Between Payment Modes,Passa da una modalità di pagamento all&#39;altra,
Enter {0} amount.,Inserisci {0} importo.,
You don't have enough points to redeem.,Non hai abbastanza punti da riscattare.,
You can redeem upto {0}.,Puoi riscattare fino a {0}.,
Enter amount to be redeemed.,Inserisci l&#39;importo da riscattare.,
You cannot redeem more than {0}.,Non puoi riscattare più di {0}.,
Open Form View,Apri la visualizzazione modulo,
POS invoice {0} created succesfully,Fattura POS {0} creata con successo,
Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Quantità in stock non sufficiente per Codice articolo: {0} in magazzino {1}. Quantità disponibile {2}.,
Serial No: {0} has already been transacted into another POS Invoice.,Numero di serie: {0} è già stato trasferito in un&#39;altra fattura POS.,
Balance Serial No,Numero di serie della bilancia,
Warehouse: {0} does not belong to {1},Magazzino: {0} non appartiene a {1},
Please select batches for batched item {0},Seleziona batch per articolo in batch {0},
Please select quantity on row {0},Seleziona la quantità nella riga {0},
Please enter serial numbers for serialized item {0},Inserisci i numeri di serie per l&#39;articolo con numero di serie {0},
Batch {0} already selected.,Batch {0} già selezionato.,
Please select a warehouse to get available quantities,Seleziona un magazzino per ottenere le quantità disponibili,
"For transfer from source, selected quantity cannot be greater than available quantity","Per il trasferimento dall&#39;origine, la quantità selezionata non può essere maggiore della quantità disponibile",
Cannot find Item with this Barcode,Impossibile trovare l&#39;articolo con questo codice a barre,
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} è obbligatorio. Forse il record di cambio valuta non è stato creato da {1} a {2},
{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} ha inviato risorse ad esso collegate. È necessario annullare le risorse per creare un reso di acquisto.,
Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Impossibile annullare questo documento poiché è collegato alla risorsa inviata {0}. Annullalo per continuare.,
Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Riga # {}: il numero di serie {} è già stato trasferito in un&#39;altra fattura POS. Selezionare un numero di serie valido,
Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Riga n. {}: I numeri di serie {} sono già stati trasferiti in un&#39;altra fattura POS. Selezionare un numero di serie valido,
Item Unavailable,Articolo non disponibile,
Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Riga n. {}: Il numero di serie {} non può essere restituito poiché non è stato oggetto di transazione nella fattura originale {},
Please set default Cash or Bank account in Mode of Payment {},Imposta il conto corrente o il conto bancario predefinito in Modalità di pagamento {},
Please set default Cash or Bank account in Mode of Payments {},Imposta il conto corrente o il conto bancario predefinito in Modalità di pagamento {},
Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Assicurati che il conto {} sia un conto di bilancio. È possibile modificare il conto principale in un conto di bilancio o selezionare un conto diverso.,
Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Assicurati che il conto {} sia un conto pagabile. Cambia il tipo di conto in Pagabile o seleziona un conto diverso.,
Row {}: Expense Head changed to {} ,Riga {}: Intestazione spese modificata in {},
because account {} is not linked to warehouse {} ,perché l&#39;account {} non è collegato al magazzino {},
or it is not the default inventory account,oppure non è l&#39;account inventario predefinito,
Expense Head Changed,Testa di spesa modificata,
because expense is booked against this account in Purchase Receipt {},perché la spesa è registrata a fronte di questo account nella ricevuta di acquisto {},
as no Purchase Receipt is created against Item {}. ,poiché non viene creata alcuna ricevuta di acquisto per l&#39;articolo {}.,
This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Questa operazione viene eseguita per gestire la contabilità dei casi quando la ricevuta di acquisto viene creata dopo la fattura di acquisto,
Purchase Order Required for item {},Ordine di acquisto richiesto per l&#39;articolo {},
To submit the invoice without purchase order please set {} ,"Per inviare la fattura senza ordine di acquisto, impostare {}",
as {} in {},come in {},
Mandatory Purchase Order,Ordine di acquisto obbligatorio,
Purchase Receipt Required for item {},Ricevuta di acquisto richiesta per articolo {},
To submit the invoice without purchase receipt please set {} ,"Per inviare la fattura senza ricevuta di acquisto, impostare {}",
Mandatory Purchase Receipt,Ricevuta d&#39;acquisto obbligatoria,
POS Profile {} does not belongs to company {},Il profilo POS {} non appartiene all&#39;azienda {},
User {} is disabled. Please select valid user/cashier,L&#39;utente {} è disabilitato. Seleziona un utente / cassiere valido,
Row #{}: Original Invoice {} of return invoice {} is {}. ,Riga n. {}: La fattura originale {} della fattura di reso {} è {}.,
Original invoice should be consolidated before or along with the return invoice.,La fattura originale deve essere consolidata prima o insieme alla fattura di reso.,
You can add original invoice {} manually to proceed.,Puoi aggiungere manualmente la fattura originale {} per procedere.,
Please ensure {} account is a Balance Sheet account. ,Assicurati che il conto {} sia un conto di bilancio.,
You can change the parent account to a Balance Sheet account or select a different account.,È possibile modificare il conto principale in un conto di bilancio o selezionare un conto diverso.,
Please ensure {} account is a Receivable account. ,Assicurati che il conto {} sia un conto clienti.,
Change the account type to Receivable or select a different account.,Modificare il tipo di conto in Crediti o selezionare un conto diverso.,
{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} non può essere annullato poiché i punti fedeltà guadagnati sono stati riscattati. Per prima cosa annulla il {} No {},
already exists,esiste già,
POS Closing Entry {} against {} between selected period,Voce di chiusura POS {} contro {} tra il periodo selezionato,
POS Invoice is {},La fattura POS è {},
POS Profile doesn't matches {},Il profilo POS non corrisponde a {},
POS Invoice is not {},La fattura POS non è {},
POS Invoice isn't created by user {},La fattura POS non è stata creata dall&#39;utente {},
Row #{}: {},Riga n. {}: {},
Invalid POS Invoices,Fatture POS non valide,
Please add the account to root level Company - {},Aggiungi l&#39;account all&#39;Azienda di livello root - {},
"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 l&#39;azienda figlia {0}, account genitore {1} non trovato. Si prega di creare l&#39;account genitore nel corrispondente COA",
Account Not Found,Account non trovato,
"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Durante la creazione dell&#39;account per la società figlia {0}, l&#39;account principale {1} è stato trovato come conto contabile.",
Please convert the parent account in corresponding child company to a group account.,Converti l&#39;account genitore nella corrispondente azienda figlia in un account di gruppo.,
Invalid Parent Account,Account genitore non valido,
"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Rinominarlo è consentito solo tramite la società madre {0}, per evitare mancate corrispondenze.",
"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Se si {0} {1} la quantità dell&#39;articolo {2}, lo schema {3} verrà applicato all&#39;articolo.",
"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Se {0} {1} vali un articolo {2}, lo schema {3} verrà applicato all&#39;elemento.",
"As the field {0} is enabled, the field {1} is mandatory.","Poiché il campo {0} è abilitato, il campo {1} è obbligatorio.",
"As the field {0} is enabled, the value of the field {1} should be more than 1.","Poiché il campo {0} è abilitato, il valore del campo {1} dovrebbe essere maggiore di 1.",
Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Impossibile consegnare il numero di serie {0} dell&#39;articolo {1} poiché è riservato per completare l&#39;ordine di vendita {2},
"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","L&#39;ordine di vendita {0} ha una prenotazione per l&#39;articolo {1}, puoi solo consegnare prenotato {1} contro {0}.",
{0} Serial No {1} cannot be delivered,{0} Numero di serie {1} non può essere consegnato,
Row {0}: Subcontracted Item is mandatory for the raw material {1},Riga {0}: l&#39;articolo in conto lavoro è obbligatorio per la materia prima {1},
"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Poiché sono disponibili materie prime sufficienti, la richiesta di materiale non è richiesta per il magazzino {0}.",
" If you still want to proceed, please enable {0}.","Se desideri comunque procedere, abilita {0}.",
The item referenced by {0} - {1} is already invoiced,L&#39;articolo a cui fa riferimento {0} - {1} è già fatturato,
Therapy Session overlaps with {0},La sessione di terapia si sovrappone a {0},
Therapy Sessions Overlapping,Sessioni di terapia sovrapposte,
Therapy Plans,Piani terapeutici,
"Item Code, warehouse, quantity are required on row {0}","Codice articolo, magazzino e quantità sono obbligatori nella riga {0}",
Get Items from Material Requests against this Supplier,Ottieni articoli da richieste di materiale contro questo fornitore,
Enable European Access,Consentire l&#39;accesso europeo,
Creating Purchase Order ...,Creazione dell&#39;ordine di acquisto ...,
"Select a Supplier from the Default Suppliers of the items below. On selection, a Purchase Order will be made against items belonging to the selected Supplier only.","Seleziona un fornitore dai fornitori predefiniti degli articoli seguenti. Alla selezione, verrà effettuato un Ordine di acquisto solo per gli articoli appartenenti al Fornitore selezionato.",
Row #{}: You must select {} serial numbers for item {}.,Riga # {}: è necessario selezionare i {} numeri di serie per l&#39;articolo {}.,
