"""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à,
Applicant,Richiedente,
Applicant Type,Tipo di candidato,
Application of Funds (Assets),Applicazione dei fondi ( Assets ),
Application period cannot be across two allocation records,Il periodo di applicazione non può essere su due record di allocazione,
Application period cannot be outside leave allocation period,La data richiesta è fuori dal periodo di assegnazione,
Applied,Applicato,
Apply Now,Applica ora,
Appointment Confirmation,Conferma dell&#39;appuntamento,
Appointment Duration (mins),Durata dell'appuntamento (minuti),
Appointment Type,Tipo di appuntamento,
Appointment {0} and Sales Invoice {1} cancelled,Appuntamento {0} e Fattura di vendita {1} annullati,
Appointments and Encounters,Appuntamenti e incontri,
Appointments and Patient Encounters,Appuntamenti e incontri con il paziente,
Appraisal {0} created for Employee {1} in the given date range,Valutazione {0} creata per il Dipendente {1} nel periodo,
Apprentice,Apprendista,
Approval Status,Stato Approvazione,
Approval Status must be 'Approved' or 'Rejected',Stato approvazione deve essere 'Approvato' o 'Rifiutato',
Approve,Approva,
Approving Role cannot be same as role the rule is Applicable To,Approvazione ruolo non può essere lo stesso ruolo la regola è applicabile ad,
Approving User cannot be same as user the rule is Applicable To,Approvazione utente non può essere uguale all'utente la regola è applicabile ad,
"Apps using current key won't be able to access, are you sure?","Le app che utilizzano la chiave corrente non saranno in grado di accedere, sei sicuro?",
Are you sure you want to cancel this appointment?,Sei sicuro di voler annullare questo appuntamento?,
Arrear,arretrato,
As Examiner,Come esaminatore,
As On Date,Come in data,
As Supervisor,Come supervisore,
As per rules 42 & 43 of CGST Rules,Secondo le regole 42 e 43 delle Regole CGST,
As per section 17(5),Come da sezione 17 (5),
As per your assigned Salary Structure you cannot apply for benefits,In base alla struttura retributiva assegnata non è possibile richiedere prestazioni,
Assessment,Valutazione,
Assessment Criteria,Critero di valutazione,
Assessment Group,Gruppo valutazione,
Assessment Group: ,Gruppo di valutazione:,
Assessment Plan,Piano di valutazione,
Assessment Plan Name,Nome del piano di valutazione,
Assessment Report,Rapporto della valutazione,
Assessment Reports,Rapporti di valutazione,
Assessment Result,Risultato valutazione,
Assessment Result record {0} already exists.,Risultato della valutazione {0} già esistente.,
Asset,attività,
Asset Category,Asset Categoria,
Asset Category is mandatory for Fixed Asset item,Asset categoria è obbligatoria per voce delle immobilizzazioni,
Asset Maintenance,Manutenzione delle risorse,
Asset Movement,Movimento Asset,
Asset Movement record {0} created,record di Asset Movimento {0} creato,
Asset Name,Asset Nome,
Asset Received But Not Billed,Attività ricevuta ma non fatturata,
Asset Value Adjustment,Regolazione del valore del patrimonio,
"Asset cannot be cancelled, as it is already {0}","Asset non può essere annullato, in quanto è già {0}",
Asset scrapped via Journal Entry {0},Asset demolito tramite diario {0},
"Asset {0} cannot be scrapped, as it is already {1}","Asset {0} non può essere gettata, come è già {1}",
Asset {0} does not belong to company {1},Asset {0} non appartiene alla società {1},
Asset {0} must be submitted,Asset {0} deve essere presentata,
Assets,Risorse,
Assign,Assegna,
Assign Salary Structure,Assegna struttura salariale,
Assign To,Assegna a,
Assign to Employees,Assegna ai dipendenti,
Assigning Structures...,Assegnazione strutture...,
Associate,Associate,
At least one mode of payment is required for POS invoice.,è richiesta almeno una modalità di pagamento per POS fattura.,
Atleast one item should be entered with negative quantity in return document,Atleast un elemento deve essere introdotto con quantità negativa nel documento ritorno,
Atleast one of the Selling or Buying must be selected,", Almeno una delle vendere o acquistare deve essere selezionata",
Atleast one warehouse is mandatory,È obbligatorio almeno un deposito,
Attach Logo,Allega Logo,
Attachment,Allegato,
Attachments,Allegati,
Attendance,Presenze,
Attendance From Date and Attendance To Date is mandatory,Inizio e Fine data della frequenza sono obbligatori,
Attendance can not be marked for future dates,La presenza non può essere inserita nel futuro,
Attendance date can not be less than employee's joining date,La data della presenza non può essere inferiore alla data di assunzione del dipendente,
Attendance for employee {0} is already marked,Assistenza per dipendente {0} è già contrassegnata,
Attendance for employee {0} is already marked for this day,La presenza per il dipendente {0} è già registrata per questo giorno,
Attendance has been marked successfully.,La partecipazione è stata segnata con successo.,
Attendance not submitted for {0} as it is a Holiday.,Partecipazione non inviata per {0} in quanto è una festività.,
Attendance not submitted for {0} as {1} on leave.,Presenza non inviata per {0} come {1} in congedo.,
Attribute table is mandatory,Tavolo attributo è obbligatorio,
Attribute {0} selected multiple times in Attributes Table,Attributo {0} selezionato più volte in Attributi Tabella,
Author,Autore,
Authorized Signatory,Firma autorizzata,
Auto Material Requests Generated,Richieste materiale generata automaticamente,
Auto Repeat,Ripetizione automatica,
Auto repeat document updated,Ripetizione automatica aggiornata,
Automotive,Automotive,
Available,Disponibile,
Available Leaves,Ferie disponibili,
Available Qty,Disponibile Quantità,
Available Selling,Vendita disponibile,
Available for use date is required,Disponibile per la data di utilizzo è richiesto,
Available slots,Slot disponibili,
Available {0},Disponibile {0},
Available-for-use Date should be after purchase date,Data disponibile per l&#39;uso dovrebbe essere successiva alla data di acquisto,
Average Age,Età media,
Average Rate,Tasso medio,
Avg Daily Outgoing,Media giornaliera in uscita,
Avg. Buying Price List Rate,Avg. Comprare il listino prezzi,
Avg. Selling Price List Rate,Avg. Tasso di listino prezzi di vendita,
Avg. Selling Rate,Avg. Tasso di vendita,
BOM,Distinta Base,
BOM Browser,Sfoglia BOM,
BOM No,BOM n.,
BOM Rate,BOM Tasso,
BOM Stock Report,Report Giacenza Distinta Base,
BOM and Manufacturing Quantity are required,Distinta Base e Quantità Produzione richieste,
BOM does not contain any stock item,Distinta Base non contiene alcun articolo a magazzino,
BOM {0} does not belong to Item {1},Distinta Base {0} non appartiene all'Articolo {1},
BOM {0} must be active,Distinta Base {0} deve essere attiva,
BOM {0} must be submitted,BOM {0} deve essere confermata,
Balance,Saldo,
Balance (Dr - Cr),Saldo (Dr - Cr),
Balance ({0}),Saldo ({0}),
Balance Qty,Saldo Quantità,
Balance Sheet,Bilancio Patrimoniale,
Balance Value,Valore Saldo,
Balance for Account {0} must always be {1},Il Saldo del Conto {0} deve essere sempre {1},
Bank,Banca,
Bank Account,Conto bancario,
Bank Accounts,Conti bancari,
Bank Draft,Assegno Bancario,
Bank Entries,Registrazioni bancarie,
Bank Name,Nome Banca,
Bank Overdraft Account,Conto di scoperto bancario,
Bank Reconciliation,Riconciliazione Banca,
Bank Reconciliation Statement,Prospetto di Riconciliazione Banca,
Bank Statement,Estratto conto bancario,
Bank Statement Settings,Impostazioni conto bancario,
Bank Statement balance as per General Ledger,Estratto conto banca come da Contabilità Generale,
Bank account cannot be named as {0},Il Conto bancario non si può chiamare {0},
Bank/Cash transactions against party or for internal transfer,Transazioni Banca/Cassa solo a favore di partner o per giroconto,
Banking,Bancario,
Banking and Payments,Banche e pagamenti,
Barcode {0} already used in Item {1},Codice a barre {0} già utilizzato nel Prodotto {1},
Barcode {0} is not a valid {1} code,Il codice a barre {0} non è un codice {1} valido,
Base,Base,
Base URL,URL di base,
Based On,Basato su,
Based On Payment Terms,Basato sui termini di pagamento,
Basic,Base,
Batch,Lotto,
Batch Entries,Voci in lotti,
Batch ID is mandatory,L&#39;ID batch è obbligatorio,
Batch Inventory,Inventario lotti,
Batch Name,Nome Lotto,
Batch No,Lotto N.,
Batch number is mandatory for Item {0},Numero di lotto obbligatoria per la voce {0},
Batch {0} of Item {1} has expired.,Il lotto {0} di {1} scaduto.,
Batch {0} of Item {1} is disabled.,Il lotto {0} dell'articolo {1} è disabilitato.,
Batch: ,Lotto:,
Batches,lotti,
Become a Seller,Diventa un venditore,
Beginner,Principiante,
Bill,Fattura,
Bill Date,Data Fattura,
Bill No,Fattura N.,
Bill of Materials,Distinte materiali,
Bill of Materials (BOM),Distinte materiali (BOM),
Billable Hours,Ore fatturabili,
Billed,Addebbitato,
Billed Amount,Importo fatturato,
Billing,Fatturazione,
Billing Address,Indirizzo Di Fatturazione,
Billing Address is same as Shipping Address,L&#39;indirizzo di fatturazione è uguale all&#39;indirizzo di spedizione,
Billing Amount,Importo della fattura,
Billing Status,Stato Fatturazione,
Billing currency must be equal to either default company's currency or party account currency,La valuta di fatturazione deve essere uguale alla valuta della società predefinita o alla valuta dell&#39;account del partito,
Bills raised by Suppliers.,Fatture emesse dai fornitori.,
Bills raised to Customers.,Fatture sollevate dai Clienti.,
Biotechnology,Biotecnologia,
Birthday Reminder,Promemoria di compleanno,
Black,Nero,
Blanket Orders from Costumers.,Ordini completi da clienti.,
Block Invoice,Blocca Fattura,
Boms,Distinte Base,
Bonus Payment Date cannot be a past date,La data di pagamento bonus non può essere una data passata,
Both Trial Period Start Date and Trial Period End Date must be set,È necessario impostare la Data di inizio del periodo di prova e la Data di fine del periodo di prova,
Both Warehouse must belong to same Company,Entrambi i magazzini devono appartenere alla stessa società,
Branch,Ramo,
Broadcasting,emittente,
Brokerage,mediazione,
Browse BOM,Sfoglia Distinta Base,
Budget Against,Bilancio contro,
Budget List,Elenco dei budget,
Budget Variance Report,Report Variazione Budget,
Budget cannot be assigned against Group Account {0},Bilancio non può essere assegnato contro account gruppo {0},
"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Bilancio non può essere assegnato contro {0}, in quanto non è un conto entrate o uscite",
Buildings,edifici,
Bundle items at time of sale.,Articoli Combinati e tempi di vendita.,
Business Development Manager,Business Development Manager,
Buy,Acquista,
Buying,Acquisti,
Buying Amount,Importo Acquisto,
Buying Price List,Listino prezzi acquisto,
Buying Rate,Tasso di acquisto,
"Buying must be checked, if Applicable For is selected as {0}","L'acquisto deve essere controllato, se ""applicabile per"" bisogna selezionarlo come {0}",
By {0},Di {0},
Bypass credit check at Sales Order ,Bypassare il controllo del credito in ordine cliente,
C-Form records,Record C -Form,
C-form is not applicable for Invoice: {0},C-form non è applicabile per la fattura: {0},
CEO,Amministratore delegato,
CESS Amount,Importo CESS,
CGST Amount,Quantità CGST,
CRM,CRM,
CWIP Account,Account CWIP,
Calculated Bank Statement balance,Calcolato equilibrio estratto conto,
Calls,chiamate,
Campaign,Campagna,
Can be approved by {0},Può essere approvato da {0},
"Can not filter based on Account, if grouped by Account","Non è possibile filtrare sulla base di conto , se raggruppati per conto",
"Can not filter based on Voucher No, if grouped by Voucher","Non è possibile filtrare sulla base del N. Voucher, se raggruppati per Voucher",
"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Impossibile contrassegnare il record del ricovero scaricabile, ci sono fatture non fatturate {0}",
Can only make payment against unbilled {0},Posso solo effettuare il pagamento non ancora fatturate contro {0},
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Può riferirsi fila solo se il tipo di carica è 'On Fila Indietro Importo ' o ' Indietro totale riga ',
"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Impossibile modificare il metodo di valorizzazione, in quanto vi sono transazioni contro alcuni elementi che non hanno il proprio metodo di valorizzazione",
Can't create standard criteria. Please rename the criteria,Impossibile creare criteri standard. Si prega di rinominare i criteri,
Cancel,Annulla,
Cancel Material Visit {0} before cancelling this Warranty Claim,Annulla Materiale Visita {0} prima di annullare questa rivendicazione di Garanzia,
Cancel Material Visits {0} before cancelling this Maintenance Visit,Annulla Visite Materiale {0} prima di annullare questa visita di manutenzione,
Cancel Subscription,Annullare l&#39;iscrizione,
Cancel the journal entry {0} first,Annullare prima la voce di giornale {0},
Canceled,Annullato,
"Cannot Submit, Employees left to mark attendance","Impossibile inviare, dipendenti lasciati per contrassegnare la presenza",
Cannot be a fixed asset item as Stock Ledger is created.,Non può essere un elemento fisso quando viene creato il libro mastro.,
Cannot cancel because submitted Stock Entry {0} exists,Impossibile annullare perché esiste un movimento di magazzino {0},
Cannot cancel transaction for Completed Work Order.,Impossibile annullare la transazione per l&#39;ordine di lavoro completato.,
Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},Impossibile cancellare {0} {1} perché il numero di serie {2} non appartiene al magazzino {3},
Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Impossibile modificare gli Attributi dopo il trasferimento di magazzino. Crea un nuovo Articolo e trasferisci le scorte al nuovo Articolo,
Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Impossibile modificare data di inizio e di fine anno fiscale una volta che l'anno fiscale è stato salvato.,
Cannot change Service Stop Date for item in row {0},Impossibile modificare la data di interruzione del servizio per l&#39;articolo nella riga {0},
Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,Impossibile modificare le proprietà Variant dopo la transazione stock. Dovrai creare un nuovo oggetto per farlo.,
"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Non è possibile cambiare la valuta di default dell'azienda , perché ci sono le transazioni esistenti . Le operazioni devono essere cancellate per cambiare la valuta di default .",
Cannot change status as student {0} is linked with student application {1},Impossibile cambiare status di studente {0} è collegata con l&#39;applicazione studente {1},
Cannot convert Cost Center to ledger as it has child nodes,Impossibile convertire centro di costo a registro come ha nodi figlio,
Cannot covert to Group because Account Type is selected.,Non può convertirsi in Gruppo perché è stato selezionato Tipo di account.,
Cannot create Retention Bonus for left Employees,Impossibile creare il bonus di conservazione per i dipendenti di sinistra,
Cannot create a Delivery Trip from Draft documents.,Impossibile creare un viaggio di consegna da documenti bozza.,
Cannot deactivate or cancel BOM as it is linked with other BOMs,Impossibile disattivare o cancellare la Distinta Base in quanto è collegata con altre,
"Cannot declare as lost, because Quotation has been made.",Non può essere dichiarato come perso perché è stato fatto un Preventivo.,
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Non può dedurre quando categoria è di ' valutazione ' o ' Valutazione e Total ',
Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Non può dedurre quando categoria è per &#39;valutazione&#39; o &#39;Vaulation e Total&#39;,
"Cannot delete Serial No {0}, as it is used in stock transactions","Impossibile eliminare N. di serie {0}, come si usa in transazioni di borsa",
Cannot enroll more than {0} students for this student group.,Non possono iscriversi più di {0} studenti per questo gruppo.,
Cannot find 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 Amount cannot exceed Maximum Loan Amount of {0},Importo del prestito non può superare il massimo importo del prestito {0},
Loan Application,Domanda di prestito,
Loan Management,Gestione dei prestiti,
Loan Repayment,Rimborso del prestito,
Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,La data di inizio del prestito e il periodo del prestito sono obbligatori per salvare lo sconto fattura,
Loans (Liabilities),Prestiti (passività ),
Loans and Advances (Assets),Crediti ( Assets ),
Local,Locale,
Log,Log,
Logs for maintaining sms delivery status,I registri per il mantenimento dello stato di consegna sms,
Lost,Perso,
Lost Reasons,Ragioni perse,
Low,Basso,
Low Sensitivity,Sensibilità bassa,
Lower Income,Reddito più basso,
Loyalty Amount,Importo fedeltà,
Loyalty Point Entry,Punto fedeltà,
Loyalty Points,Punti fedeltà,
"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","I Punti Fedeltà saranno calcolati a partire dal totale speso (tramite la Fattura di vendita), in base al fattore di raccolta menzionato.",
Loyalty Points: {0},Punti fedeltà: {0},
Loyalty Program,Programma fedeltà,
Main,Principale,
Maintenance,Manutenzione,
Maintenance Log,Registro di manutenzione,
Maintenance Manager,Responsabile della manutenzione,
Maintenance Schedule,Programma di manutenzione,
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Programma di manutenzione non generato per tutte le voci. Rieseguire 'Genera Programma',
Maintenance Schedule {0} exists against {1},Il programma di manutenzione {0} esiste contro {1},
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Programma di manutenzione {0} deve essere cancellato prima di annullare questo ordine di vendita,
Maintenance Status has to be Cancelled or Completed to Submit,Lo stato di manutenzione deve essere annullato o completato per inviare,
Maintenance User,Manutenzione utente,
Maintenance Visit,Visita di manutenzione,
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,La manutenzione {0} deve essere cancellata prima di annullare questo ordine di vendita,
Maintenance start date can not be before delivery date for Serial No {0},La data di inizio manutenzione non può essere precedente alla data di consegna del Nº di Serie {0},
Make,Fare,
Make Payment,Effettua un  Pagamento,
Make project from a template.,Crea progetto da un modello.,
Making Stock Entries,Creazione scorte,
Male,Maschio,
Manage Customer Group Tree.,Gestire cliente con raggruppamento ad albero,
Manage Sales Partners.,Gestire punti vendita,
Manage Sales Person Tree.,Gestire venditori ad albero,
Manage Territory Tree.,Gestire territorio ad albero,
Manage your orders,Gestisci i tuoi ordini,
Management,Amministrazione,
Manager,Manager,
Managing Projects,Gestione progetti,
Managing Subcontracting,Gestione conto lavoro / terzista,
Mandatory,Obbligatorio,
Mandatory field - Academic Year,Campo obbligatorio - Anno accademico,
Mandatory field - Get Students From,Campo obbligatorio - Prendi gli studenti da,
Mandatory field - Program,Campo obbligatorio - Programma,
Manufacture,Produzione,
Manufacturer,Produttore,
Manufacturer Part Number,Codice articolo Produttore,
Manufacturing,Produzione,
Manufacturing Quantity is mandatory,La quantità da produrre è obbligatoria,
Mapping,Mappatura,
Mapping Type,Tipo di mapping,
Mark Absent,Contrassegna come Assente,
Mark Attendance,Segna la presenza,
Mark Half Day,Segna come Mezza giornata,
Mark Present,Segna come Presente,
Marketing,Marketing,
Marketing Expenses,Spese di marketing,
Marketplace,Mercato,
Marketplace Error,Errore del Marketplace,
Masters,Principali,
Match Payments with Invoices,Partita pagamenti con fatture,
Match non-linked Invoices and Payments.,Partita Fatture non collegati e pagamenti.,
Material,Materiale,
Material Consumption,Consumo di materiale,
Material Consumption is not set in Manufacturing Settings.,Il consumo di materiale non è impostato nelle impostazioni di produzione.,
Material Receipt,Materiale ricevuto,
Material Request,Richiesta materiale,
Material Request Date,Data richiesta materiale,
Material Request No,Richiesta materiale No,
"Material Request not created, as quantity for Raw Materials already available.","Richiesta materiale non creata, poiché quantità per materie prime già disponibile.",
Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Richiesta materiale di massimo {0} può essere fatto per la voce {1} contro ordine di vendita {2},
Material Request to Purchase Order,Richiesta materiale per ordine d&#39;acquisto,
Material Request {0} is cancelled or stopped,Richiesta materiale {0} è stato annullato o interrotto,
Material Request {0} submitted.,Richiesta materiale {0} inviata.,
Material Transfer,Trasferimento materiale,
Material Transferred,Materiale trasferito,
Material to Supplier,Materiale al Fornitore,
Max Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},L&#39;importo massimo dell&#39;esenzione non può essere superiore all&#39;importo massimo dell&#39;esenzione {0} della categoria di esenzione fiscale {1},
Max benefits should be greater than zero to dispense benefits,I benefici massimi dovrebbero essere maggiori di zero per erogare i benefici,
Max discount allowed for item: {0} is {1}%,Sconto massimo consentito per la voce: {0} {1}%,
Max: {0},Max: {0},
Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,Gli esempi massimi - {0} possono essere conservati per Batch {1} e Item {2}.,
Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,Numero massimo di campioni: {0} sono già stati conservati per il batch {1} e l&#39;articolo {2} nel batch {3}.,
Maximum amount eligible for the component {0} exceeds {1},L&#39;importo massimo ammissibile per il componente {0} supera {1},
Maximum benefit amount of component {0} exceeds {1},L&#39;importo massimo del vantaggio del componente {0} supera {1},
Maximum benefit amount of employee {0} exceeds {1},L&#39;importo massimo del beneficio del dipendente {0} supera {1},
Maximum discount for Item {0} is {1}%,Lo sconto massimo per l&#39;articolo {0} è {1}%,
Maximum leave allowed in the leave type {0} is {1},Permesso massimo permesso nel tipo di permesso {0} è {1},
Medical,Medico,
Medical Code,Codice medico,
Medical Code Standard,Codice medico standard,
Medical Department,Dipartimento medico,
Medical Record,Cartella medica,
Medium,Media,
Meeting,Incontro,
Member Activity,Attività dei membri,
Member ID,ID membro,
Member Name,Nome del membro,
Member information.,Informazioni sui membri,
Membership,membri,
Membership Details,Dettagli iscrizione,
Membership ID,ID di appartenenza,
Membership Type,Tipo di abbonamento,
Memebership Details,Dettagli di estensione,
Memebership Type Details,Dettagli tipo di unità,
Merge,Unisci,
Merge Account,Unisci il Conto,
Merge with Existing Account,Unisci con un Conto esistente,
"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","La fusione è possibile solo se le seguenti proprietà sono le stesse in entrambi i record. E' un Gruppo, Tipo Radice, Azienda",
Message Examples,Esempi di messaggi,
Message Sent,Messaggio inviato,
Method,Metodo,
Middle Income,Reddito medio,
Middle Name,Secondo nome,
Middle Name (Optional),Secondo nome (facoltativo),
Min Amt can not be greater than Max Amt,Amt min non può essere maggiore di Amt massimo,
Min Qty can not be greater than Max Qty,La quantità Min non può essere maggiore della quantità Max,
Minimum Lead Age (Days),Età di piombo minima (giorni),
Miscellaneous Expenses,Spese varie,
Missing Currency Exchange Rates for {0},Manca valuta Tassi di cambio in {0},
Missing email template for dispatch. Please set one in Delivery Settings.,Modello di email mancante per la spedizione. Si prega di impostarne uno in Impostazioni di consegna.,
"Missing value for Password, API Key or Shopify URL","Valore mancante per Password, Chiave API o URL Shopify",
Mode of Payment,Modalità di pagamento,
Mode of Payments,Modalità di pagamento,
Mode of Transport,Modalità di trasporto,
Mode of Transportation,Modo di trasporto,
Mode of payment is required to make a payment,Modalità di pagamento è richiesto di effettuare un pagamento,
Model,Modello,
Moderate Sensitivity,Sensibilità moderata,
Monday,Lunedi,
Monthly,Mensile,
Monthly Distribution,Distribuzione mensile,
Monthly Repayment Amount cannot be greater than Loan Amount,Rimborso mensile non può essere maggiore di prestito Importo,
More,Più,
More Information,Maggiori informazioni,
More than one selection for {0} not allowed,Non è consentita più di una selezione per {0},
More...,Di Più...,
Motion Picture & Video,Motion Picture & Video,
Move,Sposta,
Move Item,Sposta articolo,
Multi Currency,Multi valuta,
Multiple Item prices.,Prezzi Articolo Multipli,
Multiple Loyalty Program found for the Customer. Please select manually.,"Sono stati trovati più Programmi Fedeltà per il Cliente. Per favore, selezionane uno manualmente.",
"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}","Più regole Prezzo esiste con stessi criteri, si prega di risolvere i conflitti tramite l&#39;assegnazione di priorità. Regole Prezzo: {0}",
Multiple Variants,Varianti multiple,
Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,esistono più esercizi per la data {0}. Si prega di impostare società l&#39;anno fiscale,
Music,Musica,
My Account,Il Mio Account,
Name error: {0},Nome errore: {0},
Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Nome del nuovo conto. Nota: Si prega di non creare account per Clienti e Fornitori,
Name or Email is mandatory,Nome o e-mail è obbligatorio,
Nature Of Supplies,Natura delle forniture,
Navigating,navigazione,
Needs Analysis,Necessita di analisi,
Negative Quantity is not allowed,Quantità negative non sono consentite,
Negative Valuation Rate is not allowed,Non è consentito un tasso di valorizzazione negativo,
Negotiation/Review,Negoziazione / Recensione,
Net Asset value as on,valore patrimoniale netto su,
Net Cash from Financing,Di cassa netto da finanziamento,
Net Cash from Investing,Di cassa netto da investimenti,
Net Cash from Operations,Cassa netto da attività,
Net Change in Accounts Payable,Variazione netta in Contabilità fornitori,
Net Change in Accounts Receivable,Variazione netta dei crediti,
Net Change in Cash,Variazione netta delle disponibilità,
Net Change in Equity,Variazione netta Patrimonio,
Net Change in Fixed Asset,Variazione netta delle immobilizzazioni,
Net Change in Inventory,Variazione netta Inventario,
Net ITC Available(A) - (B),Net ITC disponibile (A) - (B),
Net Pay,Retribuzione netta,
Net Pay cannot be less than 0,Retribuzione netta non può essere inferiore a 0,
Net Profit,Profitto netto,
Net Salary Amount,Importo salariale netto,
Net Total,Totale netto,
Net pay cannot be negative,Retribuzione netta non può essere negativa,
New Account Name,Nuovo nome account,
New Address,Nuovo indirizzo,
New BOM,Nuova Distinta Base,
New Batch ID (Optional),Nuovo ID batch (opzionale),
New Batch Qty,Nuovo Batch Qty,
New Company,Nuova Azienda,
New Cost Center Name,Nuovo nome centro di costo,
New Customer Revenue,Nuovi Ricavi Cliente,
New Customers,nuovi clienti,
New Department,Nuovo dipartimento,
New Employee,Nuovo Dipendente,
New Location,Nuova sede,
New Quality Procedure,Nuova procedura di qualità,
New Sales Invoice,Nuova fattura di vendita,
New Sales Person Name,Nome nuova persona vendite,
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Un nuovo Serial No non può avere un magazzino. Il magazzino deve essere impostato  nell'entrata giacenza o su ricevuta d'acquisto,
New Warehouse Name,Nuovo nome magazzino,
New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},Il Nuovo limite di credito è inferiore all'attuale importo dovuto dal cliente. Il limite di credito deve essere almeno {0},
New task,Nuova attività,
New {0} pricing rules are created,Vengono create nuove regole di tariffazione {0},
Newsletters,Newsletters,
Newspaper Publishers,Editori Giornali,
Next,Successivo,
Next Contact By cannot be same as the Lead Email Address,Successivo Contatto Con non può coincidere con l'email del Lead,
Next Contact Date cannot be in the past,Successivo Contattaci data non puó essere in passato,
Next Steps,Prossimi passi,
No Action,Nessuna azione,
No Customers yet!,Nessun cliente ancora!,
No Data,Dati Assenti,
No Delivery Note selected for Customer {},Nessuna nota di consegna selezionata per il cliente {},
No Employee Found,Nessun dipendente trovato,
No Item with Barcode {0},Nessun articolo con codice a barre {0},
No Item with Serial No {0},Nessun articolo con numero di serie {0},
No Items available for transfer,Nessun articolo disponibile per il trasferimento,
No Items selected for transfer,Nessun elemento selezionato per il trasferimento,
No Items to pack,Non ci sono elementi per il confezionamento,
No Items with Bill of Materials to Manufacture,Non ci sono elementi con Bill of Materials per la produzione,
No Items with Bill of Materials.,Nessun articolo con distinta materiali.,
No Permission,Nessuna autorizzazione,
No 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,
Payable Amount,Importo da pagare,
Payment,Pagamento,
Payment Cancelled. Please check your GoCardless Account for more details,Pagamento annullato. Controlla il tuo account GoCardless per maggiori dettagli,
Payment Confirmation,Conferma di pagamento,
Payment Date,Data di pagamento,
Payment Days,Giorni di pagamento,
Payment Document,Documento di pagamento,
Payment Due Date,Scadenza,
Payment Entries {0} are un-linked,I Pagamenti {0} non sono collegati,
Payment Entry,Pagamento,
Payment Entry already exists,Il Pagamento esiste già,
Payment Entry has been modified after you pulled it. Please pull it again.,Pagamento ingresso è stato modificato dopo l'tirato. Si prega di tirare di nuovo.,
Payment Entry is already created,Il Pagamento è già stato creato,
Payment Failed. Please check your GoCardless Account for more details,Pagamento fallito. Controlla il tuo account GoCardless per maggiori dettagli,
Payment Gateway,Gateway di pagamento,
"Payment Gateway Account not created, please create one manually.","Payment Gateway account non ha creato, per favore creare uno manualmente.",
Payment Gateway Name,Nome gateway di pagamento,
Payment Mode,Modalità di pagamento,
Payment Receipt Note,Nota Ricevuta di pagamento,
Payment Request,Richiesta di pagamento,
Payment Request for {0},Richiesta di pagamento per {0},
Payment Tems,Temi di pagamento,
Payment Term,Termine di pagamento,
Payment Terms,Termini di pagamento,
Payment Terms Template,Modello di termini di pagamento,
Payment Terms based on conditions,Termini di pagamento in base alle condizioni,
Payment Type,Tipo di pagamento,
"Payment Type must be one of Receive, Pay and Internal Transfer","Tipo di pagamento deve essere uno dei Ricevere, Pay e di trasferimento interno",
Payment against {0} {1} cannot be greater than Outstanding Amount {2},Il pagamento contro {0} {1} non può essere maggiore dell'importo dovuto {2},
Payment of {0} from {1} to {2},Pagamento di {0} da {1} a {2},
Payment request {0} created,La richiesta di pagamento {0} è stata creata,
Payments,pagamenti,
Payroll,Libro paga,
Payroll Number,Numero del libro paga,
Payroll Payable,Payroll da pagare,
Payslip,Busta paga,
Pending Activities,Attività in sospeso,
Pending Amount,Importo in attesa,
Pending Leaves,Ferie in sospeso,
Pending Qty,Quantità in attesa,
Pending Quantity,Quantità in sospeso,
Pending Review,In attesa di validazione,
Pending activities for today,Attività di attesa per oggi,
Pension Funds,Fondi pensione,
Percentage Allocation should be equal to 100%,Percentuale di ripartizione dovrebbe essere pari al 100 %,
Perception Analysis,Analisi della percezione,
Period,periodo,
Period Closing Entry,Entrata Periodo di chiusura,
Period Closing Voucher,Periodo di chiusura Voucher,
Periodicity,Periodicità,
Personal Details,Dettagli personali,
Pharmaceutical,farmaceutico,
Pharmaceuticals,Farmaceutici,
Physician,Medico,
Piecework,lavoro a cottimo,
Pincode,CAP,
Place Of Supply (State/UT),Luogo di fornitura (stato / UT),
Place Order,Inserisci ordine,
Plan Name,Nome piano,
Plan for maintenance visits.,Piano per le visite di manutenzione.,
Planned Qty,Quantità prevista,
"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Qtà pianificata: quantità, per la quale l&#39;ordine di lavoro è stato aumentato, ma è in attesa di essere prodotto.",
Planning,Pianificazione,
Plants and Machineries,Impianti e Macchinari,
Please Set Supplier Group in Buying Settings.,Si prega di impostare il gruppo di fornitori in Impostazioni acquisto.,
Please add a Temporary Opening account in Chart of Accounts,Aggiungi un account di apertura temporanea nel piano dei conti,
Please add the account to root level Company - ,Aggiungi l&#39;account alla società di livello principale -,
Please add the remaining benefits {0} to any of the existing component,Si prega di aggiungere i restanti benefici {0} a qualsiasi componente esistente,
Please check Multi Currency option to allow accounts with other currency,Si prega di verificare l&#39;opzione multi valuta per consentire agli account con altra valuta,
Please click on 'Generate Schedule',Si prega di cliccare su ' Generate Schedule ',
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},Si prega di cliccare su ' Generate Schedule ' a prendere Serial No aggiunto per la voce {0},
Please click on 'Generate Schedule' to get schedule,Si prega di cliccare su ' Generate Schedule ' per ottenere pianificazione,
Please confirm once you have completed your training,Si prega di confermare una volta completata la tua formazione,
Please create purchase receipt or purchase invoice for the item {0},Crea una ricevuta di acquisto o una fattura di acquisto per l&#39;articolo {0},
Please define grade for Threshold 0%,Definisci il grado per Soglia 0%,
Please enable Applicable on Booking Actual Expenses,Si prega di abilitare Applicabile sulle spese effettive di prenotazione,
Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Si prega di abilitare Applicabile su ordine d&#39;acquisto e applicabile alle spese effettive di prenotazione,
Please enable default incoming account before creating Daily Work Summary Group,Abilitare l&#39;account predefinito in entrata prima di creare il gruppo di riepilogo del lavoro giornaliero,
Please enable pop-ups,Si prega di abilitare i pop-up,
Please enter 'Is Subcontracted' as Yes or No,Si prega di specificare ' è un Conto lavoro ' come Si o No,
Please enter API Consumer Key,Inserisci la chiave consumer dell&#39;API,
Please enter API Consumer Secret,Inserisci l&#39;API Consumer Secret,
Please enter Account for Change Amount,Si prega di inserire account per quantità di modifica,
Please enter Approving Role or Approving User,Inserisci Approvazione ruolo o Approvazione utente,
Please enter Cost Center,Inserisci Centro di costo,
Please enter Delivery Date,Inserisci la Data di Consegna,
Please enter Employee Id of this sales person,Inserisci ID dipendente di questa persona di vendite,
Please enter Expense Account,Inserisci il Conto uscite,
Please enter Item Code to get Batch Number,Inserisci Codice Articolo per ottenere il numero di lotto,
Please enter Item Code to get batch no,Inserisci il codice Item per ottenere lotto non,
Please enter Item first,Inserisci articolo prima,
Please enter Maintaince Details first,Inserisci Maintaince dettagli prima,
Please enter Planned Qty for Item {0} at row {1},Inserisci pianificato quantità per la voce {0} alla riga {1},
Please enter Preferred Contact Email,Inserisci il contatto preferito Email,
Please enter Production Item first,Inserisci prima articolo Produzione,
Please enter Purchase Receipt first,Si prega di inserire prima la Ricevuta di Acquisto,
Please enter Receipt Document,Si prega di inserire prima il Documento di Ricevimento,
Please enter Reference date,Inserisci Data di riferimento,
Please enter Repayment Periods,Si prega di inserire periodi di rimborso,
Please enter Reqd by Date,Si prega di inserire la data di consegna richiesta,
Please enter Woocommerce Server URL,Inserisci l&#39;URL del server Woocommerce,
Please enter Write Off Account,Inserisci Conto per Svalutazioni,
Please enter atleast 1 invoice in the table,Inserisci atleast 1 fattura nella tabella,
Please enter company first,Inserisci prima azienda,
Please enter company name first,Inserisci il nome della società prima,
Please enter default currency in Company Master,Inserisci valuta predefinita in Azienda Maestro,
Please enter message before sending,Inserisci il messaggio prima di inviarlo,
Please enter parent cost center,Inserisci il centro di costo genitore,
Please enter quantity for Item {0},Inserite la quantità per articolo {0},
Please enter relieving date.,Inserisci la data alleviare .,
Please enter repayment Amount,Si prega di inserire l&#39;importo di rimborso,
Please enter valid Financial Year Start and End Dates,Si prega di inserire valido Esercizio inizio e di fine,
Please enter valid email address,Inserisci indirizzo email valido,
Please enter {0} first,Si prega di inserire {0} prima,
Please fill in all the details to generate Assessment Result.,Si prega di compilare tutti i dettagli per generare il risultato della valutazione.,
Please identify/create Account (Group) for type - {0},Identifica / crea Account (Gruppo) per il tipo - {0},
Please identify/create Account (Ledger) for type - {0},Identificare / creare un account (libro mastro) per il tipo - {0},
Please login as another user to register on Marketplace,Effettua il login come un altro utente per registrarsi sul Marketplace,
Please make sure you really want to delete all the transactions for this company. Your master data will remain as it is. This action cannot be undone.,Assicurati di voler cancellare tutte le transazioni di questa azienda. I dati anagrafici rimarranno così com&#39;è. Questa azione non può essere annullata.,
Please mention Basic and HRA component in Company,Si prega di citare i componenti Basic e HRA in Azienda,
Please mention Round Off Account in Company,Si prega di citare Arrotondamento account in azienda,
Please mention Round Off Cost Center in Company,Si prega di citare Arrotondamento centro di costo in azienda,
Please mention no of visits required,Si prega di citare nessuna delle visite richieste,
Please mention the Lead Name in Lead {0},Si prega di citare il Lead Name in Lead {0},
Please pull items from Delivery Note,Si prega di tirare oggetti da DDT,
Please register the SIREN number in the company information file,Si prega di registrare il numero SIREN nel file delle informazioni aziendali,
Please remove this Invoice {0} from C-Form {1},Si prega di rimuovere questo Invoice {0} dal C-Form {1},
Please save the patient first,Si prega di salvare prima il paziente,
Please save the report again to rebuild or update,Salva di nuovo il rapporto per ricostruire o aggiornare,
"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Seleziona importo assegnato, Tipo fattura e fattura numero in almeno uno di fila",
Please select Apply Discount On,Si prega di selezionare Applica sconto su,
Please select BOM against item {0},Seleziona la BOM rispetto all&#39;articolo {0},
Please select BOM for Item in Row {0},Seleziona la Distinta Base per l'Articolo nella riga {0},
Please select BOM in BOM field for Item {0},Seleziona Distinta Base nel campo Distinta Base per la voce {0},
Please select Category first,Si prega di selezionare Categoria prima,
Please select Charge Type first,Seleziona il tipo di carica prima,
Please select Company,Selezionare prego,
Please select Company and Designation,Si prega di selezionare Società e designazione,
Please select Company and Posting Date to getting entries,Seleziona Società e Data di pubblicazione per ottenere le voci,
Please select Company first,Seleziona prima azienda,
Please select Completion Date for Completed Asset Maintenance Log,Selezionare la data di completamento per il registro di manutenzione delle attività completato,
Please select Completion Date for Completed Repair,Selezionare la data di completamento per la riparazione completata,
Please select Course,Seleziona Corso,
Please select Drug,Si prega di selezionare droga,
Please select Employee,Si prega di selezionare Dipendente,
Please select Existing Company for creating Chart of Accounts,Seleziona esistente Società per la creazione di piano dei conti,
Please select Healthcare Service,Si prega di selezionare il servizio sanitario,
"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle","Si prega di selezionare la voce dove &quot;è articolo di&quot; è &quot;No&quot; e &quot;Is Voce di vendita&quot; è &quot;Sì&quot;, e non c&#39;è nessun altro pacchetto di prodotti",
Please select Maintenance Status as Completed or remove Completion Date,Selezionare Stato di manutenzione come completato o rimuovere Data di completamento,
Please select Party Type first,Selezionare prima il tipo di Partner,
Please select Patient,Si prega di selezionare Paziente,
Please select Patient to get Lab Tests,Selezionare Patient per ottenere i test di laboratorio,
Please select Posting Date before selecting Party,Si prega di selezionare la data di registrazione prima di selezionare il Partner,
Please select Posting Date first,Seleziona Data Pubblicazione primo,
Please select Price List,Seleziona Listino Prezzi,
Please select Program,Seleziona Programma,
Please select Qty against item {0},Seleziona Qtà rispetto all&#39;articolo {0},
Please select Sample Retention Warehouse in Stock Settings first,Seleziona prima il magazzino di conservazione dei campioni in Impostazioni stock,
Please select Start Date and End Date for Item {0},Scegliere una data di inizio e di fine per la voce {0},
Please select Student Admission which is mandatory for the paid student applicant,Si prega di scegliere l&#39;ammissione all&#39;allievo che è obbligatoria per il candidato scolastico pagato,
Please select a BOM,Seleziona una Distinta Base,
Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,Seleziona un batch per l&#39;articolo {0}. Impossibile trovare un unico batch che soddisfi questo requisito,
Please select a Company,Seleziona una società,
Please select a batch,Seleziona un batch,
Please select a csv file,Seleziona un file csv,
Please select a field to edit from numpad,Seleziona un campo da modificare da numpad,
Please select a table,Seleziona una tabella,
Please select a valid Date,Si prega di selezionare una data valida,
Please select a value for {0} quotation_to {1},Si prega di selezionare un valore per {0} quotation_to {1},
Please select a warehouse,Seleziona un magazzino,
Please select at least one domain.,Si prega di selezionare almeno un dominio.,
Please select correct account,Seleziona account corretto,
Please select date,Seleziona la data,
Please select item code,Si prega di selezionare il codice articolo,
Please select month and year,Si prega di selezionare mese e anno,
Please select prefix first,Si prega di selezionare il prefisso prima,
Please select the Company,Si prega di selezionare la società,
Please select the Multiple Tier Program type for more than one collection rules.,Seleziona il tipo di Programma a più livelli per più di una regola di raccolta.,
Please select the assessment group other than 'All Assessment Groups',Seleziona il gruppo di valutazione diverso da &#39;Tutti i gruppi di valutazione&#39;,
Please select the document type first,Si prega di selezionare il tipo di documento prima,
Please select weekly off day,Seleziona il giorno di riposo settimanale,
Please select {0},Si prega di selezionare {0},
Please select {0} first,Si prega di selezionare {0} prima,
Please set 'Apply Additional Discount On',Impostare 'Applicare lo Sconto Aggiuntivo su',
Please set 'Asset Depreciation Cost Center' in Company {0},Si prega di impostare &#39;Asset Centro ammortamento dei costi&#39; in compagnia {0},
Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Si prega di impostare &#39;Conto / perdita di guadagno su Asset Disposal&#39; in compagnia {0},
Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Imposta Account in Magazzino {0} o Account inventario predefinito in Azienda {1},
Please set B2C Limit in GST Settings.,Imposta il limite B2C nelle impostazioni GST.,
Please set Company,Imposti la Società,
Please set Company filter blank if Group By is 'Company',Impostare il filtro aziendale vuoto se Group By è &#39;Azienda&#39;,
Please set Default Payroll Payable Account in Company {0},Si prega di impostare di default Payroll conto da pagare in azienda {0},
Please set Depreciation related Accounts in Asset Category {0} or Company {1},Si prega di impostare gli account relativi ammortamenti nel settore Asset Categoria {0} o {1} società,
Please set Email Address,Si prega di impostare l&#39;indirizzo e-mail,
Please set GST Accounts in GST Settings,Si prega di impostare account GST in Impostazioni GST,
Please set Hotel Room Rate on {},Si prega di impostare la tariffa della camera dell&#39;hotel su {},
Please set Number of Depreciations Booked,Si prega di impostare Numero di ammortamenti Prenotato,
Please set Unrealized Exchange Gain/Loss Account in Company {0},Imposta l&#39;account di guadagno / perdita di cambio non realizzato nella società {0},
Please set User ID field in an Employee record to set Employee Role,Impostare campo ID utente in un record Employee impostare Ruolo Employee,
Please set a default Holiday List for Employee {0} or Company {1},Si prega di impostare un valore predefinito lista per le vacanze per i dipendenti {0} o {1} società,
Please set account in Warehouse {0},Imposta l&#39;account in Magazzino {0},
Please set an active menu for Restaurant {0},Imposta un menu attivo per il ristorante {0},
Please set associated account in Tax Withholding Category {0} against Company {1},Imposta l&#39;account associato in Categoria ritenuta d&#39;acconto {0} contro l&#39;azienda {1},
Please set at least one row in the Taxes and Charges Table,Si prega di impostare almeno una riga nella tabella Imposte e spese,
Please set default Cash or Bank account in Mode of Payment {0},Si prega di impostare di default Contanti o conto bancario in Modalità di pagamento {0},
Please set default account in Salary Component {0},Si prega di impostare account predefinito di stipendio componente {0},
Please set default customer in Restaurant Settings,Impostare il cliente predefinito in Impostazioni ristorante,
Please set default template for Leave Approval Notification in HR Settings.,Si prega di impostare il modello predefinito per lasciare la notifica di approvazione nelle impostazioni delle risorse umane.,
Please set default template for Leave Status Notification in HR Settings.,Si prega di impostare il modello predefinito per lasciare notifica dello stato nelle impostazioni delle risorse umane.,
Please set default {0} in Company {1},Si prega di impostare di default {0} nell&#39;azienda {1},
Please set filter based on Item or Warehouse,Si prega di impostare il filtro in base al punto o in un magazzino,
Please set leave policy for employee {0} in Employee / Grade record,Si prega di impostare la politica di ferie per i dipendenti {0} nel record Dipendente / Grade,
Please set recurring after saving,Si prega di impostare ricorrenti dopo il salvataggio,
Please set the Company,Imposti la Società,
Please set the Customer Address,Si prega di impostare l&#39;indirizzo del cliente,
Please set the Date Of Joining for employee {0},Imposta la data di assunzione del dipendente {0},
Please set the Default Cost Center in {0} company.,Impostare il centro di costo predefinito in {0} società.,
Please set the Email ID for the Student to send the Payment Request,Impostare l&#39;ID di posta elettronica per lo studente per inviare la richiesta di pagamento,
Please set the Item Code first,Impostare prima il codice dell&#39;articolo,
Please set the Payment Schedule,Si prega di impostare il programma di pagamento,
Please set the series to be used.,Si prega di impostare la serie da utilizzare.,
Please set {0} for address {1},Si prega di impostare {0} per l&#39;indirizzo {1},
Please setup Students under Student Groups,Impostare gli studenti in gruppi di studenti,
Please share your feedback to the training by clicking on 'Training Feedback' and then 'New',"Per favore, condividi i tuoi commenti con la formazione cliccando su &quot;Informazioni sulla formazione&quot; e poi su &quot;Nuovo&quot;",
Please specify Company,Si prega di specificare Azienda,
Please specify Company to proceed,Si prega di specificare Società di procedere,
Please specify a valid 'From Case No.',Si prega di specificare una valida &#39;Dalla sentenza n&#39;,
Please specify a valid Row ID for row {0} in table {1},Si prega di specificare un ID Row valido per riga {0} nella tabella {1},
Please specify at least one attribute in the Attributes table,Specifica almeno un attributo nella tabella Attributi,
Please specify currency in Company,Si prega di specificare la valuta in Azienda,
Please specify either Quantity or Valuation Rate or both,Si prega di specificare Quantitativo o Tasso di valutazione o di entrambi,
Please specify from/to range,Si prega di specificare da / a gamma,
Please supply the specified items at the best possible rates,Si prega di fornire gli elementi specificati ai migliori prezzi possibili,
Please update your status for this training event,Aggiorna il tuo stato per questo evento di addestramento,
Please wait 3 days before resending the reminder.,Attendi 3 giorni prima di inviare nuovamente il promemoria.,
Point of Sale,Punto di vendita,
Point-of-Sale,Punto vendita,
Point-of-Sale Profile,Point-of-Sale Profilo,
Portal,Portale,
Portal Settings,Impostazioni del portale,
Possible Supplier,Fornitore Possibile,
Postal Expenses,Spese postali,
Posting Date,Data di Registrazione,
Posting Date cannot be future date,La data di registrazione non può essere una data futura,
Posting Time,Ora di Registrazione,
Posting date and posting time is mandatory,Data e ora di registrazione sono obbligatori,
Posting timestamp must be after {0},Distacco timestamp deve essere successiva {0},
Potential opportunities for selling.,Potenziali opportunità di vendita.,
Practitioner Schedule,Programma del praticante,
Pre Sales,Pre vendita,
Preference,Preferenza,
Prescribed Procedures,Procedure prescritte,
Prescription,Prescrizione,
Prescription Dosage,Dosaggio prescrizione,
Prescription Duration,Durata della prescrizione,
Prescriptions,prescrizioni,
Present,Presente,
Prev,prev,
Preview,anteprima,
Preview Salary Slip,Anteprima foglio paga,
Previous Financial Year is not closed,Il Precedente Esercizio Finanziario non è chiuso,
Price,Prezzo,
Price List,Listino prezzi,
Price List Currency not selected,Listino Prezzi Valuta non selezionati,
Price List Rate,Prezzo di listino,
Price List master.,Maestro listino prezzi.,
Price List must be applicable for Buying or Selling,Prezzo di listino deve essere applicabile per l'acquisto o la vendita di,
Price List {0} is disabled or does not exist,Listino {0} è disattivato o non esiste,
Price or product discount slabs are required,Sono richiesti lastre di prezzo o di sconto del prodotto,
Pricing,Prezzi,
Pricing Rule,Regola Prezzi,
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Regola Prezzi viene prima selezionato in base al 'applicare sul campo', che può essere prodotto, Articolo di gruppo o di marca.",
"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Regola Pricing è fatto per sovrascrivere Listino Prezzi / definire la percentuale di sconto, sulla base di alcuni criteri.",
Pricing Rule {0} is updated,La regola dei prezzi {0} è stata aggiornata,
Pricing Rules are further filtered based on quantity.,Regole dei prezzi sono ulteriormente filtrati in base alla quantità.,
Primary Address Details,Dettagli indirizzo primario,
Primary Contact Details,Dettagli del contatto principale,
Principal Amount,Quota capitale,
Print Format,Formato Stampa,
Print IRS 1099 Forms,Stampa moduli IRS 1099,
Print Report Card,Stampa la pagella,
Print Settings,Impostazioni di stampa,
Print and Stationery,Di stampa e di cancelleria,
Print settings updated in respective print format,Le impostazioni di stampa aggiornati nel rispettivo formato di stampa,
Print taxes with zero amount,Stampa le tasse con importo zero,
Printing and Branding,Stampa e branding,
Private Equity,Private Equity,
Privilege Leave,Lascia Privilege,
Probation,Prova,
Probationary Period,Periodo di prova,
Procedure,Procedura,
Process Day Book Data,Elaborazione dei dati del Daybook,
Process Master Data,Elaborare dati anagrafici,
Processing Chart of Accounts and Parties,Elaborazione del piano contabile e delle parti,
Processing Items and UOMs,Elaborazione di articoli e UOM,
Processing Party Addresses,Indirizzi degli elaboratori,
Processing Vouchers,Elaborazione di buoni,
Procurement,Approvvigionamento,
Produced Qty,Qtà prodotta,
Product,Prodotto,
Product Bundle,Bundle prodotto,
Product Search,Ricerca prodotto,
Production,Produzione,
Production Item,Produzione Articolo,
Products,Prodotti,
Profit and Loss,Profitti e perdite,
Profit for the year,profitto dell&#39;anno,
Program,Programma,
Program in the Fee Structure and Student Group {0} are different.,Il programma nella struttura tariffaria e nel gruppo di studenti {0} sono diversi.,
Program {0} does not exist.,Il programma {0} non esiste.,
Program: ,Programma:,
Progress % for a task cannot be more than 100.,Avanzamento % per un'attività non può essere superiore a 100.,
Project Collaboration Invitation,Progetto di collaborazione Invito,
Project Id,Progetto Id,
Project Manager,Responsabile Progetto,
Project Name,Nome del progetto,
Project Start Date,Data di inizio del progetto,
Project Status,Stato del progetto,
Project Summary for {0},Riepilogo progetto per {0},
Project Update.,Aggiornamento del progetto.,
Project Value,Valore di progetto,
Project activity / task.,Attività / attività del progetto.,
Project master.,Progetto Master.,
Project-wise data is not available for Quotation,Dati di progetto non sono disponibile per Preventivo,
Projected,proiettata,
Projected Qty,Qtà proiettata,
Projected Quantity Formula,Formula quantità proiettata,
Projects,progetti,
Property,Proprietà,
Property already added,Proprietà già aggiunta,
Proposal Writing,Scrivere proposta,
Proposal/Price Quote,Proposta / preventivo prezzi,
Prospecting,prospezione,
Provisional Profit / Loss (Credit),Risultato provvisorio / Perdita (credito),
Publications,pubblicazioni,
Publish Items on Website,Pubblica articoli sul Sito Web,
Published,Pubblicato,
Publishing,editoria,
Purchase,Acquisto,
Purchase Amount,Ammontare dell&#39;acquisto,
Purchase Date,Data di acquisto,
Purchase Invoice,Fattura di Acquisto,
Purchase Invoice {0} is already submitted,La Fattura di Acquisto {0} è già stata presentata,
Purchase Manager,Responsabile Acquisti,
Purchase Master Manager,Direttore Acquisti,
Purchase Order,Ordine di acquisto,
Purchase Order Amount,Importo ordine d&#39;acquisto,
Purchase Order Amount(Company Currency),Importo ordine d&#39;acquisto (valuta dell&#39;azienda),
Purchase Order Date,Data dell&#39;ordine d&#39;acquisto,
Purchase Order Items not received on time,Ordine d&#39;acquisto Articoli non ricevuti in tempo,
Purchase Order number required for Item {0},Numero ordine di acquisto richiesto per la voce {0},
Purchase Order to Payment,Ordine d&#39;acquisto a pagamento,
Purchase Order {0} is not submitted,L'ordine di Acquisto {0} non è stato presentato,
Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Gli ordini di acquisto non sono consentiti per {0} a causa di una posizione di scorecard di {1}.,
Purchase Orders given to Suppliers.,Ordini di acquisto emessi ai Fornitori.,
Purchase Price List,Acquisto Listino Prezzi,
Purchase Receipt,Ricevuta di Acquisto,
Purchase Receipt {0} is not submitted,La Ricevuta di Acquisto {0} non è stata presentata,
Purchase Tax Template,Acquisto fiscale Template,
Purchase User,Utente Acquisti,
Purchase orders help you plan and follow up on your purchases,Gli ordini di acquisto ti aiutano a pianificare e monitorare i tuoi acquisti,
Purchasing,Acquisto,
Purpose must be one of {0},Scopo deve essere uno dei {0},
Qty,Qtà,
Qty To Manufacture,Qtà da Produrre,
Qty Total,Qtà totale,
Qty for {0},Quantità per {0},
Qualification,Qualifica,
Quality,Qualità,
Quality Action,Azione di qualità,
Quality Goal.,Obiettivo di qualità,
Quality Inspection,Controllo Qualità,
Quality Inspection: {0} is not submitted for the item: {1} in row {2},Ispezione di qualità: {0} non è stato inviato per l&#39;articolo: {1} nella riga {2},
Quality Management,Gestione della qualità,
Quality Meeting,Riunione di qualità,
Quality Procedure,Procedura di qualità,
Quality Procedure.,Procedura di qualità,
Quality Review,Revisione della qualità,
Quantity,Quantità,
Quantity for Item {0} must be less than {1},Quantità per la voce {0} deve essere inferiore a {1},
Quantity in row {0} ({1}) must be same as manufactured quantity {2},Quantità in riga {0} ( {1} ) deve essere uguale quantità prodotta {2},
Quantity must be less than or equal to {0},La quantità deve essere minore o uguale a {0},
Quantity must not be more than {0},Quantità non deve essere superiore a {0},
Quantity required for Item {0} in row {1},Quantità necessaria per la voce {0} in riga {1},
Quantity should be greater than 0,Quantità deve essere maggiore di 0,
Quantity to Make,Quantità da fare,
Quantity to Manufacture must be greater than 0.,Quantità di Fabbricazione deve essere maggiore di 0.,
Quantity to Produce,Quantità da produrre,
Quantity to Produce can not be less than Zero,La quantità da produrre non può essere inferiore a zero,
Query Options,Opzioni query,
Queued for replacing the BOM. It may take a few minutes.,In coda per la sostituzione della BOM. Potrebbero essere necessari alcuni minuti.,
Queued for updating latest price in all Bill of Materials. It may take a few minutes.,In coda per aggiornare il prezzo più recente in tutte le fatture dei materiali. Può richiedere alcuni minuti.,
Quick Journal Entry,Breve diario,
Quot Count,Quot Count,
Quot/Lead %,Quot / Lead%,
Quotation,Preventivo,
Quotation {0} is cancelled,Preventivo {0} è annullato,
Quotation {0} not of type {1},Preventivo {0} non di tipo {1},
Quotations,Preventivi,
"Quotations are proposals, bids you have sent to your customers","Le quotazioni sono proposte, offerte che hai inviato ai tuoi clienti",
Quotations received from Suppliers.,Preventivi ricevuti dai Fornitori.,
Quotations: ,Preventivi:,
Quotes to Leads or Customers.,Preventivo a Leads o a Clienti.,
RFQs are not allowed for {0} due to a scorecard standing of {1},RFQ non sono consentite per {0} a causa del valutazione {1},
Range,Intervallo,
Rate,Prezzo,
Rate:,Vota:,
Rating,Valutazione,
Raw Material,Materia prima,
Raw Materials,Materiali grezzi,
Raw Materials cannot be blank.,Materie prime non può essere vuoto.,
Re-open,Riaprire,
Read blog,Leggi il blog,
Read the ERPNext Manual,Leggere il manuale ERPNext,
Reading Uploaded File,Lettura del file caricato,
Real Estate,Immobiliare,
Reason For Putting On Hold,Motivo per mettere in attesa,
Reason for Hold,Motivo della sospensione,
Reason for hold: ,Motivo della sospensione:,
Receipt,Ricevuta,
Receipt document must be submitted,La Ricevuta deve essere presentata,
Receivable,ricevibile,
Receivable Account,Conto Crediti,
Received,Ricevuto,
Received On,Ricevuto On,
Received Quantity,Quantità ricevuta,
Received Stock Entries,Voci di magazzino ricevute,
Receiver List is empty. Please create Receiver List,Lista Receiver è vuoto . Si prega di creare List Ricevitore,
Recipients,Destinatari,
Reconcile,conciliare,
"Record of all communications of type email, phone, chat, visit, etc.","Salva tutte le comunicazioni di tipo e-mail, telefono, chat, visita, ecc",
Records,Records,
Redirect URL,URL di reindirizzamento,
Ref,Rif,
Ref Date,Data Rif,
Reference,Riferimento,
Reference #{0} dated {1},Riferimento # {0} datato {1},
Reference Date,Data di riferimento,
Reference Doctype must be one of {0},Riferimento Doctype deve essere uno dei {0},
Reference Document,Documento di riferimento,
Reference Document Type,Riferimento Tipo di documento,
Reference No & Reference Date is required for {0},N. di riferimento & Reference Data è necessario per {0},
Reference No and Reference Date is mandatory for Bank transaction,Di riferimento e di riferimento Data è obbligatoria per la transazione Bank,
Reference No is mandatory if you entered Reference Date,N. di riferimento è obbligatoria se hai inserito Reference Data,
Reference No.,Numero di riferimento,
Reference Number,Numero di riferimento,
Reference Owner,Riferimento proprietario,
Reference Type,Tipo di riferimento,
"Reference: {0}, Item Code: {1} and Customer: {2}","Riferimento: {0}, codice dell&#39;articolo: {1} e cliente: {2}",
References,Riferimenti,
Refresh Token,Aggiorna Token,
Region,Regione,
Register,Registrare,
Reject,Rifiutare,
Rejected,Rifiutato,
Related,Collegamento,
Relation with Guardian1,Rapporto con Guardian1,
Relation with Guardian2,Rapporto con Guardian2,
Release Date,Data di rilascio,
Reload Linked Analysis,Ricarica l&#39;analisi collegata,
Remaining,Disponibile,
Remaining Balance,Equilibrio restante,
Remarks,Osservazioni,
Reminder to update GSTIN Sent,Promemoria per aggiornare GSTIN inviato,
Remove item if charges is not applicable to that item,Rimuovere articolo se le spese non è applicabile a tale elemento,
Removed items with no change in quantity or value.,Eliminati elementi senza variazione di quantità o valore.,
Reopen,Riaprire,
Reorder Level,Riordina Level,
Reorder Qty,Riordina quantità,
Repeat Customer Revenue,Ripetere Revenue clienti,
Repeat Customers,Ripetere i clienti,
Replace BOM and update latest price in all BOMs,Sostituire il BOM e aggiornare il prezzo più recente in tutte le BOM,
Replied,Ha risposto,
Replies,risposte,
Report,Report,
Report Builder,Report Builder,
Report Type,Tipo Report,
Report Type is mandatory,Tipo di Report è obbligatorio,
Reports,Report,
Reqd By Date,Data di Consegna,
Reqd Qty,Reqd Qty,
Request for Quotation,Richiesta di offerta,
Request for Quotations,Richieste di offerta,
Request for Raw Materials,Richiesta di materie prime,
Request for purchase.,Richiesta di acquisto.,
Request for quotation.,Richiesta di offerta.,
Requested Qty,richiesto Quantità,
"Requested Qty: Quantity requested for purchase, but not ordered.","Richiesto Quantità : Quantità richiesto per l'acquisto , ma non ordinato.",
Requesting Site,Sito richiedente,
Requesting payment against {0} {1} for amount {2},Richiesta di Pagamento contro {0} {1} per quantità {2},
Requestor,Richiedente,
Required On,Richiesto On,
Required Qty,Quantità richiesta,
Required Quantity,Quantità richiesta,
Reschedule,Riprogrammare,
Research,Ricerca,
Research & Development,Ricerca & Sviluppo,
Researcher,Ricercatore,
Resend Payment Email,Invia di nuovo pagamento Email,
Reserve Warehouse,Riserva magazzino,
Reserved Qty,Riservato Quantità,
Reserved Qty for Production,Quantità Riservata per la Produzione,
Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Qtà riservata per la produzione: quantità di materie prime per la produzione di articoli.,
"Reserved Qty: Quantity ordered for sale, but not delivered.","Riservato Quantità : quantità ordinata in vendita , ma non consegnati .",
Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Il magazzino riservato è obbligatorio per l&#39;articolo {0} in materie prime fornite,
Reserved for manufacturing,Riservato per la produzione,
Reserved for sale,Riservato per la vendita,
Reserved for sub contracting,Riservato per il subappalto,
Resistant,Resistente,
Resolve error and upload again.,Risolvi errore e carica di nuovo.,
Responsibilities,responsabilità,
Rest Of The World,Resto del mondo,
Restart Subscription,Riavvia abbonamento,
Restaurant,Ristorante,
Result Date,Data di risultato,
Result already Submitted,Risultato già inviato,
Resume,Curriculum vitae,
Retail,Vendita al dettaglio,
Retail & Wholesale,Retail & Wholesale,
Retail Operations,Le operazioni di vendita al dettaglio,
Retained Earnings,Utili trattenuti,
Retention Stock Entry,Retention stock entry,
Retention Stock Entry already created or Sample Quantity not provided,Memorizzazione stock già creata o Quantità campione non fornita,
Return,Ritorno,
Return / Credit Note,Ritorno / Nota di credito,
Return / Debit Note,Reso / Nota di Debito,
Returns,Restituisce,
Reverse Journal Entry,Entrata di giornale inversa,
Review Invitation Sent,Rivedi l&#39;invito inviato,
Review and Action,Revisione e azione,
Role,Ruolo,
Rooms Booked,Camere prenotate,
Root Company,Azienda principale,
Root Type,Root Tipo,
Root Type is mandatory,Root Type è obbligatorio,
Root cannot be edited.,Root non può essere modificato .,
Root cannot have a parent cost center,Root non può avere un centro di costo genitore,
Round Off,Arrotondare,
Rounded Total,Totale arrotondato,
Route,Itinerario,
Row # {0}: ,Row # {0}:,
Row # {0}: Batch No must be same as {1} {2},Fila # {0}: Lotto n deve essere uguale a {1} {2},
Row # {0}: Cannot return more than {1} for Item {2},Row # {0}: Impossibile restituire più di {1} per la voce {2},
Row # {0}: Rate cannot be greater than the rate used in {1} {2},Riga # {0}: la velocità non può essere superiore alla velocità utilizzata in {1} {2},
Row # {0}: Serial No is mandatory,Fila # {0}: N. di serie è obbligatoria,
Row # {0}: Serial No {1} does not match with {2} {3},Fila # {0}: N. di serie {1} non corrisponde con {2} {3},
Row #{0} (Payment Table): Amount must be negative,Riga # {0} (Tabella pagamenti): l&#39;importo deve essere negativo,
Row #{0} (Payment Table): Amount must be positive,Riga # {0} (Tabella pagamenti): l&#39;importo deve essere positivo,
Row #{0}: Account {1} does not belong to company {2},Riga n. {0}: l&#39;account {1} non appartiene all&#39;azienda {2},
Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Riga # {0}: L'Importo assegnato non può essere superiore all'importo dovuto.,
"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Row # {0}: Asset {1} non può essere presentata, è già {2}",
Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Riga # {0}: impossibile impostare Tasso se l&#39;importo è maggiore dell&#39;importo fatturato per l&#39;articolo {1}.,
Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Row # {0}: Data di Liquidazione {1} non può essere prima Assegno Data {2},
Row #{0}: Duplicate entry in References {1} {2},Riga # {0}: duplica la voce nei riferimenti {1} {2},
Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Riga # {0}: la Data di Consegna Confermata non può essere precedente all'Ordine di Acquisto,
Row #{0}: Item added,Riga # {0}: elemento aggiunto,
Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Row # {0}: diario {1} non ha conto {2} o già confrontato con un altro buono,
Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Fila # {0}: Non è consentito cambiare il Fornitore quando l'Ordine di Acquisto esiste già,
Row #{0}: Please set reorder quantity,Fila # {0}: Si prega di impostare la quantità di riordino,
Row #{0}: Please specify Serial No for Item {1},Row # {0}: Si prega di specificare Numero d'ordine per la voce {1},
Row #{0}: Qty increased by 1,Riga # {0}: Qtà aumentata di 1,
Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Riga #{0}: il Rapporto deve essere lo stesso di {1}: {2} ({3} / {4}),
Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Riga # {0}: Il tipo di documento di riferimento deve essere uno dei requisiti di spesa o voce del giornale,
"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Row # {0}: Riferimento Tipo di documento deve essere uno di Ordine di Acquisto, fatture di acquisto o diario",
Row #{0}: Rejected Qty can not be entered in Purchase Return,Row # {0}: Rifiutato Quantità non è possibile entrare in acquisto di ritorno,
Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Fila # {0}: Rifiutato Warehouse è obbligatoria per la voce respinto {1},
Row #{0}: Reqd by Date cannot be before Transaction Date,Riga n. {0}: La data di consegna richiesta non può essere precedente alla data della transazione,
Row #{0}: Set Supplier for item {1},Fila # {0}: Impostare Fornitore per Articolo {1},
Row #{0}: Status must be {1} for Invoice Discounting {2},Riga # {0}: lo stato deve essere {1} per lo sconto fattura {2},
"Row #{0}: The batch {1} has only {2} qty. Please select another batch which has {3} qty available or split the row into multiple rows, to deliver/issue from multiple batches","Riga # {0}: Il lotto {1} ha solo {2} qta. Si prega di selezionare un altro lotto che dispone di {3} qta oppure dividere la riga in più righe, per consegnare/emettere da più lotti",
Row #{0}: Timings conflicts with row {1},Row # {0}: conflitti Timings con riga {1},
Row #{0}: {1} can not be negative for item {2},Row # {0}: {1} non può essere negativo per la voce {2},
Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Fila No {0}: Importo non può essere maggiore di attesa Importo contro Rimborso Spese {1}. In attesa importo è {2},
Row {0} : Operation is required against the raw material item {1},Riga {0}: l&#39;operazione è necessaria per l&#39;articolo di materie prime {1},
Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2},Riga {0} # L&#39;importo assegnato {1} non può essere maggiore dell&#39;importo non reclamato {2},
Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},La riga {0} # articolo {1} non può essere trasferita più di {2} contro l&#39;ordine d&#39;acquisto {3},
Row {0}# Paid Amount cannot be greater than requested advance amount,La riga {0} N. importo pagato non può essere maggiore dell&#39;importo anticipato richiesto,
Row {0}: Activity Type is mandatory.,Riga {0}: Tipo Attività è obbligatoria.,
Row {0}: Advance against Customer must be credit,Riga {0}: Advance contro il Cliente deve essere di credito,
Row {0}: Advance against Supplier must be debit,Riga {0}: L'anticipo verso Fornitore deve essere un debito,
Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Riga {0}: l'importo assegnato {1} deve essere inferiore o uguale alI'importo del Pagamento {2},
Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Riga {0}: l'importo assegnato {1} deve essere inferiore o uguale alla fatturazione dell'importo dovuto {2},
Row {0}: An Reorder entry already exists for this warehouse {1},Riga {0}: Una voce di riordino esiste già per questo magazzino {1},
Row {0}: Bill of Materials not found for the Item {1},Riga {0}: Distinta materiali non trovato per la voce {1},
Row {0}: Conversion Factor is mandatory,Riga {0}: fattore di conversione è obbligatoria,
Row {0}: Cost center is required for an item {1},Riga {0}: è necessario un centro di costo per un elemento {1},
Row {0}: Credit entry can not be linked with a {1},Riga {0}: ingresso di credito non può essere collegato con un {1},
Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Riga {0}: Valuta del BOM # {1} deve essere uguale alla valuta selezionata {2},
Row {0}: Debit entry can not be linked with a {1},Riga {0}: addebito iscrizione non può essere collegato con un {1},
Row {0}: Depreciation Start Date is required,Riga {0}: è richiesta la Data di inizio ammortamento,
Row {0}: Enter location for the asset item {1},Riga {0}: inserisci la posizione per la voce di bene {1},
Row {0}: Exchange Rate is mandatory,Riga {0}: Tasso di cambio è obbligatorio,
Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Riga {0}: Valore previsto dopo che la vita utile deve essere inferiore all&#39;importo di acquisto lordo,
Row {0}: From Time and To Time is mandatory.,Riga {0}: From Time To Time ed è obbligatoria.,
Row {0}: From Time and To Time of {1} is overlapping with {2},Riga {0}: From Time To Time e di {1} si sovrappone {2},
Row {0}: From time must be less than to time,Riga {0}: da ora deve essere inferiore a ora,
Row {0}: Hours value must be greater than zero.,Riga {0}: valore Ore deve essere maggiore di zero.,
Row {0}: Invalid reference {1},Riga {0}: Riferimento non valido {1},
Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Riga {0}: Partner / Account non corrisponde con {1} / {2} {3} {4},
Row {0}: Party Type and Party is required for Receivable / Payable account {1},Riga {0}: Tipo Partner e Partner sono necessari per conto Crediti / Debiti  {1},
Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Riga {0}: Pagamento contro vendite / ordine di acquisto deve essere sempre contrassegnato come anticipo,
Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,Riga {0}: Abilita 'è Advance' contro Account {1} se questa è una voce di anticipo.,
Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Riga {0}: impostare il motivo dell&#39;esenzione fiscale in Imposte e addebiti,
Row {0}: Please set the Mode of Payment in Payment Schedule,Riga {0}: imposta la Modalità di pagamento in Pianificazione pagamenti,
Row {0}: Please set the correct code on Mode of Payment {1},Riga {0}: imposta il codice corretto su Modalità di pagamento {1},
Row {0}: Qty is mandatory,Riga {0}: Quantità è obbligatorio,
Row {0}: Quality Inspection rejected for item {1},Riga {0}: Ispezione di qualità rifiutata per l&#39;articolo {1},
Row {0}: UOM Conversion Factor is mandatory,Riga {0}: UOM fattore di conversione è obbligatoria,
Row {0}: select the workstation against the operation {1},Riga {0}: seleziona la workstation rispetto all&#39;operazione {1},
Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Riga {0}: {1} Numeri di serie necessari per l&#39;articolo {2}. Hai fornito {3}.,
Row {0}: {1} must be greater than 0,Riga {0}: {1} deve essere maggiore di 0,
Row {0}: {1} {2} does not match with {3},Riga {0}: {1} {2} non corrisponde con {3},
Row {0}:Start Date must be before End Date,Riga {0} : Data di inizio deve essere precedente Data di fine,
Rows with duplicate due dates in other rows were found: {0},Righe con date di scadenza duplicate in altre righe sono state trovate: {0},
Rules for adding shipping costs.,Regole per l'aggiunta di spese di spedizione .,
Rules for applying pricing and discount.,Le modalità di applicazione di prezzi e sconti .,
S.O. No.,S.O. No.,
SGST Amount,Importo SGST,
SO Qty,SO Quantità,
Safety Stock,Scorta di sicurezza,
Salary,Stipendio,
Salary Slip ID,Stipendio slittamento ID,
Salary Slip of employee {0} already created for this period,Foglio paga del dipendente {0} già creato per questo periodo,
Salary Slip of employee {0} already created for time sheet {1},Salario Slip of dipendente {0} già creato per foglio di tempo {1},
Salary Slip submitted for period from {0} to {1},Salary Slip presentato per il periodo da {0} a {1},
Salary Structure Assignment for Employee already exists,L&#39;assegnazione della struttura salariale per il dipendente esiste già,
Salary Structure Missing,Stipendio Struttura mancante,
Salary Structure must be submitted before submission of Tax Ememption Declaration,La struttura salariale deve essere presentata prima della presentazione della Dichiarazione di esenzione fiscale,
Salary Structure not found for employee {0} and date {1},Struttura salariale non trovata per il dipendente {0} e data {1},
Salary Structure should have flexible benefit component(s) to dispense benefit amount,La struttura salariale dovrebbe disporre di componenti di benefit flessibili per erogare l&#39;importo del benefit,
"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.","Stipendio già elaborato per il periodo compreso tra {0} e {1}, Lascia periodo di applicazione non può essere tra questo intervallo di date.",
Sales,Vendite,
Sales Account,Conto vendita,
Sales Expenses,Spese di vendita,
Sales Funnel,imbuto di vendita,
Sales Invoice,Fattura di vendita,
Sales Invoice {0} has already been submitted,La fattura di vendita {0} è già stata presentata,
Sales Invoice {0} must be cancelled before cancelling this Sales Order,La fattura di vendita {0} deve essere cancellata prima di annullare questo ordine di vendita,
Sales Manager,Sales Manager,
Sales Master Manager,Sales Master Manager,
Sales Order,Ordine di vendita,
Sales Order Item,Articolo dell'Ordine di Vendita,
Sales Order required for Item {0},Ordine di Vendita necessario per l'Articolo {0},
Sales Order to Payment,Ordine di vendita a pagamento,
Sales Order {0} is not submitted,L'ordine di vendita {0} non è stato presentato,
Sales Order {0} is not valid,Sales Order {0} non è valido,
Sales Order {0} is {1},Sales Order {0} è {1},
Sales Orders,Ordini di vendita,
Sales Partner,Partner vendite,
Sales Pipeline,Pipeline di vendita,
Sales Price List,Lista Prezzo di vendita,
Sales Return,Ritorno di vendite,
Sales Summary,Riepilogo vendite,
Sales Tax Template,Sales Tax Template,
Sales Team,Team di vendita,
Sales User,Utente Vendite,
Sales and Returns,Vendite e restituzioni,
Sales campaigns.,Campagne di vendita .,
Sales orders are not available for production,Gli ordini di vendita non sono disponibili per la produzione,
Salutation,Appellativo,
Same Company is entered more than once,La stessa azienda viene inserito più di una volta,
Same item cannot be entered multiple times.,Lo stesso articolo non può essere inserito più volte.,
Same supplier has been entered multiple times,Lo stesso fornitore è stato inserito più volte,
Sample,Esempio,
Sample Collection,Raccolta di campioni,
Sample quantity {0} cannot be more than received quantity {1},La quantità di esempio {0} non può essere superiore alla quantità ricevuta {1},
Sanctioned,sanzionato,
Sanctioned Amount,Importo sanzionato,
Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Importo sanzionato non può essere maggiore di rivendicazione Importo in riga {0}.,
Sand,Sabbia,
Saturday,Sabato,
Saved,Salvato,
Saving {0},Salvataggio di {0},
Scan Barcode,Scansione Barcode,
Schedule,Pianificare,
Schedule Admission,Pianifica l&#39;ammissione,
Schedule Course,Programma del corso,
Schedule Date,Programma Data,
Schedule Discharge,Schedule Discharge,
Scheduled,Pianificate,
Scheduled Upto,Pianificato Upto,
"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Schedule per {0} si sovrappone, vuoi procedere dopo aver saltato gli slot sovrapposti?",
Score cannot be greater than Maximum Score,Il punteggio non può essere maggiore del punteggio massimo,
Score must be less than or equal to 5,Il punteggio deve essere minore o uguale a 5,
Scorecards,Scorecards,
Scrapped,Demolita,
Search,Cerca,
Search Results,risultati di ricerca,
Search Sub Assemblies,Cerca Sub Assemblies,
"Search by item code, serial number, batch no or barcode","Cerca per codice articolo, numero di serie, numero di lotto o codice a barre",
"Seasonality for setting budgets, targets etc.","Stagionalità per impostare i budget, obiettivi ecc",
Secret Key,Chiave segreta,
Secretary,segretario,
Section Code,Codice di sezione,
Secured Loans,Prestiti garantiti,
Securities & Commodity Exchanges,Securities & borse merci,
Securities and Deposits,I titoli e depositi,
See All Articles,Vedi tutti gli articoli,
See all open tickets,Vedi tutti i biglietti aperti,
See past orders,Vedi gli ordini passati,
See past quotations,Vedi le citazioni precedenti,
Select,Selezionare,
Select Alternate Item,Seleziona elemento alternativo,
Select Attribute Values,Seleziona i valori degli attributi,
Select BOM,Seleziona la Distinta Materiali,
Select BOM and Qty for Production,Selezionare Distinta Materiali e Quantità per la  Produzione,
"Select BOM, Qty and For Warehouse","Selezionare DBA, Qtà e Per magazzino",
Select Batch,Seleziona batch,
Select Batch Numbers,Selezionare i numeri di batch,
Select Brand...,Seleziona Marchio ...,
Select Company,Seleziona Azienda,
Select Company...,Seleziona Company ...,
Select Customer,Seleziona cliente,
Select Days,Seleziona giorni,
Select Default Supplier,Selezionare il Fornitore predefinito,
Select DocType,Selezionare DocType,
Select Fiscal Year...,Selezionare l'anno fiscale ...,
Select Item (optional),Seleziona voce (opzionale),
Select Items based on Delivery Date,Selezionare gli elementi in base alla Data di Consegna,
Select Items to Manufacture,Selezionare gli elementi da Fabbricazione,
Select Loyalty Program,Seleziona il programma fedeltà,
Select Patient,Selezionare Paziente,
Select Possible Supplier,Selezionare il Fornitore Possibile,
Select Property,Seleziona proprietà,
Select Quantity,Seleziona quantità,
Select Serial Numbers,Selezionare i numeri di serie,
Select Target Warehouse,Seleziona il Magazzino di Destinazione,
Select Warehouse...,Seleziona magazzino ...,
Select an account to print in account currency,Seleziona un account per stampare nella valuta dell&#39;account,
Select an employee to get the employee advance.,Seleziona un dipendente per visualizzare gli anticipi.,
Select at least one value from each of the attributes.,Seleziona almeno un valore da ciascuno degli attributi.,
Select change amount account,conto importo Selezionare cambiamento,
Select company first,Seleziona prima la società,
Select students manually for the Activity based Group,Selezionare manualmente gli studenti per il gruppo basato sulle attività,
Select the customer or supplier.,Seleziona il cliente o il fornitore.,
Select the nature of your business.,Selezionare la natura della vostra attività.,
Select the program first,Selezionare prima il programma,
Select to add Serial Number.,Selezionare per aggiungere il numero di serie.,
Select your Domains,Seleziona i tuoi domini,
Selected Price List should have buying and selling fields checked.,Il listino prezzi selezionato deve contenere i campi di acquisto e vendita.,
Sell,Vendere,
Selling,Vendite,
Selling Amount,Importo di vendita,
Selling Price List,Listino prezzi di vendita,
Selling Rate,Tasso di vendita,
"Selling must be checked, if Applicable For is selected as {0}","Vendita deve essere controllato, se applicabile per è selezionato come {0}",
Send Grant Review Email,Invia e-mail di revisione di Grant,
Send Now,Invia Ora,
Send SMS,Invia SMS,
Send 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,
Approved,Approvato,
Change,Cambia,
Contact Email,Email Contatto,
Export Type,Tipo di esportazione,
From Date,Da Data,
Group By,Raggruppare per,
Importing {0} of {1},Importazione di {0} di {1},
Invalid URL,URL non valido,
Landscape,Paesaggio,
Last Sync On,Ultima sincronizzazione attivata,
Naming Series,Denominazione Serie,
No data to export,Nessun dato da esportare,
Portrait,Ritratto,
Print Heading,Intestazione di stampa,
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 belong to company {1},Il Conto {0} non appartiene alla società {1},
Account {0} does not exists in the dashboard chart {1},L&#39;account {0} non esiste nel grafico del dashboard {1},
Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Conto: <b>{0}</b> è capitale Lavori in corso e non può essere aggiornato dalla registrazione prima nota,
Account: {0} is not permitted under Payment Entry,Account: {0} non è consentito in Voce pagamento,
Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,La dimensione contabile <b>{0}</b> è richiesta per il conto &quot;Bilancio&quot; {1}.,
Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,La dimensione contabile <b>{0}</b> è richiesta per l&#39;account &quot;Profitti e perdite&quot; {1}.,
Accounting Masters,Master in contabilità,
Accounting Period overlaps with {0},Il periodo contabile si sovrappone a {0},
Activity,Attività,
Add / Manage Email Accounts.,Aggiungere / Gestire accounts email.,
Add Child,Aggiungi una sottovoce,
Add Loan Security,Aggiungi protezione prestito,
Add Multiple,Aggiunta multipla,
Add Participants,Aggiungi partecipanti,
Add to Featured Item,Aggiungi all&#39;elemento in evidenza,
Add your review,Aggiungi la tua recensione,
Add/Edit Coupon Conditions,Aggiungi / Modifica condizioni coupon,
Added to Featured Items,Aggiunto agli articoli in evidenza,
Added {0} ({1}),Aggiunti {0} ({1}),
Address Line 1,Indirizzo,
Addresses,Indirizzi,
Admission End Date should be greater than Admission Start Date.,La data di fine dell&#39;ammissione deve essere maggiore della data di inizio dell&#39;ammissione.,
Against Loan,Contro il prestito,
Against Loan:,Contro il prestito:,
All,Tutti,
All bank transactions have been created,Tutte le transazioni bancarie sono state create,
All the depreciations has been booked,Tutti gli ammortamenti sono stati registrati,
Allocation Expired!,Allocazione scaduta!,
Allow Resetting Service Level Agreement from Support Settings.,Consenti il ripristino del contratto sul livello di servizio dalle impostazioni di supporto.,
Amount of {0} is required for Loan closure,Per la chiusura del prestito è richiesto un importo di {0},
Amount paid cannot be zero,L&#39;importo pagato non può essere zero,
Applied Coupon Code,Codice coupon applicato,
Apply Coupon Code,Applica il codice coupon,
Appointment Booking,Prenotazione appuntamenti,
"As there are existing transactions against item {0}, you can not change the value of {1}","Poiché esistono transazioni esistenti rispetto all'oggetto {0}, non è possibile modificare il valore di {1}",
Asset Id,ID risorsa,
Asset Value,Valore patrimoniale,
Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,La rettifica del valore degli asset non può essere registrata prima della data di acquisto dell&#39;asset <b>{0}</b> .,
Asset {0} does not belongs to the custodian {1},L&#39;asset {0} non appartiene al custode {1},
Asset {0} does not belongs to the location {1},L&#39;asset {0} non appartiene alla posizione {1},
At least one of the Applicable Modules should be selected,È necessario selezionare almeno uno dei moduli applicabili,
Atleast one asset has to be selected.,È necessario selezionare almeno una risorsa.,
Attendance Marked,Presenza segnata,
Attendance has been marked as per employee check-ins,La partecipazione è stata contrassegnata come da check-in dei dipendenti,
Authentication Failed,Autenticazione fallita,
Automatic Reconciliation,Riconciliazione automatica,
Available For Use Date,Disponibile per l&#39;uso Data,
Available Stock,Stock disponibile,
"Available quantity is {0}, you need {1}","La quantità disponibile è {0}, è necessario {1}",
BOM 1,DBA 1,
BOM 2,DBA 2,
BOM Comparison Tool,Strumento di confronto della distinta base,
BOM recursion: {0} cannot be child of {1},Ricorsione DBA: {0} non può essere figlio di {1},
BOM recursion: {0} cannot be parent or child of {1},Ricorsione DBA: {0} non può essere genitore o figlio di {1},
Back to Home,Tornare a casa,
Back to Messages,Torna ai messaggi,
Bank Data mapper doesn't exist,Il mappatore dei dati bancari non esiste,
Bank Details,Coordinate bancarie,
Bank account '{0}' has been synchronized,Il conto bancario &quot;{0}&quot; è stato sincronizzato,
Bank account {0} already exists and could not be created again,Il conto bancario {0} esiste già e non è stato possibile crearlo nuovamente,
Bank accounts added,Conti bancari aggiunti,
Batch no is required for batched item {0},Il numero di lotto non è richiesto per l&#39;articolo in batch {0},
Billing Date,Data di fatturazione,
Billing Interval Count cannot be less than 1,Il conteggio degli intervalli di fatturazione non può essere inferiore a 1,
Blue,Blu,
Book,Libro,
Book Appointment,Prenota un appuntamento,
Brand,Marca,
Browse,Sfoglia,
Call Connected,Chiama connessa,
Call Disconnected,Chiamata disconnessa,
Call Missed,Chiamata persa,
Call Summary,Riepilogo chiamate,
Call Summary Saved,Riepilogo chiamate salvato,
Cancelled,Annullato,
Cannot Calculate Arrival Time as Driver Address is Missing.,Impossibile calcolare l&#39;orario di arrivo poiché l&#39;indirizzo del conducente è mancante.,
Cannot Optimize Route as Driver Address is Missing.,Impossibile ottimizzare il percorso poiché manca l&#39;indirizzo del driver.,
Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,Impossibile completare l&#39;attività {0} poiché l&#39;attività dipendente {1} non è stata completata / annullata.,
Cannot create loan until application is approved,Impossibile creare un prestito fino all&#39;approvazione della domanda,
Cannot find a matching Item. Please select some other value for {0}.,Non riesco a trovare un prodotto trovato. Si prega di selezionare un altro valore per {0}.,
"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Impossibile eseguire l&#39;overbilling per l&#39;articolo {0} nella riga {1} più di {2}. Per consentire l&#39;eccessiva fatturazione, imposta l&#39;indennità in Impostazioni account",
"Capacity Planning Error, planned start time can not be same as end time","Errore di pianificazione della capacità, l&#39;ora di inizio pianificata non può coincidere con l&#39;ora di fine",
Categories,categorie,
Changes in {0},Modifiche in {0},
Chart,Grafico,
Choose a corresponding payment,Scegli un pagamento corrispondente,
Click on the link below to verify your email and confirm the appointment,Fai clic sul link in basso per verificare la tua email e confermare l&#39;appuntamento,
Close,Chiudi,
Communication,Comunicazione,
Compact Item Print,Compact elemento di stampa,
Company,Azienda,
Company of asset {0} and purchase document {1} doesn't matches.,La società dell&#39;asset {0} e il documento di acquisto {1} non corrispondono.,
Compare BOMs for changes in Raw Materials and Operations,Confronta le distinte base per le modifiche alle materie prime e alle operazioni,
Compare List function takes on list arguments,La funzione Confronta elenco accetta argomenti dell&#39;elenco,
Complete,Completare,
Completed,Completato,
Completed Quantity,Quantità completata,
Connect your Exotel Account to ERPNext and track call logs,Collega il tuo account Exotel a ERPNext e traccia i registri delle chiamate,
Connect your bank accounts to ERPNext,Collega i tuoi conti bancari a ERPNext,
Contact Seller,Contatta il venditore,
Continue,Continuare,
Cost Center: {0} does not exist,Centro di costo: {0} non esiste,
Couldn't Set Service Level Agreement {0}.,Impossibile impostare l&#39;accordo sul livello di servizio {0}.,
Country,Paese,
Country Code in File does not match with country code set up in the system,Il codice paese nel file non corrisponde al codice paese impostato nel sistema,
Create New Contact,Crea nuovo contatto,
Create New Lead,Crea nuovo lead,
Create Pick List,Crea elenco di prelievo,
Create Quality Inspection for Item {0},Crea controllo di qualità per l&#39;articolo {0},
Creating Accounts...,Creazione di account ...,
Creating bank entries...,Creazione di registrazioni bancarie ...,
Credit limit is already defined for the Company {0},Il limite di credito è già definito per la società {0},
Ctrl + Enter to submit,Ctrl + Invio per inviare,
Ctrl+Enter to submit,Ctrl + Invio per inviare,
Currency,Valuta,
Current Status,Stato Corrente,
Customer PO,PO cliente,
Customize,Personalizza,
Daily,Giornaliero,
Date,Data,
Date Range,Intervallo di date,
Date of Birth cannot be greater than Joining Date.,La data di nascita non può essere superiore alla data di iscrizione.,
Dear,Gentile,
Default,Predefinito,
Define coupon codes.,Definire i codici coupon.,
Delayed Days,Giorni in ritardo,
Delete,Elimina,
Delivered Quantity,Quantità consegnata,
Delivery Notes,Bolle di consegna,
Depreciated Amount,Ammortamento,
Description,Descrizione,
Designation,Designazione,
Difference Value,Differenza Valore,
Dimension Filter,Filtro dimensionale,
Disabled,Disabilitato,
Disbursement and Repayment,Esborso e rimborso,
Distance cannot be greater than 4000 kms,La distanza non può essere superiore a 4000 km,
Do you want to submit the material request,Vuoi inviare la richiesta materiale,
Doctype,Doctype,
Document {0} successfully uncleared,Documento {0} non chiarito correttamente,
Download Template,Scarica Modello,
Dr,Dr,
Due Date,Data di scadenza,
Duplicate,Duplica,
Duplicate Project with Tasks,Progetto duplicato con attività,
Duplicate project has been created,È stato creato un progetto duplicato,
E-Way Bill JSON can only be generated from a submitted document,E-Way Bill JSON può essere generato solo da un documento inviato,
E-Way Bill JSON can only be generated from submitted document,E-Way Bill JSON può essere generato solo dal documento inviato,
E-Way Bill JSON cannot be generated for Sales Return as of now,e-Way Bill JSON non può essere generato per il ritorno vendite al momento,
ERPNext could not find any matching payment entry,ERPNext non è stato possibile trovare alcuna voce di pagamento corrispondente,
Earliest Age,Prima età,
Edit Details,Modifica i dettagli,
Edit Profile,Modifica Profilo,
Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,È richiesto l&#39;ID del trasportatore GST o il numero del veicolo se la modalità di trasporto è su strada,
Email,E-mail,
Email Campaigns,Campagne e-mail,
Employee ID is linked with another instructor,L&#39;ID dipendente è collegato con un altro istruttore,
Employee Tax and Benefits,Imposta sui dipendenti e benefici,
Employee is required while issuing Asset {0},Il dipendente è richiesto durante l&#39;emissione del bene {0},
Employee {0} does not belongs to the company {1},Il dipendente {0} non appartiene alla società {1},
Enable Auto Re-Order,Abilita il riordino automatico,
End Date of Agreement can't be less than today.,La data di fine dell&#39;accordo non può essere inferiore a oggi.,
End Time,Ora fine,
Energy Point Leaderboard,Classifica dei punti energetici,
Enter API key in Google Settings.,Inserisci la chiave API in Impostazioni Google.,
Enter Supplier,Inserisci il fornitore,
Enter Value,Immettere Valore,
Entity Type,Tipo di entità,
Error,Errore,
Error in Exotel incoming call,Errore nella chiamata in arrivo Exotel,
Error: {0} is mandatory field,Errore: {0} è un campo obbligatorio,
Event Link,Link evento,
Exception occurred while reconciling {0},Si è verificata un&#39;eccezione durante la riconciliazione {0},
Expected and Discharge dates cannot be less than Admission Schedule date,Le date previste e di scarico non possono essere inferiori alla data del Programma di ammissione,
Expire Allocation,Scadenza allocazione,
Expired,Scaduto,
Export,Esporta,
Export not allowed. You need {0} role to export.,Esportazione non consentita . Hai bisogno di {0} ruolo/i da esportare.,
Failed to add Domain,Impossibile aggiungere il dominio,
Fetch Items from Warehouse,Recupera articoli dal magazzino,
Fetching...,Recupero ...,
Field,Campo,
File Manager,File Manager,
Filters,Filtri,
Finding linked payments,Trovare pagamenti collegati,
Fleet Management,Gestione della flotta,
Following fields are mandatory to create address:,I seguenti campi sono obbligatori per creare l&#39;indirizzo:,
For Month,Per mese,
"For item {0} at row {1}, count of serial numbers does not match with the picked quantity","Per l&#39;articolo {0} alla riga {1}, il conteggio dei numeri di serie non corrisponde alla quantità selezionata",
For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Per l&#39;operazione {0}: la quantità ({1}) non può essere inferiore rispetto alla quantità in sospeso ({2}),
For quantity {0} should not be greater than work order quantity {1},Per quantità {0} non dovrebbe essere maggiore della quantità ordine di lavoro {1},
Free item not set in the pricing rule {0},Articolo gratuito non impostato nella regola dei prezzi {0},
From Date and To Date are Mandatory,Dalla data e fino alla data sono obbligatori,
From employee is required while receiving Asset {0} to a target location,Da dipendente è richiesto durante la ricezione di attività {0} in una posizione target,
Fuel Expense,Spese di carburante,
Future Payment Amount,Importo pagamento futuro,
Future Payment Ref,Rif. Pagamento futuro,
Future Payments,Pagamenti futuri,
GST HSN Code does not exist for one or more items,Il codice GST HSN non esiste per uno o più articoli,
Generate E-Way Bill JSON,Genera E-Way Bill JSON,
Get Items,Ottieni Articoli,
Get Outstanding Documents,Ottieni documenti eccezionali,
Goal,Obiettivo,
Greater Than Amount,Maggiore dell&#39;ammontare,
Green,Verde,
Group,Gruppo,
Group By Customer,Raggruppa per cliente,
Group By Supplier,Raggruppa per fornitore,
Group Node,Nodo Group,
Group Warehouses cannot be used in transactions. Please change the value of {0},I magazzini di gruppo non possono essere utilizzati nelle transazioni. Modifica il valore di {0},
Help,Aiuto,
Help Article,Aiuto articolo,
"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Ti aiuta a tenere traccia dei contratti in base a fornitore, cliente e dipendente",
Helps you manage appointments with your leads,Ti aiuta a gestire gli appuntamenti con i tuoi contatti,
Home,Home,
IBAN is not valid,IBAN non è valido,
Import Data from CSV / Excel files.,Importa dati da file CSV / Excel.,
In Progress,In corso,
Incoming call from {0},Chiamata in arrivo da {0},
Incorrect Warehouse,Magazzino errato,
Intermediate,Intermedio,
Invalid Barcode. There is no Item attached to this barcode.,Codice a barre non valido. Non ci sono articoli collegati a questo codice a barre.,
Invalid credentials,Credenziali non valide,
Invite as User,Invita come utente,
Issue Priority.,Priorità al problema.,
Issue Type.,Tipo di problema.,
"It seems that there is an issue with the server's stripe configuration. In case of failure, the amount will get refunded to your account.","Sembra che ci sia un problema con la configurazione delle strisce del server. In caso di fallimento, l&#39;importo verrà rimborsato sul tuo conto.",
Item Reported,Articolo segnalato,
Item listing removed,Elenco degli articoli rimosso,
Item quantity can not be zero,La quantità dell&#39;articolo non può essere zero,
Item taxes updated,Imposte sugli articoli aggiornate,
Item {0}: {1} qty produced. ,Articolo {0}: {1} qtà prodotta.,
Joining Date can not be greater than Leaving Date,La data di iscrizione non può essere superiore alla data di fine,
Lab Test Item {0} already exist,L&#39;articolo del test di laboratorio {0} esiste già,
Last Issue,Ultima emissione,
Latest Age,Fase avanzata,
Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,Lasciare l&#39;applicazione è collegata con allocazioni di ferie {0}. Non è possibile impostare l&#39;applicazione di congedo come congedo gratuito,
Leaves Taken,Foglie prese,
Less Than Amount,Meno dell&#39;importo,
Liabilities,passivo,
Loading...,Caricamento in corso ...,
Loan Amount exceeds maximum loan amount of {0} as per proposed securities,L&#39;importo del prestito supera l&#39;importo massimo del prestito di {0} come da titoli proposti,
Loan Applications from customers and employees.,Domande di prestito da parte di clienti e dipendenti.,
Loan Disbursement,Prestito,
Loan Processes,Processi di prestito,
Loan Security,Sicurezza del prestito,
Loan Security Pledge,Impegno di sicurezza del prestito,
Loan Security Pledge Created : {0},Pegno di sicurezza del prestito creato: {0},
Loan Security Price,Prezzo di sicurezza del prestito,
Loan Security Price overlapping with {0},Prezzo del prestito sovrapposto con {0},
Loan Security Unpledge,Prestito Unpledge di sicurezza,
Loan Security Value,Valore di sicurezza del prestito,
Loan Type for interest and penalty rates,Tipo di prestito per tassi di interesse e penalità,
Loan amount cannot be greater than {0},L&#39;importo del prestito non può essere superiore a {0},
Loan is mandatory,Il prestito è obbligatorio,
Loans,prestiti,
Loans provided to customers and employees.,Prestiti erogati a clienti e dipendenti.,
Location,Posizione,
Log Type is required for check-ins falling in the shift: {0}.,Il tipo di registro è richiesto per i check-in che rientrano nel turno: {0}.,
Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Sembra che qualcuno ti ha mandato a un URL incompleto. Si prega di chiedere loro di esaminare il problema.,
Make Journal Entry,Crea Registro,
Make Purchase Invoice,Crea Fattura d'Acquisto,
Manufactured,Manufatto,
Mark Work From Home,Segna il lavoro da casa,
Master,Maestro,
Max strength cannot be less than zero.,La forza massima non può essere inferiore a zero.,
Maximum attempts for this quiz reached!,Raggiunti i massimi tentativi per questo quiz!,
Message,Messaggio,
Missing Values Required,Valori mancanti richiesti,
Mobile No,Num. Cellulare,
Mobile Number,Numero di cellulare,
Month,Mese,
Name,Nome,
Near you,Vicino a te,
Net Profit/Loss,Utile / perdita netti,
New Expense,Nuova spesa,
New Invoice,Nuova fattura,
New Payment,Nuovo pagamento,
New release date should be in the future,La nuova data di uscita dovrebbe essere in futuro,
Newsletter,Newsletter,
No Account matched these filters: {},Nessun account corrisponde a questi filtri: {},
No Employee found for the given employee field value. '{}': {},Nessun dipendente trovato per il valore del campo dato dipendente. &#39;{}&#39;: {},
No Leaves Allocated to Employee: {0} for Leave Type: {1},Nessun permesso assegnato al dipendente: {0} per il tipo di congedo: {1},
No communication found.,Nessuna comunicazione trovata.,
No correct answer is set for {0},Non è stata impostata una risposta corretta per {0},
No description,Nessuna descrizione,
No issue has been raised by the caller.,Nessun problema è stato sollevato dal chiamante.,
No items to publish,Nessun articolo da pubblicare,
No outstanding invoices found,Non sono state trovate fatture in sospeso,
No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,Non sono state trovate fatture in sospeso per {0} {1} che qualificano i filtri specificati.,
No outstanding invoices require exchange rate revaluation,Nessuna fattura in sospeso richiede una rivalutazione del tasso di cambio,
No reviews yet,Ancora nessuna recensione,
No views yet,Ancora nessuna vista,
Non stock items,Articoli non disponibili,
Not Allowed,Non ammessi,
Not allowed to create accounting dimension for {0},Non è consentito creare una dimensione contabile per {0},
Not permitted. Please disable the Lab Test Template,Non consentito. Disabilitare il modello di test di laboratorio,
Note,Nota,
Notes: ,Note:,
On Converting Opportunity,Sulla conversione di opportunità,
On Purchase Order Submission,Alla presentazione dell&#39;ordine d&#39;acquisto,
On Sales Order Submission,All&#39;invio dell&#39;ordine cliente,
On Task Completion,Al completamento dell&#39;attività,
On {0} Creation,Su {0} Creazione,
Only .csv and .xlsx files are supported currently,Attualmente sono supportati solo i file .csv e .xlsx,
Only expired allocation can be cancelled,È possibile annullare solo l&#39;allocazione scaduta,
Only users with the {0} role can create backdated leave applications,Solo gli utenti con il ruolo {0} possono creare applicazioni congedo retrodatate,
Open,Aperto,
Open Contact,Apri contatto,
Open Lead,Piombo aperto,
Opening and Closing,Apertura e chiusura,
Operating Cost as per Work Order / BOM,Costo operativo secondo l&#39;ordine di lavoro / distinta base,
Order Amount,Ammontare dell&#39;ordine,
Page {0} of {1},Pagina {0} di {1},
Paid amount cannot be less than {0},L&#39;importo pagato non può essere inferiore a {0},
Parent Company must be a group company,La Capogruppo deve essere una società del gruppo,
Passing Score value should be between 0 and 100,Il valore del punteggio superato deve essere compreso tra 0 e 100,
Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,La politica delle password non può contenere spazi o trattini simultanei. Il formato verrà ristrutturato automaticamente,
Patient History,Storia del paziente,
Pause,Pausa,
Pay,Paga,
Payment Document Type,Tipo di documento di pagamento,
Payment Name,Nome pagamento,
Penalty Amount,Importo della penalità,
Pending,In attesa,
Performance,Prestazione,
Period based On,Periodo basato su,
Perpetual inventory required for the company {0} to view this report.,Spazio pubblicitario perpetuo richiesto per la società {0} per visualizzare questo rapporto.,
Phone,Telefono,
Pick List,Lista da cui scegliere,
Plaid authentication error,Errore di autenticazione plaid,
Plaid public token error,Errore token pubblico plaid,
Plaid transactions sync error,Errore di sincronizzazione delle transazioni del plaid,
Please check the error log for details about the import errors,Controllare il registro degli errori per i dettagli sugli errori di importazione,
Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Crea le <b>impostazioni DATEV</b> per l&#39;azienda <b>{}</b> .,
Please create adjustment Journal Entry for amount {0} ,Crea una registrazione prima nota di rettifica per l&#39;importo {0},
Please do not create more than 500 items at a time,Non creare più di 500 elementi alla volta,
Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Inserisci un <b>Conto differenze</b> o imposta un <b>Conto di adeguamento stock</b> predefinito per la società {0},
Please enter GSTIN and state for the Company Address {0},Inserisci GSTIN e indica l&#39;indirizzo dell&#39;azienda {0},
Please enter Item Code to get item taxes,Inserisci il codice articolo per ottenere le tasse articolo,
Please enter Warehouse and Date,Inserisci il magazzino e la data,
Please enter the designation,Si prega di inserire la designazione,
Please login as a Marketplace User to edit this item.,Effettua il login come utente del marketplace per modificare questo elemento.,
Please login as a Marketplace User to report this item.,Effettua il login come utente del marketplace per segnalare questo articolo.,
Please select <b>Template Type</b> to download template,Seleziona <b>Tipo</b> di modello per scaricare il modello,
Please select Applicant Type first,Seleziona prima il tipo di candidato,
Please select Customer first,Seleziona prima il cliente,
Please select Item Code first,Seleziona prima il codice articolo,
Please select Loan Type for company {0},Seleziona il tipo di prestito per la società {0},
Please select a Delivery Note,Seleziona una bolla di consegna,
Please select a Sales Person for item: {0},Seleziona un addetto alle vendite per l&#39;articolo: {0},
Please select another payment method. Stripe does not support transactions in currency '{0}',Seleziona un altro metodo di pagamento. Stripe non supporta transazioni in valuta &#39;{0}&#39;,
Please select the customer.,Seleziona il cliente,
Please set a Supplier against the Items to be considered in the Purchase Order.,Si prega di impostare un fornitore rispetto agli articoli da prendere in considerazione nell&#39;ordine di acquisto.,
Please set account heads in GST Settings for Compnay {0},Imposta le intestazioni account in Impostazioni GST per Compnay {0},
Please set an email id for the Lead {0},Imposta un ID email per il lead {0},
Please set default UOM in Stock Settings,Si prega di impostare UOM predefinito in Impostazioni stock,
Please set filter based on Item or Warehouse due to a large amount of entries.,Si prega di impostare il filtro in base all&#39;articolo o al magazzino a causa di una grande quantità di voci.,
Please set up the Campaign Schedule in the Campaign {0},Imposta il programma della campagna nella campagna {0},
Please set valid GSTIN No. in Company Address for company {0},Imposta un numero GSTIN valido nell&#39;indirizzo dell&#39;azienda per la società {0},
Please set {0},Si prega di impostare {0},customer
Please setup a default bank account for company {0},Configura un conto bancario predefinito per la società {0},
Please specify,Si prega di specificare,
Please specify a {0},Si prega di specificare un {0},lead
Pledge Status,Pledge Status,
Pledge Time,Pledge Time,
Printing,Stampa,
Priority,Priorità,
Priority has been changed to {0}.,La priorità è stata cambiata in {0}.,
Priority {0} has been repeated.,La priorità {0} è stata ripetuta.,
Processing XML Files,Elaborazione di file XML,
Profitability,Redditività,
Project,Progetto,
Proposed Pledges are mandatory for secured Loans,Gli impegni proposti sono obbligatori per i prestiti garantiti,
Provide the academic year and set the starting and ending date.,Fornire l&#39;anno accademico e impostare la data di inizio e di fine.,
Public token is missing for this bank,Token pubblico mancante per questa banca,
Publish,Pubblicare,
Publish 1 Item,Pubblica 1 oggetto,
Publish Items,Pubblica articoli,
Publish More Items,Pubblica più articoli,
Publish Your First Items,Pubblica i tuoi primi articoli,
Publish {0} Items,Pubblica {0} elementi,
Published Items,Articoli pubblicati,
Purchase Invoice cannot be made against an existing asset {0},La fattura di acquisto non può essere effettuata su un bene esistente {0},
Purchase Invoices,Acquista fatture,
Purchase Orders,Ordini di acquisto,
Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,La ricevuta di acquisto non ha articoli per i quali è abilitato Conserva campione.,
Purchase Return,Acquisto Ritorno,
Qty of Finished Goods Item,Qtà di articoli finiti,
Qty or Amount is mandatroy for loan security,Qtà o importo è obbligatorio per la sicurezza del prestito,
Quality Inspection required for Item {0} to submit,Ispezione di qualità richiesta per l&#39;invio dell&#39;articolo {0},
Quantity to Manufacture,Quantità da produrre,
Quantity to Manufacture can not be zero for the operation {0},La quantità da produrre non può essere zero per l&#39;operazione {0},
Quarterly,Trimestralmente,
Queued,In coda,
Quick Entry,Inserimento rapido,
Quiz {0} does not exist,Il quiz {0} non esiste,
Quotation Amount,Importo dell&#39;offerta,
Rate or Discount is required for the price discount.,Tasso o sconto è richiesto per lo sconto sul prezzo.,
Reason,Motivo,
Reconcile Entries,Riconcilia voci,
Reconcile this account,Riconcilia questo account,
Reconciled,riconciliati,
Recruitment,Reclutamento,
Red,Rosso,
Refreshing,Aggiornamento,
Release date must be in the future,La data di uscita deve essere in futuro,
Relieving Date must be greater than or equal to Date of Joining,La data di rilascio deve essere maggiore o uguale alla data di iscrizione,
Rename,Rinomina,
Rename Not Allowed,Rinomina non consentita,
Repayment Method is mandatory for term loans,Il metodo di rimborso è obbligatorio per i prestiti a termine,
Repayment Start Date is mandatory for term loans,La data di inizio del rimborso è obbligatoria per i prestiti a termine,
Report Item,Segnala articolo,
Report this Item,Segnala questo elemento,
Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Qtà riservata per conto lavoro: quantità di materie prime per la fabbricazione di articoli in conto lavoro.,
Reset,Reset,
Reset Service Level Agreement,Ripristina accordo sul livello di servizio,
Resetting Service Level Agreement.,Ripristino dell&#39;accordo sul livello di servizio.,
Return amount cannot be greater unclaimed amount,L&#39;importo del reso non può essere un importo non riscosso maggiore,
Review,Revisione,
Room,Camera,
Room Type,Tipo di stanza,
Row # ,Row #,
Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Riga # {0}: il magazzino accettato e il magazzino fornitori non possono essere uguali,
Row #{0}: Cannot delete item {1} which has already been billed.,Riga # {0}: impossibile eliminare l&#39;elemento {1} che è già stato fatturato.,
Row #{0}: Cannot delete item {1} which has already been delivered,Riga # {0}: impossibile eliminare l&#39;articolo {1} che è già stato consegnato,
Row #{0}: Cannot delete item {1} which has already been received,Riga # {0}: impossibile eliminare l&#39;elemento {1} che è già stato ricevuto,
Row #{0}: Cannot delete item {1} which has work order assigned to it.,Riga # {0}: impossibile eliminare l&#39;elemento {1} a cui è assegnato un ordine di lavoro.,
Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,Riga # {0}: impossibile eliminare l&#39;articolo {1} assegnato all&#39;ordine di acquisto del cliente.,
Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Riga n. {0}: impossibile selezionare il magazzino del fornitore mentre fornisce materie prime al subappaltatore,
Row #{0}: Cost Center {1} does not belong to company {2},Riga # {0}: Cost Center {1} non appartiene alla società {2},
Row #{0}: Operation {1} is not completed for {2} qty of finished goods in Work Order {3}. Please update operation status via Job Card {4}.,Riga n. {0}: l&#39;operazione {1} non è stata completata per {2} quantità di prodotti finiti nell&#39;ordine di lavoro {3}. Aggiorna lo stato dell&#39;operazione tramite la Job Card {4}.,
Row #{0}: Payment document is required to complete the transaction,Riga # {0}: per completare la transazione è richiesto un documento di pagamento,
Row #{0}: Serial No {1} does not belong to Batch {2},Riga # {0}: il numero di serie {1} non appartiene a Batch {2},
Row #{0}: Service End Date cannot be before Invoice Posting Date,Riga n. {0}: la data di fine del servizio non può essere precedente alla data di registrazione della fattura,
Row #{0}: Service Start Date cannot be greater than Service End Date,Riga # {0}: la data di inizio del servizio non può essere superiore alla data di fine del servizio,
Row #{0}: Service Start and End Date is required for deferred accounting,Riga # {0}: la data di inizio e fine del servizio è richiesta per la contabilità differita,
Row {0}: Invalid Item Tax Template for item {1},Riga {0}: modello fiscale articolo non valido per l&#39;articolo {1},
Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Riga {0}: quantità non disponibile per {4} nel magazzino {1} al momento della registrazione della voce ({2} {3}),
Row {0}: user has not applied the rule {1} on the item {2},Riga {0}: l&#39;utente non ha applicato la regola {1} sull&#39;elemento {2},
Row {0}:Sibling Date of Birth cannot be greater than today.,Riga {0}: la data di nascita del fratello non può essere maggiore di oggi.,
Row({0}): {1} is already discounted in {2},Riga ({0}): {1} è già scontato in {2},
Rows Added in {0},Righe aggiunte in {0},
Rows Removed in {0},Righe rimosse in {0},
Sanctioned Amount limit crossed for {0} {1},Limite di importo sanzionato superato per {0} {1},
Sanctioned Loan Amount already exists for {0} against company {1},L&#39;importo del prestito sanzionato esiste già per {0} contro la società {1},
Save,Salva,
Save Item,Salva articolo,
Saved Items,Articoli salvati,
Search Items ...,Cerca articoli ...,
Search for a payment,Cerca un pagamento,
Search for anything ...,Cerca qualcosa ...,
Search results for,cerca risultati per,
Select All,Seleziona tutto,
Select Difference Account,Seleziona Conto differenze,
Select a Default Priority.,Seleziona una priorità predefinita.,
Select a company,Seleziona un&#39;azienda,
Select finance book for the item {0} at row {1},Seleziona il libro finanziario per l&#39;articolo {0} alla riga {1},
Select only one Priority as Default.,Seleziona solo una priorità come predefinita.,
Seller Information,Informazioni del venditore,
Send,Invia,
Send a message,Mandare un messaggio,
Sending,invio,
Sends Mails to lead or contact based on a Campaign schedule,Invia email per guidare o contattare in base a una pianificazione della campagna,
Serial Number Created,Numero di serie creato,
Serial Numbers Created,Numeri di serie creati,
Serial no(s) required for serialized item {0},Numero (i) seriale (i) richiesto (i) per l&#39;articolo serializzato {0},
Series,Serie,
Server Error,Errore del server,
Service Level Agreement has been changed to {0}.,L&#39;accordo sul livello di servizio è stato modificato in {0}.,
Service Level Agreement was reset.,L&#39;accordo sul livello di servizio è stato ripristinato.,
Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Accordo sul livello di servizio con il tipo di entità {0} e l&#39;entità {1} esiste già.,
Set,set,
Set Meta Tags,Imposta meta tag,
Set {0} in company {1},Imposta {0} nella società {1},
Setup,Setup,
Setup Wizard,Installazione guidata,
Shift Management,Gestione dei turni,
Show Future Payments,Mostra pagamenti futuri,
Show Linked Delivery Notes,Mostra note di consegna collegate,
Show Sales Person,Mostra addetto alle vendite,
Show Stock Ageing Data,Mostra dati di invecchiamento stock,
Show Warehouse-wise Stock,Mostra stock a livello di magazzino,
Size,Taglia,
Something went wrong while evaluating the quiz.,Qualcosa è andato storto durante la valutazione del quiz.,
Sr,sr,
Start,Inizio,
Start Date cannot be before the current date,La data di inizio non può essere precedente alla data corrente,
Start Time,Ora di inizio,
Status,Stato,
Status must be Cancelled or Completed,Lo stato deve essere annullato o completato,
Stock Balance Report,Rapporto sul bilancio azionario,
Stock Entry has been already created against this Pick List,La registrazione titoli è già stata creata in base a questo elenco di selezione,
Stock Ledger ID,ID libro mastro,
Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,Il valore dello stock ({0}) e il saldo del conto ({1}) non sono sincronizzati per l&#39;account {2} ed i relativi magazzini collegati.,
Stores - {0},Negozi - {0},
Student with email {0} does not exist,Lo studente con email {0} non esiste,
Submit Review,invia recensione,
Submitted,Confermato,
Supplier Addresses And Contacts,Indirizzi e contatti Fornitore,
Synchronize this account,Sincronizza questo account,
Tag,Etichetta,
Target Location is required while receiving Asset {0} from an employee,La posizione di destinazione è richiesta quando si riceve l&#39;asset {0} da un dipendente,
Target Location is required while transferring Asset {0},Posizione di destinazione richiesta durante il trasferimento di risorse {0},
Target Location or To Employee is required while receiving Asset {0},Posizione di destinazione o al dipendente è richiesta durante la ricezione dell&#39;attività {0},
Task's {0} End Date cannot be after Project's End Date.,La data di fine {0} dell&#39;attività non può essere successiva alla data di fine del progetto.,
Task's {0} Start Date cannot be after Project's End Date.,La data di inizio {0} dell&#39;attività non può essere successiva alla data di fine del progetto.,
Tax Account not specified for Shopify Tax {0},Conto fiscale non specificato per la tassa Shopify {0},
Tax Total,Totale imposte,
Template,Modelli,
The Campaign '{0}' already exists for the {1} '{2}',La campagna &quot;{0}&quot; esiste già per {1} &quot;{2}&quot;,
The difference between from time and To Time must be a multiple of Appointment,La differenza tra time e To Time deve essere un multiplo di Appointment,
The field Asset Account cannot be blank,Il campo Account asset non può essere vuoto,
The field Equity/Liability Account cannot be blank,Il campo Conto capitale / responsabilità non può essere vuoto,
The following serial numbers were created: <br><br> {0},Sono stati creati i seguenti numeri di serie: <br><br> {0},
The parent account {0} does not exists in the uploaded template,L&#39;account principale {0} non esiste nel modello caricato,
The question cannot be duplicate,La domanda non può essere duplicata,
The selected payment entry should be linked with a creditor bank transaction,La voce di pagamento selezionata deve essere collegata a una transazione bancaria del creditore,
The selected payment entry should be linked with a debtor bank transaction,La voce di pagamento selezionata deve essere collegata a una transazione bancaria del debitore,
The total allocated amount ({0}) is greated than the paid amount ({1}).,L&#39;importo totale assegnato ({0}) è aumentato rispetto all&#39;importo pagato ({1}).,
There are no vacancies under staffing plan {0},Non ci sono posti vacanti nell&#39;ambito del piano di personale {0},
This Service Level Agreement is specific to Customer {0},Il presente Accordo sul livello di servizio è specifico per il Cliente {0},
This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,Questa azione scollegherà questo account da qualsiasi servizio esterno che integri ERPNext con i tuoi conti bancari. Non può essere annullato. Sei sicuro ?,
This bank account is already synchronized,Questo conto bancario è già sincronizzato,
This bank transaction is already fully reconciled,Questa transazione bancaria è già completamente riconciliata,
This employee already has a log with the same timestamp.{0},Questo impiegato ha già un registro con lo stesso timestamp. {0},
This page keeps track of items you want to buy from sellers.,Questa pagina tiene traccia degli articoli che desideri acquistare dai venditori.,
This page keeps track of your items in which buyers have showed some interest.,Questa pagina tiene traccia dei tuoi articoli per i quali gli acquirenti hanno mostrato un certo interesse.,
Thursday,Giovedì,
Timing,sincronizzazione,
Title,Titolo,
"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","Per consentire la fatturazione in eccesso, aggiorna &quot;Assegno di fatturazione in eccesso&quot; in Impostazioni account o Articolo.",
"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","Per consentire l&#39;eccesso di scontrino / consegna, aggiorna &quot;Sovracontrollo / assegno di consegna&quot; in Impostazioni magazzino o Articolo.",
To date needs to be before from date,Ad oggi deve essere precedente alla data,
Total,Totale,
Total Early Exits,Totale uscite anticipate,
Total Late Entries,Totale voci in ritardo,
Total Payment Request amount cannot be greater than {0} amount,L&#39;importo della richiesta di pagamento totale non può essere superiore all&#39;importo di {0},
Total payments amount can't be greater than {},L&#39;importo totale dei pagamenti non può essere superiore a {},
Totals,Totali,
Training Event:,Evento di allenamento:,
Transactions already retreived from the statement,Transazioni già recuperate dall&#39;istruzione,
Transfer Material to Supplier,Trasferire il materiale al Fornitore,
Transport Receipt No and Date are mandatory for your chosen Mode of Transport,La data e la data di ricezione del trasporto sono obbligatorie per la modalità di trasporto prescelta,
Tuesday,Martedì,
Type,Tipo,
Unable to find Salary Component {0},Impossibile trovare la componente di stipendio {0},
Unable to find the time slot in the next {0} days for the operation {1}.,Impossibile trovare la fascia oraria nei prossimi {0} giorni per l&#39;operazione {1}.,
Unable to update remote activity,Impossibile aggiornare l&#39;attività remota,
Unknown Caller,Chiamante sconosciuto,
Unlink external integrations,Scollega integrazioni esterne,
Unmarked Attendance for days,Frequenza non contrassegnata per giorni,
Unpublish Item,Articolo non pubblicato,
Unreconciled,unreconciled,
Unsupported GST Category for E-Way Bill JSON generation,Categoria GST non supportata per la generazione JSON di E-Way Bill,
Update,Aggiornare,
Update Details,Dettagli aggiornamento,
Update Taxes for Items,Aggiorna tasse per articoli,
"Upload a bank statement, link or reconcile a bank account","Carica un estratto conto, collega o riconcilia un conto bancario",
Upload a statement,Carica una dichiarazione,
Use a name that is different from previous project name,Utilizzare un nome diverso dal precedente nome del progetto,
User {0} is disabled,Utente {0} è disattivato,
Users and Permissions,Utenti e Permessi,
Vacancies cannot be lower than the current openings,I posti vacanti non possono essere inferiori alle aperture correnti,
Valid From Time must be lesser than Valid Upto Time.,Valido da tempo deve essere inferiore a Valido fino a tempo.,
Valuation Rate required for Item {0} at row {1},Tasso di valutazione richiesto per l&#39;articolo {0} alla riga {1},
Values Out Of Sync,Valori non sincronizzati,
Vehicle Type is required if Mode of Transport is Road,Il tipo di veicolo è richiesto se la modalità di trasporto è su strada,
Vendor Name,Nome del fornitore,
Verify Email,Verifica Email,
View,Vista,
View all issues from {0},Visualizza tutti i problemi da {0},
View call log,Visualizza registro chiamate,
Warehouse,Magazzino,
Warehouse not found against the account {0},Magazzino non trovato nell&#39;account {0},
Welcome to {0},Benvenuti a {0},
Why do think this Item should be removed?,Perché pensi che questo oggetto debba essere rimosso?,
Work Order {0}: Job Card not found for the operation {1},Ordine di lavoro {0}: scheda lavoro non trovata per l&#39;operazione {1},
Workday {0} has been repeated.,Il giorno lavorativo {0} è stato ripetuto.,
XML Files Processed,File XML elaborati,
Year,Anno,
Yearly,Annuale,
You,Tu,
You are not allowed to enroll for this course,Non ti è permesso iscriverti a questo corso,
You are not enrolled in program {0},Non sei iscritto al programma {0},
You can Feature upto 8 items.,Puoi presentare fino a 8 elementi.,
You can also copy-paste this link in your browser,È possibile anche copiare e incollare questo link nel tuo browser,
You can publish upto 200 items.,Puoi pubblicare fino a 200 articoli.,
You have to enable auto re-order in Stock Settings to maintain re-order levels.,È necessario abilitare il riordino automatico nelle Impostazioni di magazzino per mantenere i livelli di riordino.,
You must be a registered supplier to generate e-Way Bill,Devi essere un fornitore registrato per generare la fattura elettronica,
You need to login as a Marketplace User before you can add any reviews.,Devi accedere come utente del marketplace prima di poter aggiungere recensioni.,
Your Featured Items,I tuoi articoli in vetrina,
Your Items,I tuoi articoli,
Your Profile,Il tuo profilo,
Your rating:,Il tuo punteggio:,
and,e,
e-Way Bill already exists for this document,e-Way Bill esiste già per questo documento,
woocommerce - {0},woocommerce - {0},
{0} Coupon used are {1}. Allowed quantity is exhausted,{0} I coupon utilizzati sono {1}. La quantità consentita è esaurita,
{0} Name,{0} Nome,
{0} Operations: {1},{0} Operazioni: {1},
{0} bank transaction(s) created,{0} transazioni bancarie create,
{0} bank transaction(s) created and {1} errors,{0} transazioni bancarie create e errori {1},
{0} can not be greater than {1},{0} non può essere maggiore di {1},
{0} conversations,{0} conversazioni,
{0} is not a company bank account,{0} non è un conto bancario aziendale,
{0} is not a group node. Please select a group node as parent cost center,{0} non è un nodo del gruppo. Seleziona un nodo del gruppo come centro di costo principale,
{0} is not the default supplier for any items.,{0} non è il fornitore predefinito per nessun articolo.,
{0} is required,{0} è richiesto,
{0}: {1} must be less than {2},{0}: {1} deve essere inferiore a {2},
{} is an invalid Attendance Status.,{} è uno stato di partecipazione non valido.,
{} is required to generate E-Way Bill JSON,{} è necessario per generare l&#39;e-Way Bill JSON,
"Invalid lost reason {0}, please create a new lost reason","Motivo perduto non valido {0}, crea un nuovo motivo perduto",
Profit This Year,Profitto quest&#39;anno,
Total Expense,Spesa totale,
Total Expense This Year,Spese totali quest&#39;anno,
Total Income,Reddito totale,
Total Income This Year,Reddito totale quest&#39;anno,
Barcode,Codice a barre,
Bold,Grassetto,
Center,Centro,
Clear,Chiaro,
Comment,Commento,
Comments,Commenti,
DocType,DocType,
Download,Scarica,
Left,Sinistra,
Link,collegamento,
New,Nuovo,
Not Found,Non trovato,
Print,Stampa,
Reference Name,nome di riferimento,
Refresh,Aggiorna,
Success,Successo,
Time,Tempo,
Value,Valore,
Actual,Effettivo,
Add to Cart,Aggiungi al carrello,
Days Since Last Order,Giorni dall&#39;ultimo ordine,
In Stock,In Magazzino,
Loan Amount is mandatory,L&#39;importo del prestito è obbligatorio,
Mode Of Payment,Modalità di pagamento,
No students Found,Nessuno studente trovato,
Not in Stock,Non in Stock,
Please select a Customer,Si prega di selezionare un cliente,
Printed On,Stampato su,
Received From,Ricevuto da,
Sales Person,Venditore,
To date cannot be before From date,'A Data' deve essere successiva a 'Da Data',
Write Off,Svalutazione,
{0} Created,{0} Creato,
Email Id,ID Email,
No,No,
Reference Doctype,Riferimento DocType,
User Id,ID utente,
Yes,sì,
Actual ,Attuale,
Add to cart,Aggiungi al carrello,
Budget,Budget,
Chart of Accounts,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,
Loan amount is mandatory,L&#39;importo del prestito è obbligatorio,
Minimum Qty,Qtà minima,
More details,Maggiori dettagli,
Nature of Supplies,Natura dei rifornimenti,
No Items found.,Nessun articolo trovato.,
No employee found,Nessun dipendente trovato,
No students found,Nessun studenti hanno trovato,
Not in stock,Non in magazzino,
Not permitted,Non consentito,
Open Issues ,Problemi Aperti,
Open Projects ,Progetti aperti,
Open To Do ,Aperto per fare,
Operation Id,ID operazione,
Partially ordered,Parzialmente ordinato,
Please select company first,Si prega di selezionare prima la società,
Please select patient,Si prega di selezionare Paziente,
Printed On ,Stampato su,
Projected qty,Qtà proiettata,
Sales person,Addetto alle vendite,
Serial No {0} Created,Serial No {0} creato,
Source Location is required for the Asset {0},La posizione di origine è richiesta per la risorsa {0},
Tax Id,Codice fiscale,
To Time,Per Tempo,
To date cannot be before from date,Ad oggi non può essere precedente a Da data,
Total Taxable value,Totale valore imponibile,
Upcoming Calendar Events ,Prossimi eventi del calendario,
Value or Qty,Valore o Quantità,
Variance ,Varianza,
Variant of,Variante di,
Write off,Svalutazione,
hours,ore,
received from,ricevuto da,
to,A,
Cards,Carte,
Percentage,Percentuale,
Failed to setup defaults for country {0}. Please contact support@erpnext.com,Impossibile impostare i valori predefiniti per il paese {0}. Si prega di contattare support@erpnext.com,
Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Riga # {0}: L&#39;articolo {1} non è un articolo serializzato / in batch. Non può avere un numero di serie / un numero di lotto a fronte di esso.,
Please set {0},Impostare {0},
Please set {0},Si prega di impostare {0},supplier
Draft,Bozza,"docstatus,=,0"
Cancelled,Annullato,"docstatus,=,2"
Please setup Instructor Naming System in Education > Education Settings,Configura il sistema di denominazione dell&#39;istruttore in Istruzione&gt; Impostazioni istruzione,
Please set Naming Series for {0} via Setup > Settings > Naming Series,Impostare Naming Series per {0} tramite Setup&gt; Impostazioni&gt; Naming Series,
UOM Conversion factor ({0} -> {1}) not found for item: {2},Fattore di conversione UOM ({0} -&gt; {1}) non trovato per l&#39;articolo: {2},
Item Code > Item Group > Brand,Codice articolo&gt; Gruppo articoli&gt; Marchio,
Customer > Customer Group > Territory,Cliente&gt; Gruppo di clienti&gt; Territorio,
Supplier > Supplier Type,Fornitore&gt; Tipo di fornitore,
Please setup Employee Naming System in Human Resource > HR Settings,Si prega di impostare il sistema di denominazione dei dipendenti in Risorse umane&gt; Impostazioni risorse umane,
Please setup numbering series for Attendance via Setup > Numbering Series,Impostare le serie di numerazione per la partecipazione tramite Impostazione&gt; Serie di numerazione,
The value of {0} differs between Items {1} and {2},Il valore di {0} è diverso tra Articoli {1} e {2},
Auto Fetch,Recupero automatico,
Fetch Serial Numbers based on FIFO,Recupera numeri di serie basati su FIFO,
"Outward taxable supplies(other than zero rated, nil rated and exempted)","Prestazioni imponibili in uscita (diverse da zero valutate, zero valutate ed esenti)",
"To allow different rates, disable the {0} checkbox in {1}.","Per consentire tariffe diverse, disabilita la {0} casella di controllo in {1}.",
Current Odometer Value should be greater than Last Odometer Value {0},Il valore attuale del contachilometri deve essere maggiore dell&#39;ultimo valore del contachilometri {0},
No additional expenses has been added,Non sono state aggiunte spese aggiuntive,
Asset{} {assets_link} created for {},Risorsa {} {assets_link} creata per {},
Row {}: Asset Naming Series is mandatory for the auto creation for item {},Riga {}: la serie di denominazione delle risorse è obbligatoria per la creazione automatica dell&#39;articolo {},
Assets not created for {0}. You will have to create asset manually.,Risorse non create per {0}. Dovrai creare la risorsa manualmente.,
{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} ha voci contabili nella valuta {2} per la società {3}. Seleziona un conto attivo o passivo con valuta {2}.,
Invalid Account,Account non valido,
Purchase Order Required,Ordine di Acquisto Obbligatorio,
Purchase Receipt Required,Ricevuta di Acquisto necessaria,
Account Missing,Account mancante,
Requested,richiesto,
Partially Paid,Parzialmente pagato,
Invalid Account Currency,Valuta dell&#39;account non valida,
"Row {0}: The item {1}, quantity must be positive number","Riga {0}: l&#39;articolo {1}, la quantità deve essere un numero positivo",
"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Impostare {0} per Articolo in batch {1}, che viene utilizzato per impostare {2} su Invia.",
Expiry Date Mandatory,Data di scadenza obbligatoria,
Variant Item,Articolo variante,
BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} e BOM 2 {1} non devono essere uguali,
Note: Item {0} added multiple times,Nota: elemento {0} aggiunto più volte,
YouTube,Youtube,
Vimeo,Vimeo,
Publish Date,Data di pubblicazione,
Duration,Durata,
Advanced Settings,Impostazioni avanzate,
Path,Percorso,
Components,componenti,
Verified By,Verificato da,
Invalid naming series (. missing) for {0},Serie di denominazione non valida (. Mancante) per {0},
Filter Based On,Filtro basato su,
Reqd by date,Richiesto per data,
Manufacturer Part Number <b>{0}</b> is invalid,Il numero di parte del produttore <b>{0}</b> non è valido,
Invalid Part Number,Numero di parte non valido,
Select atleast one Social Media from Share on.,Seleziona almeno un social media da Condividi su.,
Invalid Scheduled Time,Orario programmato non valido,
Length Must be less than 280.,La lunghezza deve essere inferiore a 280.,
Error while POSTING {0},Errore durante il POSTING {0},
"Session not valid, Do you want to login?","Sessione non valida, vuoi effettuare il login?",
Session Active,Sessione attiva,
Session Not Active. Save doc to login.,Sessione non attiva. Salva documento per accedere.,
Error! Failed to get request token.,Errore! Impossibile ottenere il token di richiesta.,
Invalid {0} or {1},{0} o {1} non valido,
Error! Failed to get access token.,Errore! Impossibile ottenere il token di accesso.,
Invalid Consumer Key or Consumer Secret Key,Chiave consumatore o chiave segreta consumatore non valida,
Your Session will be expire in ,La tua sessione scadrà tra,
 days.,giorni.,
Session is expired. Save doc to login.,La sessione è scaduta. Salva documento per accedere.,
Error While Uploading Image,Errore durante il caricamento dell&#39;immagine,
You Didn't have permission to access this API,Non disponi dell&#39;autorizzazione per accedere a questa API,
Valid Upto date cannot be before Valid From date,La data di aggiornamento valido non può essere precedente alla data di inizio validità,
Valid From date not in Fiscal Year {0},Valido da data non nell&#39;anno fiscale {0},
Valid Upto date not in Fiscal Year {0},Data di aggiornamento valida non nell&#39;anno fiscale {0},
Group Roll No,Rotolo di gruppo n,
Maintain Same Rate Throughout Sales Cycle,Mantenere lo stesso prezzo per tutto il ciclo di vendita,
"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Riga {1}: la quantità ({0}) non può essere una frazione. Per consentire ciò, disabilita &quot;{2}&quot; in UOM {3}.",
Must be Whole Number,Deve essere un Numero Intero,
Please setup Razorpay Plan ID,Si prega di impostare l&#39;ID del piano Razorpay,
Contact Creation Failed,Creazione contatto non riuscita,
{0} already exists for employee {1} and period {2},{0} esiste già per il dipendente {1} e il periodo {2},
Leaves Allocated,Foglie assegnate,
Leaves Expired,Foglie scadute,
Leave Without Pay does not match with approved {} records,Leave Without Pay non corrisponde ai record {} approvati,
Income Tax Slab not set in Salary Structure Assignment: {0},Lastra imposta sul reddito non impostata nell&#39;assegnazione struttura salariale: {0},
Income Tax Slab: {0} is disabled,Lastra imposta sul reddito: {0} è disattivato,
Income Tax Slab must be effective on or before Payroll Period Start Date: {0},La lastra dell&#39;imposta sul reddito deve essere in vigore alla data di inizio del periodo di gestione stipendi o prima: {0},
No leave record found for employee {0} on {1},Nessun record di ferie trovato per il dipendente {0} su {1},
Row {0}: {1} is required in the expenses table to book an expense claim.,Riga {0}: {1} è obbligatoria nella tabella delle spese per registrare una richiesta di rimborso.,
Set the default account for the {0} {1},Imposta l&#39;account predefinito per {0} {1},
(Half Day),(Mezza giornata),
Income Tax Slab,Lastra di imposta sul reddito,
Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Riga n. {0}: impossibile impostare l&#39;importo o la formula per il componente stipendio {1} con variabile basata sullo stipendio imponibile,
Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Riga n. {}: {} Di {} dovrebbe essere {}. Modifica l&#39;account o seleziona un altro account.,
Row #{}: Please asign task to a member.,Riga # {}: assegna un&#39;attività a un membro.,
Process Failed,Processo non riuscito,
Tally Migration Error,Tally Migration Error,
Please set Warehouse in Woocommerce Settings,Si prega di impostare Magazzino nelle impostazioni di Woocommerce,
Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Riga {0}: il magazzino consegne ({1}) e il magazzino clienti ({2}) non possono essere uguali,
Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Riga {0}: la data di scadenza nella tabella Termini di pagamento non può essere precedente alla data di registrazione,
Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Impossibile trovare {} per l&#39;elemento {}. Si prega di impostare lo stesso in Anagrafica articolo o Impostazioni scorte.,
Row #{0}: The batch {1} has already expired.,Riga # {0}: il batch {1} è già scaduto.,
Start Year and End Year are mandatory,L&#39;anno di inizio e l&#39;anno di fine sono obbligatori,
GL Entry,GL Entry,
Cannot allocate more than {0} against payment term {1},Impossibile allocare più di {0} in base al termine di pagamento {1},
The root account {0} must be a group,L&#39;account root {0} deve essere un gruppo,
Shipping rule not applicable for country {0} in Shipping Address,Regola di spedizione non applicabile per il paese {0} nell&#39;indirizzo di spedizione,
Get Payments from,Ricevi pagamenti da,
Set Shipping Address or Billing Address,Imposta indirizzo di spedizione o indirizzo di fatturazione,
Consultation Setup,Configurazione della consultazione,
Fee Validity,Validità della tariffa,
Laboratory Setup,Configurazione del laboratorio,
Dosage Form,Forma di dosaggio,
Records and History,Record e storia,
Patient Medical Record,Registro medico paziente,
Rehabilitation,Riabilitazione,
Exercise Type,Tipo di esercizio,
Exercise Difficulty Level,Livello di difficoltà dell&#39;esercizio,
Therapy Type,Tipo di terapia,
Therapy Plan,Piano terapeutico,
Therapy Session,Sessione di terapia,
Motor Assessment Scale,Scala di valutazione motoria,
[Important] [ERPNext] Auto Reorder Errors,[Importante] [ERPNext] Errori di riordino automatico,
"Regards,","Saluti,",
The following {0} were created: {1},Sono stati creati i seguenti {0}: {1},
Work Orders,Ordini di lavoro,
The {0} {1} created sucessfully,Il {0} {1} è stato creato correttamente,
Work Order cannot be created for following reason: <br> {0},Impossibile creare l&#39;ordine di lavoro per i seguenti motivi:<br> {0},
Add items in the Item Locations table,Aggiungi articoli nella tabella Posizioni articolo,
Update Current Stock,Aggiorna scorta attuale,
"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Conserva campione è basato sul batch, seleziona Ha numero batch per conservare il campione dell&#39;articolo",
Empty,Vuoto,
Currently no stock available in any warehouse,Attualmente non ci sono stock disponibili in nessun magazzino,
BOM Qty,Qtà BOM,
Time logs are required for {0} {1},I registri orari sono obbligatori per {0} {1},
Total Completed Qty,Qtà totale completata,
Qty to Manufacture,Qtà da Produrre,
Repay From Salary can be selected only for term loans,Il rimborso dallo stipendio può essere selezionato solo per i prestiti a termine,
No valid Loan Security Price found for {0},Nessun prezzo di garanzia del prestito valido trovato per {0},
Loan Account and Payment Account cannot be same,Conto prestito e Conto di pagamento non possono essere gli stessi,
Loan Security Pledge can only be created for secured loans,Loan Security Pledge può essere creato solo per prestiti garantiti,
Social Media Campaigns,Campagne sui social media,
From Date can not be greater than To Date,Dalla data non può essere maggiore di Alla data,
Please set a Customer linked to the Patient,Impostare un cliente collegato al paziente,
Customer Not Found,Cliente non trovato,
Please Configure Clinical Procedure Consumable Item in ,Configurare l&#39;elemento consumabile per procedura clinica in,
Missing Configuration,Configurazione mancante,
Out Patient Consulting Charge Item,Out Charge Item di consulenza per il paziente,
Inpatient Visit Charge Item,Visita in carica del paziente,
OP Consulting Charge,Carica di consulenza OP,
Inpatient Visit Charge,Addebito per visita stazionaria,
Appointment Status,Stato dell&#39;appuntamento,
Test: ,Test:,
Collection Details: ,Dettagli della raccolta:,
{0} out of {1},{0} su {1},
Select Therapy Type,Seleziona il tipo di terapia,
{0} sessions completed,{0} sessioni completate,
{0} session completed,{0} sessione completata,
 out of {0},su {0},
Therapy Sessions,Sessioni di terapia,
Add Exercise Step,Aggiungi fase di esercizio,
Edit Exercise Step,Modifica fase esercizio,
Patient Appointments,Appuntamenti dei pazienti,
Item with Item Code {0} already exists,Articolo con codice articolo {0} già esistente,
Registration Fee cannot be negative or zero,La quota di registrazione non può essere negativa o zero,
Configure a service Item for {0},Configura un articolo di servizio per {0},
Temperature: ,Temperatura:,
Pulse: ,Impulso:,
Respiratory Rate: ,Frequenza respiratoria:,
BP: ,BP:,
BMI: ,BMI:,
Note: ,Nota:,
Check Availability,Verificare la disponibilità,
Please select Patient first,Selezionare prima il paziente,
Please select a Mode of Payment first,Seleziona prima una modalità di pagamento,
Please set the Paid Amount first,Si prega di impostare prima l&#39;importo pagato,
Not Therapies Prescribed,Non sono prescritte terapie,
There are no Therapies prescribed for Patient {0},Non ci sono terapie prescritte per il paziente {0},
Appointment date and Healthcare Practitioner are Mandatory,La data di nomina e l&#39;operatore sanitario sono obbligatori,
No Prescribed Procedures found for the selected Patient,Nessuna procedura prescritta trovata per il paziente selezionato,
Please select a Patient first,Seleziona prima un paziente,
There are no procedure prescribed for ,Non ci sono procedure prescritte per,
Prescribed Therapies,Terapie prescritte,
Appointment overlaps with ,L&#39;appuntamento si sovrappone a,
{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} ha un appuntamento programmato con {1} alle {2} della durata di {3} minuti.,
Appointments Overlapping,Appuntamenti sovrapposti,
Consulting Charges: {0},Spese di consulenza: {0},
Appointment Cancelled. Please review and cancel the invoice {0},Appuntamento annullato. Controlla e annulla la fattura {0},
Appointment Cancelled.,Appuntamento annullato.,
Fee Validity {0} updated.,Validità della commissione {0} aggiornata.,
Practitioner Schedule Not Found,Programma praticante non trovato,
{0} is on a Half day Leave on {1},{0} è in ferie di mezza giornata il {1},
{0} is on Leave on {1},{0} è in ferie {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} non dispone di un programma per operatori sanitari. Aggiungilo in Healthcare Practitioner,
Healthcare Service Units,Unità di servizio sanitario,
Complete and Consume,Completa e consuma,
Complete {0} and Consume Stock?,Completare {0} e consumare scorte?,
Complete {0}?,Completare {0}?,
Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,La quantità di scorta per avviare la procedura non è disponibile nel magazzino {0}. Vuoi registrare una voce di borsa?,
{0} as on {1},{0} come su {1},
Clinical Procedure ({0}):,Procedura clinica ({0}):,
Please set Customer in Patient {0},Imposta Cliente in Paziente {0},
Item {0} is not active,L&#39;articolo {0} non è attivo,
Therapy Plan {0} created successfully.,Piano terapeutico {0} creato correttamente.,
Symptoms: ,Sintomi:,
No Symptoms,Nessun sintomo,
Diagnosis: ,Diagnosi:,
No Diagnosis,Nessuna diagnosi,
Drug(s) Prescribed.,Farmaco (i) prescritto.,
Test(s) Prescribed.,Test prescritti.,
Procedure(s) Prescribed.,Procedure prescritte.,
Counts Completed: {0},Conteggi completati: {0},
Patient Assessment,Valutazione del paziente,
Assessments,Valutazioni,
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Soci (o società) per le quali le scritture contabili sono fatte e i saldi vengono mantenuti.,
Account Name,Nome account,
Inter Company Account,Conto Inter Inter,
Parent Account,Account genitore,
Setting Account Type helps in selecting this Account in transactions.,Impostazione Tipo di account aiuta nella scelta questo account nelle transazioni.,
Chargeable,Addebitabile,
Rate at which this tax is applied,Tasso a cui viene applicata questa tassa,
Frozen,Congelato,
"If the account is frozen, entries are allowed to restricted users.","Se l'account viene bloccato , le voci sono autorizzati a utenti con restrizioni .",
Balance must be,Il saldo deve essere,
Lft,Lft,
Rgt,Rgt,
Old Parent,Vecchio genitore,
Include in gross,Includi in lordo,
Auditor,Ispettore,
Accounting Dimension,Dimensione contabile,
Dimension Name,Nome dimensione,
Dimension Defaults,Valori predefiniti,
Accounting Dimension Detail,Dettaglio dimensione contabile,
Default Dimension,Dimensione predefinita,
Mandatory For Balance Sheet,Obbligatorio per il bilancio,
Mandatory For Profit and Loss Account,Conto profitti e perdite obbligatorio,
Accounting Period,Periodo contabile,
Period Name,Nome del periodo,
Closed Documents,Documenti chiusi,
Accounts Settings,Impostazioni Conti,
Settings for Accounts,Impostazioni per gli account,
Make Accounting Entry For Every Stock Movement,Crea una voce contabile per ogni movimento di scorta,
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,
Applicant Name,Nome del Richiedente,
Appointment Date,Data dell&#39;appuntamento,
Appointment Letter Template,Modello di lettera di appuntamento,
Body,Corpo,
Closing Notes,Note di chiusura,
Appointment Letter content,Contenuto della lettera di appuntamento,
Appraisal,Valutazione,
HR-APR-.YY.-.MM.,HR-APR-.YY.-.MM.,
Appraisal Template,Modello valutazione,
For Employee Name,Per Nome Dipendente,
Goals,Obiettivi,
Total Score (Out of 5),Punteggio totale (i 5),
"Any other remarks, noteworthy effort that should go in the records.","Eventuali altre osservazioni, sforzo degno di nota che dovrebbe andare nelle registrazioni.",
Appraisal Goal,Obiettivo di valutazione,
Key Responsibility Area,Area Responsabilità Chiave,
Weightage (%),Weightage (%),
Score (0-5),Punteggio (0-5),
Score Earned,Punteggio Guadagnato,
Appraisal Template Title,Valutazione Titolo Modello,
Appraisal Template Goal,Obiettivi modello valutazione,
KRA,KRA,
Key Performance Area,Area Chiave Prestazioni,
HR-ATT-.YYYY.-,HR-ATT-.YYYY.-,
On Leave,In ferie,
Work From Home,Lavoro da casa,
Leave Application,Autorizzazione Permessi,
Attendance Date,Data presenza,
Attendance Request,Richiesta di partecipazione,
Late Entry,Ingresso ritardato,
Early Exit,Uscita anticipata,
Half Day Date,Data di mezza giornata,
On Duty,In servizio,
Explanation,Spiegazione,
Compensatory Leave Request,Richiesta di congedo compensativo,
Leave Allocation,Alloca Permessi,
Worked On Holiday,Lavorato in vacanza,
Work From Date,Lavoro dalla data,
Work End Date,Data di fine lavoro,
Email Sent To,Email inviata a,
Select Users,Seleziona utenti,
Send Emails At,Invia e-mail in,
Reminder,Promemoria,
Daily Work Summary Group User,Utente del gruppo di riepilogo del lavoro giornaliero,
email,e-mail,
Parent Department,Dipartimento padre,
Leave Block List,Lascia il blocco lista,
Days for which Holidays are blocked for this department.,Giorni per i quali le festività sono bloccate per questo reparto.,
Leave Approver,Responsabile Ferie,
Expense Approver,Responsabile Spese,
Department Approver,Approvazione del dipartimento,
Approver,Responsabile / Approvatore,
Required Skills,Competenze richieste,
Skills,Abilità,
Designation Skill,Abilità di designazione,
Skill,Abilità,
Driver,autista,
HR-DRI-.YYYY.-,HR-DRI-.YYYY.-,
Suspended,Sospeso,
Transporter,Trasportatore,
Applicable for external driver,Applicabile per driver esterno,
Cellphone Number,Numero di cellulare,
License Details,Dettagli della licenza,
License Number,Numero di licenza,
Issuing Date,Data di rilascio,
Driving License Categories,Categorie di patenti di guida,
Driving License Category,Categoria di patente di guida,
Fleet Manager,Responsabile flotta aziendale,
Driver licence class,Classe di patente di guida,
HR-EMP-,HR-EMP-,
Employment Type,Tipo Dipendente,
Emergency Contact,Contatto di emergenza,
Emergency Contact Name,Nominativo per Contatto di Emergenza,
Emergency Phone,Telefono di emergenza,
ERPNext User,ERPNext Utente,
"System User (login) ID. If set, it will become default for all HR forms.","Utente di sistema (login) ID. Se impostato, esso diventerà di default per tutti i moduli HR.",
Create User Permission,Crea autorizzazione utente,
This will restrict user access to other employee records,Ciò limiterà l&#39;accesso degli utenti ad altri record dei dipendenti,
Joining Details,Unire i dettagli,
Offer Date,Data dell'offerta,
Confirmation Date,Data di conferma,
Contract End Date,Data fine Contratto,
Notice (days),Avviso ( giorni ),
Date Of Retirement,Data di pensionamento,
Department and Grade,Dipartimento e grado,
Reports to,Report a,
Attendance and Leave Details,Presenze e dettagli sui dettagli,
Leave Policy,Lascia politica,
Attendance Device ID (Biometric/RF tag ID),ID dispositivo presenze (ID tag biometrico / RF),
Applicable Holiday List,Lista Vacanze Applicabile,
Default Shift,Spostamento predefinito,
Salary Details,Dettagli del salario,
Salary Mode,Modalità di stipendio,
Bank A/C No.,Conto Bancario N.,
Health Insurance,Assicurazione sanitaria,
Health Insurance Provider,Fornitore dell'assicurazione sanitaria,
Health Insurance No,Assicurazione sanitaria n,
Prefered Email,Email Preferenziale,
Personal Email,Email personale,
Permanent Address Is,Indirizzo permanente è,
Rented,Affittato,
Owned,Di proprietà,
Permanent Address,Indirizzo permanente,
Prefered Contact Email,Contatto email preferenziale,
Company Email,Email aziendale,
Provide Email Address registered in company,Fornire l&#39;indirizzo e-mail registrato in compagnia,
Current Address Is,Indirizzo attuale è,
Current Address,Indirizzo Corrente,
Personal Bio,Bio personale,
Bio / Cover Letter,Biografia / Lettera di copertura,
Short biography for website and other publications.,Breve biografia per il sito web e altre pubblicazioni.,
Passport Number,Numero di passaporto,
Date of Issue,Data di Pubblicazione,
Place of Issue,Luogo di emissione,
Widowed,Vedovo,
Family Background,Sfondo Famiglia,
"Here you can maintain family details like name and occupation of parent, spouse and children","Qui è possibile mantenere i dettagli della famiglia come il nome e l'occupazione del genitore, coniuge e figli",
Health Details,Dettagli Salute,
"Here you can maintain height, weight, allergies, medical concerns etc","Qui è possibile mantenere l'altezza, il peso, le allergie, le preoccupazioni mediche ecc",
Educational Qualification,Titolo di Studio,
Previous Work Experience,Precedente Esperienza Lavoro,
External Work History,Storia del lavoro esterno,
History In Company,Storia aziendale,
Internal Work History,Storia di lavoro interni,
Resignation Letter Date,Lettera di dimissioni Data,
Relieving Date,Alleviare Data,
Reason for Leaving,Motivo per Lasciare,
Leave Encashed?,Lascia non incassati?,
Encashment Date,Data Incasso,
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,
Member,Membro,
Partially Disbursed,parzialmente erogato,
Loan Closure Requested,Chiusura del prestito richiesta,
Repay From Salary,Rimborsare da Retribuzione,
Loan Details,prestito Dettagli,
Loan Type,Tipo di prestito,
Loan Amount,Ammontare del prestito,
Is Secured Loan,È un prestito garantito,
Rate of Interest (%) / Year,Tasso di interesse (%) / anno,
Disbursement Date,L&#39;erogazione Data,
Disbursed Amount,Importo erogato,
Is Term Loan,È prestito a termine,
Repayment Method,Metodo di rimborso,
Repay Fixed Amount per Period,Rimborsare importo fisso per Periodo,
Repay Over Number of Periods,Rimborsare corso Numero di periodi,
Repayment Period in Months,Il rimborso Periodo in mese,
Monthly Repayment Amount,Ammontare Rimborso Mensile,
Repayment Start Date,Data di inizio del rimborso,
Loan Security Details,Dettagli sulla sicurezza del prestito,
Maximum Loan Value,Valore massimo del prestito,
Account Info,Informazioni sull&#39;account,
Loan Account,Conto del prestito,
Interest Income Account,Conto Interessi attivi,
Penalty Income Account,Conto del reddito di sanzione,
Repayment Schedule,Piano di rimborso,
Total Payable Amount,Totale passività,
Total Principal Paid,Totale principale pagato,
Total Interest Payable,Totale interessi passivi,
Total Amount Paid,Importo totale pagato,
Loan Manager,Responsabile del prestito,
Loan Info,Info prestito,
Rate of Interest,Tasso di interesse,
Proposed Pledges,Impegni proposti,
Maximum Loan Amount,Importo massimo del prestito,
Repayment Info,Info rimborso,
Total Payable Interest,Totale interessi passivi,
Against Loan ,Contro prestito,
Loan Interest Accrual,Rateo interessi attivi,
Amounts,importi,
Pending Principal Amount,Importo principale in sospeso,
Payable Principal Amount,Importo principale pagabile,
Paid Principal Amount,Importo principale pagato,
Paid Interest Amount,Importo degli interessi pagati,
Process Loan Interest Accrual,Accantonamento per interessi su prestiti di processo,
Repayment Schedule Name,Nome programma di rimborso,
Regular Payment,Pagamento regolare,
Loan Closure,Chiusura del prestito,
Payment Details,Dettagli del pagamento,
Interest Payable,Interessi da pagare,
Amount Paid,Importo pagato,
Principal Amount Paid,Importo principale pagato,
Repayment Details,Dettagli sul rimborso,
Loan Repayment Detail,Dettaglio rimborso prestito,
Loan Security Name,Nome di sicurezza del prestito,
Unit Of Measure,Unità di misura,
Loan Security Code,Codice di sicurezza del prestito,
Loan Security Type,Tipo di sicurezza del prestito,
Haircut %,Taglio di capelli %,
Loan  Details,Dettagli del prestito,
Unpledged,Unpledged,
Pledged,impegnati,
Partially Pledged,Parzialmente promesso,
Securities,valori,
Total Security Value,Valore di sicurezza totale,
Loan Security Shortfall,Mancanza di sicurezza del prestito,
Loan ,Prestito,
Shortfall Time,Scadenza,
America/New_York,America / New_York,
Shortfall Amount,Importo del deficit,
Security Value ,Valore di sicurezza,
Process Loan Security Shortfall,Mancanza di sicurezza del prestito di processo,
Loan To Value Ratio,Rapporto prestito / valore,
Unpledge Time,Unpledge Time,
Loan Name,Nome prestito,
Rate of Interest (%) Yearly,Tasso di interesse (%) Performance,
Penalty Interest Rate (%) Per Day,Tasso di interesse di penalità (%) al giorno,
Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,Il tasso di interesse di penalità viene riscosso su un importo di interessi in sospeso su base giornaliera in caso di rimborso ritardato,
Grace Period in Days,Grace Period in Days,
No. of days from due date until which penalty won't be charged in case of delay in loan repayment,N. giorni dalla scadenza fino ai quali non verrà addebitata la penale in caso di ritardo nel rimborso del prestito,
Pledge,Impegno,
Post Haircut Amount,Importo post taglio,
Process Type,Tipo di processo,
Update Time,Tempo di aggiornamento,
Proposed Pledge,Pegno proposto,
Total Payment,Pagamento totale,
Balance Loan Amount,Importo del prestito di bilancio,
Is Accrued,È maturato,
Salary Slip Loan,Salario Slip Loan,
Loan Repayment Entry,Iscrizione rimborso prestiti,
Sanctioned Loan Amount,Importo del prestito sanzionato,
Sanctioned Amount Limit,Limite di importo sanzionato,
Unpledge,Unpledge,
Haircut,Taglio di capelli,
MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
Generate Schedule,Genera Programma,
Schedules,Orari,
Maintenance Schedule Detail,Dettaglio programma di manutenzione,
Scheduled Date,Data prevista,
Actual Date,Data effettiva,
Maintenance Schedule Item,Voce del Programma di manutenzione,
Random,Casuale,
No of Visits,Num. di Visite,
MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
Maintenance Date,Data di manutenzione,
Maintenance Time,Tempo di Manutenzione,
Completion Status,Stato Completamento,
Partially Completed,Parzialmente completato,
Fully Completed,Debitamente compilato,
Unscheduled,Non in programma,
Breakdown,Esaurimento,
Purposes,Scopi,
Customer Feedback,Opinione Cliente,
Maintenance Visit Purpose,Scopo visita manutenzione,
Work Done,Attività svolta,
Against Document No,Per Documento N,
Against Document Detail No,Per Dettagli Documento N,
MFG-BLR-.YYYY.-,MFG-BLR-.YYYY.-,
Order Type,Tipo di ordine,
Blanket Order Item,Articolo ordine coperta,
Ordered Quantity,Quantità Ordinata,
Item to be manufactured or repacked,Voce da fabbricati o nuovamente imballati,
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Quantità di prodotto ottenuto dopo la produzione / reimballaggio da determinati quantitativi di materie prime,
Set rate of sub-assembly item based on BOM,Imposta tasso di elemento di sotto-montaggio basato su BOM,
Allow Alternative Item,Consenti articolo alternativo,
Item UOM,Articolo UOM,
Conversion Rate,Tasso di conversione,
Rate Of Materials Based On,Tasso di materiali a base di,
With Operations,Con operazioni,
Manage cost of operations,Gestire costi operazioni,
Transfer Material Against,Trasferisci materiale contro,
Routing,Routing,
Materials,Materiali,
Quality Inspection Required,Ispezione di qualità richiesta,
Quality Inspection Template,Modello di ispezione di qualità,
Scrap,rottame,
Scrap Items,Scrap Articoli,
Operating Cost,Costo di gestione,
Raw Material Cost,Costo Materie Prime,
Scrap Material Cost,Costo rottami Materiale,
Operating Cost (Company Currency),Costi di funzionamento (Società di valuta),
Raw Material Cost (Company Currency),Costo delle materie prime (valuta dell&#39;azienda),
Scrap Material Cost(Company Currency),Scrap Materiale Costo (Società di valuta),
Total Cost,Costo totale,
Total Cost (Company Currency),Costo totale (valuta dell&#39;azienda),
Materials Required (Exploded),Materiali necessari (dettagli),
Exploded Items,Articoli esplosi,
Show in Website,Mostra nel sito web,
Item Image (if not slideshow),Immagine Articolo (se non slideshow),
Thumbnail,Thumbnail,
Website Specifications,Website Specifiche,
Show Items,Mostra elementi,
Show Operations,Mostra Operations,
Website Description,Descrizione del sito,
BOM Explosion Item,BOM Articolo Esploso,
Qty Consumed Per Unit,Quantità consumata per unità,
Include Item In Manufacturing,Includi articolo nella produzione,
BOM Item,BOM Articolo,
Item operation,Operazione articolo,
Rate & Amount,Tariffa e importo,
Basic Rate (Company Currency),Tasso Base (Valuta Azienda),
Scrap %,Scrap%,
Original Item,Articolo originale,
BOM Operation,Operazione BOM,
Operation Time ,Tempo di operazione,
In minutes,In pochi minuti,
Batch Size,Dimensione del lotto,
Base Hour Rate(Company Currency),Base Hour Rate (Società di valuta),
Operating Cost(Company Currency),Costi di funzionamento (Società di valuta),
BOM Scrap Item,Articolo Scarto per Distinta Base,
Basic Amount (Company Currency),Importo di base (Società di valuta),
BOM Update Tool,Strumento di aggiornamento Distinta Base,
"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM.\nIt also updates latest price in all the BOMs.","Sostituire una particolare BOM in tutte le altre BOM in cui è utilizzata. Sostituirà il vecchio collegamento BOM, aggiorna i costi e rigenererà la tabella &quot;BOM Explosion Item&quot; come per la nuova BOM. Inoltre aggiorna l&#39;ultimo prezzo in tutte le BOM.",
Replace BOM,Sostituire il BOM,
Current BOM,Distinta Base attuale,
The BOM which will be replaced,La Distinta Base che sarà sostituita,
The new BOM after replacement,La nuova Distinta Base dopo la sostituzione,
Replace,Sostituire,
Update latest price in all BOMs,Aggiorna l&#39;ultimo prezzo in tutte le BOM,
BOM Website Item,Distinta Base dell'Articolo sul Sito Web,
BOM Website Operation,BOM Pagina web,
Operation Time,Tempo di funzionamento,
PO-JOB.#####,PO-JOB. #####,
Timing Detail,Dettaglio dei tempi,
Time Logs,Logs tempo,
Total Time in Mins,Tempo totale in minuti,
Operation ID,ID operazione,
Transferred Qty,Quantità trasferito,
Job Started,Lavoro avviato,
Started Time,Ora di inizio,
Current Time,Ora attuale,
Job Card Item,Job Card Item,
Job Card Time Log,Registro tempo scheda lavoro,
Time In Mins,Tempo in minuti,
Completed Qty,Q.tà Completata,
Manufacturing Settings,Impostazioni di Produzione,
Raw Materials Consumption,Consumo di materie prime,
Allow Multiple Material Consumption,Consenti il consumo di più materiali,
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),Tempo effettivo (in ore),
Costing and Billing,Costi e Fatturazione,
Total Costing Amount (via Timesheets),Total Costing Amount (via Timesheets),
Total Expense Claim (via Expense Claims),Total Expense Claim (via rimborsi spese),
Total Purchase Cost (via Purchase Invoice),Costo totale di acquisto (tramite acquisto fattura),
Total Sales Amount (via Sales Order),Importo totale vendite (tramite ordine cliente),
Total Billable Amount (via Timesheets),Importo totale fatturabile (tramite Timesheets),
Total Billed Amount (via Sales Invoices),Importo fatturato totale (tramite fatture di vendita),
Total Consumed Material Cost  (via Stock Entry),Costo totale del materiale consumato (tramite stock),
Gross Margin,Margine lordo,
Gross Margin %,Margine lordo %,
Monitor Progress,Monitorare i progressi,
Collect Progress,Raccogli progressi,
Frequency To Collect Progress,Frequenza per raccogliere i progressi,
Twice Daily,Due volte al giorno,
First Email,Prima email,
Second Email,Seconda email,
Time to send,Tempo di inviare,
Day to Send,Giorno per inviare,
Message will be sent to the users to get their status on the Project,Verrà inviato un messaggio agli utenti per ottenere il loro stato sul progetto,
Projects Manager,Responsabile Progetti,
Project Template,Modello di progetto,
Project Template Task,Task modello di progetto,
Begin On (Days),Inizia il (giorni),
Duration (Days),Durata (giorni),
Project Update,Aggiornamento del progetto,
Project User,Utente Progetti,
View attachments,Visualizza allegati,
Projects Settings,Impostazioni dei progetti,
Ignore Workstation Time Overlap,Ignora sovrapposizione tempo workstation,
Ignore User Time Overlap,Ignora la sovrapposizione temporale dell&#39;utente,
Ignore Employee Time Overlap,Ignora sovrapposizione tempo dipendente,
Weight,Peso,
Parent Task,Attività padre,
Timeline,Sequenza temporale,
Expected Time (in hours),Tempo previsto (in ore),
% Progress,% Avanzamento,
Is Milestone,È Milestone,
Task Description,Descrizione del compito,
Dependencies,dipendenze,
Dependent Tasks,Attività dipendenti,
Depends on Tasks,Dipende Compiti,
Actual Start Date (via Time Sheet),Data di inizio effettiva (da Time Sheet),
Actual Time (in hours),Tempo reale (in ore),
Actual End Date (via Time Sheet),Data di fine effettiva (da Time Sheet),
Total Costing Amount (via Time Sheet),Totale Costing Importo (tramite Time Sheet),
Total Expense Claim (via Expense Claim),Rimborso spese totale (via Expense Claim),
Total Billing Amount (via Time Sheet),Importo totale di fatturazione (tramite Time Sheet),
Review Date,Data di revisione,
Closing Date,Data Chiusura,
Task Depends On,L'attività dipende da,
Task Type,Tipo di attività,
TS-.YYYY.-,TS-.YYYY.-,
Employee Detail,Dettaglio dei dipendenti,
Billing Details,Dettagli di fatturazione,
Total Billable Hours,Totale Ore Fatturabili,
Total Billed Hours,Totale Ore Fatturate,
Total Costing Amount,Importo totale Costing,
Total Billable Amount,Importo Totale Fatturabile,
Total Billed Amount,Totale Importo Fatturato,
% Amount Billed,% Importo Fatturato,
Hrs,Ore,
Costing Amount,Costing Importo,
Corrective/Preventive,Correttive / preventive,
Corrective,correttivo,
Preventive,preventivo,
Resolution,Risoluzione,
Resolutions,risoluzioni,
Quality Action Resolution,Risoluzione dell&#39;azione di qualità,
Quality Feedback Parameter,Parametro di feedback di qualità,
Quality Feedback Template Parameter,Parametro del modello di feedback sulla qualità,
Quality Goal,Obiettivo di qualità,
Monitoring Frequency,Frequenza di monitoraggio,
Weekday,giorno feriale,
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,
Current Value,Valore Corrente,
This is the number of the last created transaction with this prefix,Questo è il numero dell&#39;ultimo transazione creata con questo prefisso,
Update Series Number,Aggiorna Numero della Serie,
Quotation Lost Reason,Motivo per la mancata vendita,
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Un distributore / agenzia / affiliato / rivenditore che vende i prodotti delle aziende per una commissione.,
Sales Partner Name,Nome partner vendite,
Partner Type,Tipo di partner,
Address & Contacts,Indirizzi & Contatti,
Address Desc,Desc. indirizzo,
Contact Desc,Desc Contatto,
Sales Partner Target,Vendite Partner di destinazione,
Targets,Obiettivi,
Show In Website,Mostra Nel Sito Web,
Referral Code,Codice di riferimento,
To Track inbound purchase,Per tenere traccia dell&#39;acquisto in entrata,
Logo,Logo,
Partner website,sito web partner,
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Tutte le transazioni di vendita possono essere etichettati contro più persone ** ** di vendita in modo da poter impostare e monitorare gli obiettivi.,
Name and Employee ID,Nome e ID Dipendente,
Sales Person Name,Vendite Nome persona,
Parent Sales Person,Agente di vendita padre,
Select company name first.,Selezionare il nome della società prima.,
Sales Person Targets,Sales Person Obiettivi,
Set targets Item Group-wise for this Sales Person.,Fissare obiettivi Item Group-saggio per questo venditore.,
Supplier Group Name,Nome del gruppo di fornitori,
Parent Supplier Group,Gruppo di fornitori principali,
Target Detail,Dettaglio dell'obbiettivo,
Target Qty,Obiettivo Qtà,
Target  Amount,L&#39;importo previsto,
Target Distribution,Distribuzione di destinazione,
"Standard Terms and Conditions that can be added to Sales and Purchases.\n\nExamples:\n\n1. Validity of the offer.\n1. Payment Terms (In Advance, On Credit, part advance etc).\n1. What is extra (or payable by the Customer).\n1. Safety / usage warning.\n1. Warranty if any.\n1. Returns Policy.\n1. Terms of shipping, if applicable.\n1. Ways of addressing disputes, indemnity, liability, etc.\n1. Address and Contact of your Company.","Condizioni generali e condizioni che possono essere aggiunti alle Vendite e Acquisti.\n\n Esempi: \n\n 1. Validità dell'offerta.\n 1. Termini di pagamento (in anticipo, a credito, parte prima, ecc).\n 1. Che cosa è extra (o da pagare da parte del cliente).\n 1. Warning Sicurezza / utilizzo.\n 1. Garanzia se presente.\n 1. Recesso.\n 1. Condizioni di trasporto, se applicabile.\n 1. Modi di controversie indirizzamento, indennità, responsabilità, ecc \n 1. Indirizzo e contatti della vostra azienda.",
Applicable Modules,Moduli applicabili,
Terms and Conditions Help,Termini e condizioni Aiuto,
Classification of Customers by region,Classificazione dei Clienti per regione,
Territory Name,Territorio Nome,
Parent Territory,Territorio padre,
Territory Manager,Territory Manager,
For reference,Per riferimento,
Territory Targets,Obiettivi Territorio,
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Impostare la voce del budget di Gruppo-saggi su questo territorio. È inoltre possibile includere la stagionalità impostando la distribuzione.,
UOM Name,Nome Unità di Misura,
Check this to disallow fractions. (for Nos),Seleziona per disabilitare frazioni. (per NOS),
Website Item Group,Sito Gruppo Articolo,
Cross Listing of Item in multiple groups,Croce Listing dell'oggetto in più gruppi,
Default settings for Shopping Cart,Impostazioni predefinite per Carrello,
Enable Shopping Cart,Abilita Carrello,
Display Settings,Impostazioni Visualizzazione,
Show Public Attachments,Mostra gli allegati pubblici,
Show Price,Mostra prezzo,
Show Stock Availability,Mostra disponibilità di magazzino,
Show Contact Us Button,Mostra il pulsante Contattaci,
Show Stock Quantity,Mostra quantità di magazzino,
Show Apply Coupon Code,Mostra Applica codice coupon,
Allow items not in stock to be added to cart,Consenti agli articoli non disponibili di essere aggiunti al carrello,
Prices will not be shown if Price List is not set,I prezzi non verranno visualizzati se listino non è impostata,
Quotation Series,Serie Preventivi,
Checkout Settings,Impostazioni Acquista,
Enable Checkout,Abilita Checkout,
Payment Success Url,Pagamento Successo URL,
After payment completion redirect user to selected page.,Dopo il completamento del pagamento reindirizza l'utente alla pagina selezionata.,
Batch Details,Dettagli batch,
Batch ID,Lotto ID,
image,Immagine,
Parent Batch,Lotto padre,
Manufacturing Date,Data di produzione,
Batch Quantity,Quantità in lotti,
Batch UOM,Batch UOM,
Source Document Type,Tipo di documento di origine,
Source Document Name,Nome del documento di origine,
Batch Description,Descrizione Batch,
Bin,Bin,
Reserved Quantity,Riservato Quantità,
Actual Quantity,Quantità reale,
Requested Quantity,la quantita &#39;richiesta,
Reserved Qty for sub contract,Qtà riservata per il subappalto,
Moving Average Rate,Tasso Media Mobile,
FCFS Rate,FCFS Rate,
Customs Tariff Number,Numero della tariffa doganale,
Tariff Number,Numero tariffario,
Delivery To,Consegna a,
MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
Is Return,È Return,
Issue Credit Note,Nota di credito d&#39;emissione,
Return Against Delivery Note,Di ritorno contro Consegna Nota,
Customer's Purchase Order No,Ordine Acquisto Cliente N.,
Billing Address Name,Destinatario,
Required only for sample item.,Richiesto solo per la voce di esempio.,
"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Se è stato creato un modello standard di imposte delle entrate e oneri modello, selezionare uno e fare clic sul pulsante qui sotto.",
In Words will be visible once you save the Delivery Note.,In parole saranno visibili una volta che si salva il DDT.,
In Words (Export) will be visible once you save the Delivery Note.,In Parole (Export) sarà visibile una volta che si salva il DDT.,
Transporter Info,Info Transporter,
Driver Name,Nome del driver,
Track this Delivery Note against any Project,Sottoscrivi questa bolla di consegna contro ogni progetto,
Inter Company Reference,Riferimento interaziendale,
Print Without Amount,Stampare senza Importo,
% Installed,% Installato,
% of materials delivered against this Delivery Note,% dei materiali consegnati di questa Bolla di Consegna,
Installation Status,Stato di installazione,
Excise Page Number,Accise Numero Pagina,
Instructions,Istruzione,
From Warehouse,Dal Deposito,
Against Sales Order,Contro Ordine di Vendita,
Against Sales Order Item,Dall'Articolo dell'Ordine di Vendita,
Against Sales Invoice,Per Fattura Vendita,
Against Sales Invoice Item,a fronte dell'Articolo della Fattura di Vendita,
Available Batch Qty at From Warehouse,Disponibile Quantità batch a partire Warehouse,
Available Qty at From Warehouse,Disponibile Quantità a partire Warehouse,
Delivery Settings,Impostazioni di consegna,
Dispatch Settings,Impostazioni di spedizione,
Dispatch Notification Template,Modello di notifica spedizione,
Dispatch Notification Attachment,Allegato notifica di spedizione,
Leave blank to use the standard Delivery Note format,Lascia vuoto per utilizzare il formato di nota di consegna standard,
Send with Attachment,Invia con allegato,
Delay between Delivery Stops,Ritardo tra le fermate di consegna,
Delivery Stop,Fermata di consegna,
Lock,Serratura,
Visited,visitato,
Order Information,Informazioni sull&#39;ordine,
Contact Information,Informazioni sui contatti,
Email sent to,Email inviata a,
Dispatch Information,Informazioni sulla spedizione,
Estimated Arrival,Arrivo Stimato,
MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
Initial Email Notification Sent,Notifica email iniziale inviata,
Delivery Details,Dettagli Consegna,
Driver Email,Email del driver,
Driver Address,Indirizzo del conducente,
Total Estimated Distance,Distanza totale stimata,
Distance UOM,UOM di distanza,
Departure Time,Orario di partenza,
Delivery Stops,Fermate di consegna,
Calculate Estimated Arrival Times,Calcola i tempi di arrivo stimati,
Use Google Maps Direction API to calculate estimated arrival times,Utilizza l&#39;API di direzione di Google Maps per calcolare i tempi di arrivo stimati,
Optimize Route,Ottimizza percorso,
Use Google Maps Direction API to optimize route,Utilizza l&#39;API di direzione di Google Maps per ottimizzare il percorso,
In Transit,In transito,
Fulfillment User,Utente di adempimento,
"A Product or a Service that is bought, sold or kept in stock.","Un prodotto o un servizio che viene acquistato, venduto o conservato in magazzino.",
STO-ITEM-.YYYY.-,STO-item-.YYYY.-,
Variant Of,Variante di,
"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Se l'articolo è una variante di un altro elemento poi descrizione, immagini, prezzi, tasse ecc verrà impostata dal modello se non espressamente specificato",
Is Item from Hub,È elemento da Hub,
Default Unit of Measure,Unità di Misura Predefinita,
Maintain Stock,Movimenta l'articolo in magazzino,
Standard Selling Rate,Prezzo di Vendita Standard,
Auto Create Assets on Purchase,Creazione automatica di risorse all&#39;acquisto,
Asset Naming Series,Asset Naming Series,
Over Delivery/Receipt Allowance (%),Sovraccarico / Ricevuta ricevuta (%),
Barcodes,Codici a barre,
Shelf Life In Days,Shelf Life In Days,
End of Life,Fine Vita,
Default Material Request Type,Tipo di richiesta Materiale Predefinito,
Valuation Method,Metodo di Valorizzazione,
FIFO,FIFO,
Moving Average,Media Mobile,
Warranty Period (in days),Periodo di garanzia (in giorni),
Auto re-order,Auto riordino,
Reorder level based on Warehouse,Livello di riordino sulla base di Magazzino,
Will also apply for variants unless overrridden,Si applica anche per le varianti meno overrridden,
Units of Measure,Unità di misura,
Will also apply for variants,Si applica anche per le varianti,
Serial Nos and Batches,Numero e lotti seriali,
Has Batch No,Ha lotto n.,
Automatically Create New Batch,Crea automaticamente un nuovo batch,
Batch Number Series,Numeri in serie Lotto,
"Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings.","Esempio: ABCD. #####. Se la serie è impostata e il numero di lotto non è menzionato nelle transazioni, verrà creato il numero di lotto automatico in base a questa serie. Se vuoi sempre menzionare esplicitamente il numero di lotto per questo articolo, lascia vuoto. Nota: questa impostazione avrà la priorità sul Prefisso serie di denominazione nelle Impostazioni stock.",
Has Expiry Date,Ha la data di scadenza,
Retain Sample,Conservare il campione,
Max Sample Quantity,Quantità di campione massima,
Maximum sample quantity that can be retained,Quantità massima di campione che può essere conservata,
Has Serial No,Ha numero di serie,
Serial Number Series,Serial Number Series,
"Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Esempio:. ABCD. ##### Se è impostato 'serie' ma il Numero di Serie non è specificato nelle transazioni, verrà creato il numero di serie automatico in base a questa serie. Se si vuole sempre specificare il Numero di Serie per questo articolo. Lasciare vuoto.",
Variants,Varianti,
Has Variants,Ha varianti,
"If this item has variants, then it cannot be selected in sales orders etc.","Se questa voce ha varianti, allora non può essere selezionata in ordini di vendita, ecc",
Variant Based On,Variante calcolate in base a,
Item Attribute,Attributo Articolo,
"Sales, Purchase, Accounting Defaults","Vendite, acquisto, valori predefiniti di contabilità",
Item Defaults,Impostazioni predefinite dell&#39;oggetto,
"Purchase, Replenishment Details","Dettagli acquisto, rifornimento",
Is Purchase Item,È Acquisto Voce,
Default Purchase Unit of Measure,Unità di acquisto predefinita di misura,
Minimum Order Qty,Qtà ordine minimo,
Minimum quantity should be as per Stock UOM,La quantità minima deve essere come da Stock UOM,
Average time taken by the supplier to deliver,Tempo medio impiegato dal fornitore di consegnare,
Is Customer Provided Item,È l&#39;articolo fornito dal cliente,
Delivered by Supplier (Drop Ship),Consegnato dal Fornitore (Drop Ship),
Supplier Items,Articoli Fornitore,
Foreign Trade Details,Commercio Estero Dettagli,
Country of Origin,Paese d&#39;origine,
Sales Details,Dettagli di vendita,
Default Sales Unit of Measure,Unità di vendita predefinita di misura,
Is Sales Item,È Voce vendite,
Max Discount (%),Sconto Max (%),
No of Months,No di mesi,
Customer Items,Articoli clienti,
Inspection Criteria,Criteri di ispezione,
Inspection Required before Purchase,Ispezione Richiesto prima di Acquisto,
Inspection Required before Delivery,Ispezione richiesta prima della consegna,
Default BOM,Distinta Base Predefinita,
Supply Raw Materials for Purchase,Fornire Materie Prime per l'Acquisto,
If subcontracted to a vendor,Se subappaltato a un fornitore,
Customer Code,Codice Cliente,
Default Item Manufacturer,Produttore articolo predefinito,
Default Manufacturer Part No,Codice produttore predefinito,
Show in Website (Variant),Show di Sito web (Variant),
Items with higher weightage will be shown higher,Gli articoli con maggiore weightage nel periodo più alto,
Show a slideshow at the top of the page,Visualizzare una presentazione in cima alla pagina,
Website Image,Immagine del sito Web,
Website Warehouse,Magazzino sito web,
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.",Mostra &quot;Disponibile&quot; o &quot;Non disponibile&quot; sulla base di scorte disponibili in questo magazzino.,
Website Item Groups,Sito gruppi di articoli,
List this Item in multiple groups on the website.,Elenco questo articolo a più gruppi sul sito.,
Copy From Item Group,Copia da Gruppo Articoli,
Website Content,Contenuto del sito Web,
You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,È possibile utilizzare qualsiasi markup Bootstrap 4 valido in questo campo. Verrà mostrato nella tua Pagina degli articoli.,
Total Projected Qty,Totale intermedio Quantità proiettata,
Hub Publishing Details,Dettagli di pubblicazione Hub,
Publish in Hub,Pubblicare in Hub,
Publish Item to hub.erpnext.com,Pubblicare Item a hub.erpnext.com,
Hub Category to Publish,Categoria Hub per pubblicare,
Hub Warehouse,Magazzino Centrale,
"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Pubblica &quot;in magazzino&quot; o &quot;non in magazzino&quot; su Hub sulla base di magazzino disponibile in questo magazzino.,
Synced With Hub,Sincronizzati con Hub,
Item Alternative,Opzione alternativa,
Alternative Item Code,Codice articolo alternativo,
Two-way,A doppio senso,
Alternative Item Name,Nome oggetto alternativo,
Attribute Name,Nome Attributo,
Numeric Values,Valori numerici,
From Range,Da Gamma,
Increment,Incremento,
To Range,Per Intervallo,
Item Attribute Values,Valori Attributi Articolo,
Item Attribute Value,Valore Attributo Articolo,
Attribute Value,Valore Attributo,
Abbreviation,Abbreviazione,
"This will be appended to the Item Code of the variant. For example, if your abbreviation is ""SM"", and the item code is ""T-SHIRT"", the item code of the variant will be ""T-SHIRT-SM""","Questo sarà aggiunto al codice articolo della variante. Ad esempio, se la sigla è ""SM"", e il codice articolo è ""T-SHIRT"", il codice articolo della variante sarà ""T-SHIRT-SM""",
Item Barcode,Barcode articolo,
Barcode Type,Tipo di codice a barre,
EAN,EAN,
UPC-A,UPC-A,
Item Customer Detail,Dettaglio articolo cliente,
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Per la comodità dei clienti, questi codici possono essere utilizzati in formati di stampa, come fatture e Documenti di Trasporto",
Ref Code,Codice Rif,
Item Default,Articolo predefinito,
Purchase Defaults,Acquista valori predefiniti,
Default Buying Cost Center,Centro di costo predefinito,
Default Supplier,Fornitore Predefinito,
Default Expense Account,Conto spese predefinito,
Sales Defaults,Impostazioni di vendita,
Default Selling Cost Center,Centro di costo di vendita di default,
Item Manufacturer,Articolo Manufacturer,
Item Price,Prezzo Articoli,
Packing Unit,Unità di imballaggio,
Quantity  that must be bought or sold per UOM,Quantità che deve essere acquistata o venduta per UOM,
Item Quality Inspection Parameter,Voce di controllo di qualità dei parametri,
Acceptance Criteria,Criterio  di accettazione,
Item Reorder,Articolo riordino,
Check in (group),Il check-in (gruppo),
Request for,Richiesta di,
Re-order Level,Livello Ri-ordino,
Re-order Qty,Quantità Ri-ordino,
Item Supplier,Articolo Fornitore,
Item Variant,Elemento Variant,
Item Variant Attribute,Prodotto Modello attributo,
Do not update variants on save,Non aggiornare le varianti al salvataggio,
Fields will be copied over only at time of creation.,I campi verranno copiati solo al momento della creazione.,
Allow Rename Attribute Value,Consenti Rinomina valore attributo,
Rename Attribute Value in Item Attribute.,Rinominare il valore dell&#39;attributo nell&#39;attributo dell&#39;oggetto.,
Copy Fields to Variant,Copia campi in variante,
Item Website Specification,Specifica da Sito Web dell'articolo,
Table for Item that will be shown in Web Site,Tavolo per l'elemento che verrà mostrato sul sito web,
Landed Cost Item,Landed Cost articolo,
Receipt Document Type,Ricevuta tipo di documento,
Receipt Document,Documento di Ricevuta,
Applicable Charges,Spese applicabili,
Purchase Receipt Item,Ricevuta di Acquisto Articolo,
Landed Cost Purchase Receipt,Landed Cost ricevuta di acquisto,
Landed Cost Taxes and Charges,Tasse Landed Cost e oneri,
Landed Cost Voucher,Landed Voucher Cost,
MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
Purchase Receipts,Ricevute di acquisto,
Purchase Receipt Items,Acquistare oggetti Receipt,
Get Items From Purchase Receipts,Ottenere elementi dal Acquisto Receipts,
Distribute Charges Based On,Distribuire oneri corrispondenti,
Landed Cost Help,Landed Cost Aiuto,
Manufacturers used in Items,Produttori utilizzati in Articoli,
Limited to 12 characters,Limitato a 12 caratteri,
MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
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,
Loan Repayment and Closure,Rimborso e chiusura del prestito,
Loan Security Status,Stato di sicurezza del prestito,
Lost Opportunity,Opportunità persa,
Maintenance Schedules,Programmi di manutenzione,
Material Requests for which Supplier Quotations are not created,Richieste di materiale per le quali non sono state create Quotazioni dal Fornitore,
Monthly Attendance Sheet,Foglio Presenze Mensile,
Open Work Orders,Apri ordini di lavoro,
Qty to Deliver,Qtà di Consegna,
Patient Appointment Analytics,Analisi degli appuntamenti del paziente,
Payment Period Based On Invoice Date,Periodo di pagamento basati su Data fattura,
Pending SO Items For Purchase Request,Elementi in sospeso così per Richiesta di Acquisto,
Procurement Tracker,Tracker acquisti,
Product Bundle Balance,Saldo del pacchetto di prodotti,
Production Analytics,Analytics di produzione,
Profit and Loss Statement,Conto Economico,
Profitability Analysis,Analisi redditività,
Project Billing Summary,Riepilogo fatturazione progetto,
Project wise Stock Tracking,Monitoraggio delle scorte del progetto,
Project wise Stock Tracking ,Progetto saggio Archivio monitoraggio,
Prospects Engaged But Not Converted,Prospettive impegnate ma non convertite,
Purchase Analytics,Analisi dei dati di acquista,
Purchase Invoice Trends,Andamento Fatture di Acquisto,
Qty to Receive,Qtà da Ricevere,
Received Qty Amount,Importo quantità ricevuta,
Billed Qty,Qtà fatturata,
Purchase Order Trends,Acquisto Tendenze Ordine,
Purchase Receipt Trends,Acquisto Tendenze Receipt,
Purchase Register,Registro Acquisti,
Quotation Trends,Tendenze di preventivo,
Received Items To Be Billed,Oggetti ricevuti da fatturare,
Qty to Order,Qtà da Ordinare,
Requested Items To Be Transferred,Voci si chiede il trasferimento,
Qty to Transfer,Qtà da Trasferire,
Salary Register,stipendio Register,
Sales Analytics,Analisi dei dati di vendita,
Sales Invoice Trends,Andamento Fatture di vendita,
Sales Order Trends,Tendenze Sales Order,
Sales Partner Commission Summary,Riepilogo Commissione partner commerciali,
Sales Partner Target Variance based on Item Group,Scostamento target partner commerciale in base al gruppo di articoli,
Sales Partner Transaction Summary,Riepilogo delle transazioni dei partner di vendita,
Sales Partners Commission,Vendite Partners Commissione,
Invoiced Amount (Exclusive Tax),Importo fatturato (IVA esclusa),
Average Commission Rate,Tasso medio di commissione,
Sales Payment Summary,Riepilogo dei pagamenti di vendita,
Sales Person Commission Summary,Riassunto della Commissione per le vendite,
Sales Person Target Variance Based On Item Group,Rappresentante Target Variance in base al gruppo di articoli,
Sales Person-wise Transaction Summary,Sales Person-saggio Sintesi dell&#39;Operazione,
Sales Register,Registro Vendite,
Serial No Service Contract Expiry,Serial No Contratto di Servizio di scadenza,
Serial No Status,Serial No Stato,
Serial No Warranty Expiry,Serial No Garanzia di scadenza,
Stock Ageing,Invecchiamento Archivio,
Stock and Account Value Comparison,Confronto tra valore azionario e conto,
Stock Projected Qty,Qtà Prevista Giacenza,
Student and Guardian Contact Details,Student and Guardian Contatti,
Student Batch-Wise Attendance,Student Batch-Wise presenze,
Student Fee Collection,Student Fee Collection,
Student Monthly Attendance Sheet,Presenze mensile Scheda,
Subcontracted Item To Be Received,Articolo in conto lavoro da ricevere,
Subcontracted Raw Materials To Be Transferred,Materie prime subappaltate da trasferire,
Supplier Ledger Summary,Riepilogo contabilità fornitori,
Supplier-Wise Sales Analytics,Estensione statistiche di Vendita Fornitore,
Support Hour Distribution,Distribuzione dell&#39;orario di assistenza,
TDS Computation Summary,Riepilogo dei calcoli TDS,
TDS Payable Monthly,TDS mensile pagabile,
Territory Target Variance Based On Item Group,Varianza target del territorio in base al gruppo di articoli,
Territory-wise Sales,Vendite sul territorio,
Total Stock Summary,Sommario totale delle azioni,
Trial Balance,Bilancio di verifica,
Trial Balance (Simple),Bilancio di verifica (semplice),
Trial Balance for Party,Bilancio di verifica per Partner,
Unpaid Expense Claim,Richiesta di spesa non retribuita,
Warehouse wise Item Balance Age and Value,Magazzino saggio Saldo Età e valore,
Work Order Stock Report,Rapporto di stock ordine di lavoro,
Work Orders in Progress,Ordini di lavoro in corso,
Validation Error,errore di convalida,
Automatically Process Deferred Accounting Entry,Elaborazione automatica registrazione contabile differita,
Bank Clearance,Liquidazione bancaria,
Bank Clearance Detail,Dettaglio liquidazione bancaria,
Update Cost Center Name / Number,Aggiorna nome / numero centro di costo,
Journal Entry Template,Modello registrazione prima nota,
Template Title,Titolo del modello,
Journal Entry Type,Tipo di registrazione prima nota,
Journal Entry Template Account,Conto modello registrazione prima nota,
Process Deferred Accounting,Elaborazione contabilità differita,
Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Impossibile creare l&#39;immissione manuale! Disabilitare l&#39;inserimento automatico per la contabilità differita nelle impostazioni dei conti e riprovare,
End date cannot be before start date,La data di fine non può essere precedente alla data di inizio,
Total Counts Targeted,Conteggi totali mirati,
Total Counts Completed,Conteggi totali completati,
Counts Targeted: {0},Conteggi targetizzati: {0},
Payment Account is mandatory,Il conto di pagamento è obbligatorio,
"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","Se selezionato, l&#39;intero importo verrà detratto dal reddito imponibile prima del calcolo dell&#39;imposta sul reddito senza alcuna dichiarazione o presentazione di prove.",
Disbursement Details,Dettagli sull&#39;erogazione,
Material Request Warehouse,Magazzino richiesta materiale,
Select warehouse for material requests,Seleziona il magazzino per le richieste di materiale,
Transfer Materials For Warehouse {0},Trasferisci materiali per magazzino {0},
Production Plan Material Request Warehouse,Magazzino richiesta materiale piano di produzione,
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,
Reference No,Riferimento n,
Haircut percentage is the percentage difference between market value of the Loan Security and the value ascribed to that Loan Security when used as collateral for that loan.,La percentuale di scarto di garanzia è la differenza percentuale tra il valore di mercato del Titolo del prestito e il valore attribuito a tale Titolo del prestito quando utilizzato come garanzia per quel prestito.,
Loan To Value Ratio expresses the ratio of the loan amount to the value of the security pledged. A loan security shortfall will be triggered if this falls below the specified value for any loan ,"Loan To Value Ratio esprime il rapporto tra l&#39;importo del prestito e il valore del titolo in pegno. Se questo scende al di sotto del valore specificato per qualsiasi prestito, verrà attivato un deficit di sicurezza del prestito",
If this is not checked the loan by default will be considered as a Demand Loan,"Se questa opzione non è selezionata, il prestito di default sarà considerato come un prestito a vista",
This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,Questo conto viene utilizzato per la prenotazione del rimborso del prestito dal mutuatario e anche per l&#39;erogazione dei prestiti al mutuatario,
This account is capital account which is used to allocate capital for loan disbursal account ,Questo conto è un conto capitale utilizzato per allocare il capitale per il conto di erogazione del prestito,
This account will be used for booking loan interest accruals,Questo account verrà utilizzato per la prenotazione degli interessi maturati sui prestiti,
This account will be used for booking penalties levied due to delayed repayments,Questo account verrà utilizzato per le penali di prenotazione applicate a causa di rimborsi ritardati,
Variant BOM,BOM variante,
Template Item,Elemento modello,
Select template item,Seleziona elemento modello,
Select variant item code for the template item {0},Seleziona il codice articolo variante per l&#39;elemento modello {0},
Downtime Entry,Ingresso tempo di inattività,
DT-,DT-,
Workstation / Machine,Stazione di lavoro / macchina,
Operator,Operatore,
In Mins,In Min,
Downtime Reason,Motivo del tempo di inattività,
Stop Reason,Stop Reason,
Excessive machine set up time,Tempo di attrezzaggio macchina eccessivo,
Unplanned machine maintenance,Manutenzione della macchina non pianificata,
On-machine press checks,Controlli sulla macchina da stampa,
Machine operator errors,Errori dell&#39;operatore della macchina,
Machine malfunction,Malfunzionamento della macchina,
Electricity down,Elettricità in calo,
Operation Row Number,Numero riga operazione,
Operation {0} added multiple times in the work order {1},Operazione {0} aggiunta più volte nell&#39;ordine di lavoro {1},
"If ticked, multiple materials can be used for a single Work Order. This is useful if one or more time consuming products are being manufactured.","Se spuntato, è possibile utilizzare più materiali per un singolo ordine di lavoro. Ciò è utile se vengono fabbricati uno o più prodotti che richiedono molto tempo.",
Backflush Raw Materials,Backflush materie prime,
"The Stock Entry of type 'Manufacture' is known as backflush. Raw materials being consumed to manufacture finished goods is known as backflushing. <br><br> When creating Manufacture Entry, raw-material items are backflushed based on BOM of production item. If you want raw-material items to be backflushed based on Material Transfer entry made against that Work Order instead, then you can set it under this field.","La voce di stock di tipo &quot;Produzione&quot; è nota come backflush. Le materie prime consumate per la produzione di prodotti finiti sono conosciute come backflushing.<br><br> Quando si crea una voce di produzione, gli articoli delle materie prime vengono scaricati a consuntivo in base alla distinta base dell&#39;articolo di produzione. Se si desidera che gli articoli delle materie prime vengano scaricati a consuntivo in base alla voce Trasferimento materiale effettuata rispetto a quell&#39;ordine di lavoro, è possibile impostarlo in questo campo.",
Work In Progress Warehouse,Magazzino Lavori In Corso,
This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Questo magazzino verrà aggiornato automaticamente nel campo Magazzino lavori in corso degli ordini di lavoro.,
Finished Goods Warehouse,Magazzino prodotti finiti,
This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Questo magazzino verrà aggiornato automaticamente nel campo Magazzino di destinazione dell&#39;ordine di lavoro.,
"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Se spuntato, il costo della distinta base verrà aggiornato automaticamente in base a Tasso di valutazione / Tasso di listino / ultimo tasso di acquisto delle materie prime.",
Source Warehouses (Optional),Magazzini di origine (facoltativo),
"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","Il sistema ritirerà i materiali dai magazzini selezionati. Se non specificato, il sistema creerà la richiesta di materiale per l&#39;acquisto.",
Lead Time,Tempi di consegna,
PAN Details,Dettagli PAN,
Create Customer,Crea cliente,
Invoicing,Fatturazione,
Enable Auto Invoicing,Abilita fatturazione automatica,
Send Membership Acknowledgement,Invia conferma di iscrizione,
Send Invoice with Email,Invia fattura con e-mail,
Membership Print Format,Formato di stampa dell&#39;iscrizione,
Invoice Print Format,Formato stampa fattura,
Revoke <Key></Key>,Revocare&lt;Key&gt;&lt;/Key&gt;,
You can learn more about memberships in the manual. ,Puoi saperne di più sugli abbonamenti nel manuale.,
ERPNext Docs,ERPNext Docs,
Regenerate Webhook Secret,Rigenera segreto webhook,
Generate Webhook Secret,Genera segreto webhook,
Copy Webhook URL,Copia l&#39;URL del webhook,
Linked Item,Elemento collegato,
Is Recurring,È ricorrente,
HRA Exemption,Esenzione HRA,
Monthly House Rent,Affitto casa mensile,
Rented in Metro City,Affittato a Metro City,
HRA as per Salary Structure,HRA come da struttura salariale,
Annual HRA Exemption,Esenzione annuale HRA,
Monthly HRA Exemption,Esenzione mensile HRA,
House Rent Payment Amount,Importo del pagamento dell&#39;affitto della casa,
Rented From Date,Affittato dalla data,
Rented To Date,Affittato ad oggi,
Monthly Eligible Amount,Importo ammissibile mensile,
Total Eligible HRA Exemption,Esenzione totale ammissibile HRA,
Validating Employee Attendance...,Convalida della presenza dei dipendenti ...,
Submitting Salary Slips and creating Journal Entry...,Invio delle buste paga e creazione della registrazione prima nota ...,
Calculate Payroll Working Days Based On,Calcola i giorni lavorativi del libro paga in base a,
Consider Unmarked Attendance As,Considera la presenza non contrassegnata come,
Fraction of Daily Salary for Half Day,Frazione dello stipendio giornaliero per mezza giornata,
Component Type,Tipo di componente,
Provident Fund,fondo di previdenza,
Additional Provident Fund,Fondo di previdenza aggiuntivo,
Provident Fund Loan,Prestito del fondo di previdenza,
Professional Tax,Tasse professionali,
Is Income Tax Component,È una componente dell&#39;imposta sul reddito,
Component properties and references ,Proprietà e riferimenti dei componenti,
Additional Salary ,Stipendio aggiuntivo,
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,
Loan Security {0} added multiple times,Prestito sicurezza {0} aggiunto più volte,
Loan Securities with different LTV ratio cannot be pledged against one loan,Titoli in prestito con diverso rapporto LTV non possono essere costituiti in pegno su un prestito,
Qty or Amount is mandatory for loan security!,La quantità o l&#39;importo è obbligatorio per la garanzia del prestito!,
Only submittted unpledge requests can be approved,Possono essere approvate solo le richieste di mancato impegno inviate,
Interest Amount or Principal Amount is mandatory,L&#39;importo degli interessi o l&#39;importo del capitale è obbligatorio,
Disbursed Amount cannot be greater than {0},L&#39;importo erogato non può essere maggiore di {0},
Row {0}: Loan Security {1} added multiple times,Riga {0}: Prestito sicurezza {1} aggiunta più volte,
Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Riga n. {0}: l&#39;elemento secondario non deve essere un pacchetto di prodotti. Rimuovi l&#39;elemento {1} e salva,
Credit limit reached for customer {0},Limite di credito raggiunto per il cliente {0},
Could not auto create Customer due to the following missing mandatory field(s):,Impossibile creare automaticamente il cliente a causa dei seguenti campi obbligatori mancanti:,
Please create Customer from Lead {0}.,Crea cliente da lead {0}.,
Mandatory Missing,Obbligatorio mancante,
Please set Payroll based on in Payroll settings,Si prega di impostare Payroll in base a nelle Impostazioni Payroll,
Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Stipendio aggiuntivo: {0} esiste già per Componente stipendio: {1} per periodo {2} e {3},
From Date can not be greater than To Date.,Dalla data non può essere maggiore di Alla data.,
Payroll date can not be less than employee's joining date.,La data del libro paga non può essere inferiore alla data di adesione del dipendente.,
From date can not be less than employee's joining date.,La data di inizio non può essere inferiore alla data di adesione del dipendente.,
To date can not be greater than employee's relieving date.,Ad oggi non può essere maggiore della data di rilascio del dipendente.,
Payroll date can not be greater than employee's relieving date.,La data del libro paga non può essere maggiore della data di rilascio del dipendente.,
Row #{0}: Please enter the result value for {1},Riga n. {0}: inserisci il valore del risultato per {1},
Mandatory Results,Risultati obbligatori,
Sales Invoice or Patient Encounter is required to create Lab Tests,Per creare test di laboratorio è necessaria la fattura di vendita o l&#39;incontro con il paziente,
Insufficient Data,Dati insufficienti,
Lab Test(s) {0} created successfully,Test di laboratorio {0} creati correttamente,
Test :,Prova:,
Sample Collection {0} has been created,La raccolta di campioni {0} è stata creata,
Normal Range: ,Intervallo normale:,
Row #{0}: Check Out datetime cannot be less than Check In datetime,Riga # {0}: Check-out datetime non può essere inferiore a Check-in datetime,
"Missing required details, did not create Inpatient Record","Dettagli richiesti mancanti, non ha creato la cartella del ricoverato",
Unbilled Invoices,Fatture non fatturate,
Standard Selling Rate should be greater than zero.,La tariffa di vendita standard deve essere maggiore di zero.,
Conversion Factor is mandatory,Il fattore di conversione è obbligatorio,
Row #{0}: Conversion Factor is mandatory,Riga # {0}: il fattore di conversione è obbligatorio,
Sample Quantity cannot be negative or 0,La quantità del campione non può essere negativa o 0,
Invalid Quantity,Quantità non valida,
"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Imposta i valori predefiniti per Gruppo di clienti, Territorio e Listino prezzi di vendita in Impostazioni di vendita",
{0} on {1},{0} su {1},
{0} with {1},{0} con {1},
Appointment Confirmation Message Not Sent,Messaggio di conferma dell&#39;appuntamento non inviato,
"SMS not sent, please check SMS Settings","SMS non inviato, controlla le Impostazioni SMS",
Healthcare Service Unit Type cannot have both {0} and {1},Il tipo di unità di servizio sanitario non può avere sia {0} che {1},
Healthcare Service Unit Type must allow atleast one among {0} and {1},Il tipo di unità di servizio sanitario deve consentire almeno uno tra {0} e {1},
Set Response Time and Resolution Time for Priority {0} in row {1}.,Imposta il tempo di risposta e il tempo di risoluzione per la priorità {0} nella riga {1}.,
Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Il tempo di risposta per la {0} priorità nella riga {1} non può essere maggiore del tempo di risoluzione.,
{0} is not enabled in {1},{0} non è abilitato in {1},
Group by Material Request,Raggruppa per richiesta materiale,
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 {}.,
