"""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,
Active Leads / Customers,Leads attivi / Clienti,
Activity Cost exists for Employee {0} against Activity Type - {1},Costo attività trovato per dipendente {0} con tipo attività - {1},
Activity Cost per Employee,Costo attività per dipendente,
Activity Type,Tipo attività,
Actual Cost,Costo attuale,
Actual Delivery Date,Data di consegna effettiva,
Actual Qty,Q.tà reale,
Actual Qty is mandatory,La q.tà reale è obbligatoria,
Actual Qty {0} / Waiting Qty {1},Quantità effettiva {0} / Quantità attesa {1},
Actual Qty: Quantity available in the warehouse.,Quantità effettivo: Quantità disponibile a magazzino.,
Actual qty in stock,Quantità disponibile,
Actual type tax cannot be included in Item rate in row {0},Il tipo di imposta / tassa non può essere inclusa nella tariffa della riga {0},
Add,Aggiungi,
Add / Edit Prices,Aggiungi / modifica prezzi,
Add All Suppliers,Aggiungi tutti i fornitori,
Add Comment,Aggiungi un commento,
Add Customers,Aggiungi clienti,
Add Employees,Aggiungi dipendenti,
Add Item,Aggiungi articolo,
Add Items,Aggiungi articoli,
Add Leads,Aggiungi leads,
Add Multiple Tasks,Aggiungi attività multiple,
Add Row,Aggiungi riga,
Add Sales Partners,Aggiungi partner di vendita,
Add Serial No,Aggiungi numero di serie,
Add Students,Aggiungi studenti,
Add Suppliers,Aggiungi fornitori,
Add Time Slots,Aggiungi slot di tempo,
Add Timesheets,Aggiungere schede attività,
Add Timeslots,Aggiungi fasce orarie,
Add Users to Marketplace,Aggiungi utenti al Marketplace,
Add a new address,Aggiungi un nuovo indirizzo,
Add cards or custom sections on homepage,Aggiungi carte o sezioni personalizzate sulla homepage,
Add more items or open full form,Aggiungi altri elementi o apri modulo completo,
Add notes,Aggiungi note,
Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Aggiungi il resto della tua organizzazione come tuoi utenti. È inoltre possibile aggiungere i clienti al proprio portale selezionandoli dalla sezione Contatti.,
Add to Details,Aggiungi ai dettagli,
Add/Remove Recipients,Aggiungi/Rimuovi Destinatari,
Added,Aggiunti,
Added to details,Aggiunto ai dettagli,
Added {0} users,Aggiunto/i {0} utenti,
Additional Salary Component Exists.,Esiste un componente di stipendio aggiuntivo.,
Address,Indirizzo,
Address Line 2,indirizzo 2,
Address Name,Nome indirizzo,
Address Title,Titolo indirizzo,
Address Type,Tipo di Indirizzo,
Administrative Expenses,Spese amministrative,
Administrative Officer,Responsabile Amministrativo,
Administrator,Amministratore,
Admission,Ammissione,
Admission and Enrollment,Ammissione e iscrizione,
Admissions for {0},Ammissioni per {0},
Admit,Ammettere,
Admitted,Ammesso,
Advance Amount,Importo Anticipo,
Advance Payments,Pagamenti anticipati,
Advance account currency should be same as company currency {0},La valuta del conto anticipato deve essere uguale alla valuta della società {0},
Advance amount cannot be greater than {0} {1},L'importo anticipato non può essere maggiore di {0} {1},
Advertising,Pubblicità,
Aerospace,Aerospaziale,
Against,Previsione,
Against Account,Previsione Conto,
Against Journal Entry {0} does not have any unmatched {1} entry,L'annotazione {0} non ha alcun corrispondenza {1},
Against Journal Entry {0} is already adjusted against some other voucher,Contro diario {0} è già regolata contro un altro buono,
Against Supplier Invoice {0} dated {1},Al ricevimento della Fattura Fornitore {0} datata {1},
Against Voucher,Contro Voucher,
Against Voucher Type,Contro Tipo Voucher,
Age,Età,
Age (Days),Età (giorni),
Ageing Based On,Invecchiamento basato su,
Ageing Range 1,Gamma invecchiamento 1,
Ageing Range 2,Gamma invecchiamento 2,
Ageing Range 3,Gamma invecchiamento 3,
Agriculture,agricoltura,
Agriculture (beta),Agricoltura (beta),
Airline,linea aerea,
All Accounts,Tutti gli account,
All Addresses.,Tutti gli indirizzi.,
All Assessment Groups,Tutti i gruppi di valutazione,
All BOMs,Tutte le distinte base,
All Contacts.,Tutti i contatti.,
All Customer Groups,Tutti i gruppi di clienti,
All Day,Intera giornata,
All Departments,Tutti i dipartimenti,
All Healthcare Service Units,Tutte le unità di assistenza sanitaria,
All Item Groups,Tutti i Gruppi,
All Jobs,Tutti i lavori,
All Products,Tutti i prodotti,
All Products or Services.,Tutti i prodotti o servizi.,
All Student Admissions,Tutte le ammissioni degli studenti,
All Supplier Groups,Tutti i gruppi fornitori,
All Supplier scorecards.,Tutti i punteggi dei fornitori.,
All Territories,Tutti i territori,
All Warehouses,Tutti i Depositi,
All communications including and above this shall be moved into the new Issue,Tutte le comunicazioni incluse e superiori a questa saranno trasferite nel nuovo numero,
All items have already been invoiced,Tutti gli articoli sono già stati fatturati,
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.,
All these items have already been invoiced,Tutti questi elementi sono stati già fatturati,
Allocate Payment Amount,Allocare Importo di Pagamento,
Allocated Amount,Importo assegnato,
Allocated Leaves,Ferie allocate,
Allocating leaves...,Allocazione ferie...,
Allow Delete,Consenti Elimina,
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 Record {0} exists against Student {1},Record di presenze {0} esiste contro Student {1},
Attendance can not be marked for future dates,La presenza non può essere inserita nel futuro,
Attendance date can not be less than employee's joining date,La data della presenza non può essere inferiore alla data di assunzione del dipendente,
Attendance for employee {0} is already marked,Assistenza per dipendente {0} è già contrassegnata,
Attendance for employee {0} is already marked for this day,La presenza per il dipendente {0} è già registrata per questo giorno,
Attendance has been marked successfully.,La partecipazione è stata segnata con successo.,
Attendance not submitted for {0} as it is a Holiday.,Partecipazione non inviata per {0} in quanto è una festività.,
Attendance not submitted for {0} as {1} on leave.,Presenza non inviata per {0} come {1} in congedo.,
Attribute table is mandatory,Tavolo attributo è obbligatorio,
Attribute {0} selected multiple times in Attributes Table,Attributo {0} selezionato più volte in Attributi Tabella,
Author,Autore,
Authorized Signatory,Firma autorizzata,
Auto Material Requests Generated,Richieste materiale generata automaticamente,
Auto Repeat,Ripetizione automatica,
Auto repeat document updated,Ripetizione automatica aggiornata,
Automotive,Automotive,
Available,Disponibile,
Available Leaves,Ferie disponibili,
Available Qty,Disponibile Quantità,
Available Selling,Vendita disponibile,
Available for use date is required,Disponibile per la data di utilizzo è richiesto,
Available slots,Slot disponibili,
Available {0},Disponibile {0},
Available-for-use Date should be after purchase date,Data disponibile per l&#39;uso dovrebbe essere successiva alla data di acquisto,
Average Age,Età media,
Average Rate,Tasso medio,
Avg Daily Outgoing,Media giornaliera in uscita,
Avg. Buying Price List Rate,Avg. Comprare il listino prezzi,
Avg. Selling Price List Rate,Avg. Tasso di listino prezzi di vendita,
Avg. Selling Rate,Avg. Tasso di vendita,
BOM,Distinta Base,
BOM Browser,Sfoglia BOM,
BOM No,BOM n.,
BOM Rate,BOM Tasso,
BOM Stock Report,Report Giacenza Distinta Base,
BOM and Manufacturing Quantity are required,Distinta Base e Quantità Produzione richieste,
BOM does not contain any stock item,Distinta Base non contiene alcun articolo a magazzino,
BOM {0} does not belong to Item {1},Distinta Base {0} non appartiene all'Articolo {1},
BOM {0} must be active,Distinta Base {0} deve essere attiva,
BOM {0} must be submitted,BOM {0} deve essere confermata,
Balance,Saldo,
Balance (Dr - Cr),Saldo (Dr - Cr),
Balance ({0}),Saldo ({0}),
Balance Qty,Saldo Quantità,
Balance Sheet,Bilancio Patrimoniale,
Balance Value,Valore Saldo,
Balance for Account {0} must always be {1},Il Saldo del Conto {0} deve essere sempre {1},
Bank,Banca,
Bank Account,Conto bancario,
Bank Accounts,Conti bancari,
Bank Draft,Assegno Bancario,
Bank Entries,Registrazioni bancarie,
Bank Name,Nome Banca,
Bank Overdraft Account,Conto di scoperto bancario,
Bank Reconciliation,Riconciliazione Banca,
Bank Reconciliation Statement,Prospetto di Riconciliazione Banca,
Bank Statement,Estratto conto bancario,
Bank Statement Settings,Impostazioni conto bancario,
Bank Statement balance as per General Ledger,Estratto conto banca come da Contabilità Generale,
Bank account cannot be named as {0},Il Conto bancario non si può chiamare {0},
Bank/Cash transactions against party or for internal transfer,Transazioni Banca/Cassa solo a favore di partner o per giroconto,
Banking,Bancario,
Banking and Payments,Banche e pagamenti,
Barcode {0} already used in Item {1},Codice a barre {0} già utilizzato nel Prodotto {1},
Barcode {0} is not a valid {1} code,Il codice a barre {0} non è un codice {1} valido,
Base,Base,
Base URL,URL di base,
Based On,Basato su,
Based On Payment Terms,Basato sui termini di pagamento,
Basic,Base,
Batch,Lotto,
Batch Entries,Voci in lotti,
Batch ID is mandatory,L&#39;ID batch è obbligatorio,
Batch Inventory,Inventario lotti,
Batch Name,Nome Lotto,
Batch No,Lotto N.,
Batch number is mandatory for Item {0},Numero di lotto obbligatoria per la voce {0},
Batch {0} of Item {1} has expired.,Il lotto {0} di {1} scaduto.,
Batch {0} of Item {1} is disabled.,Il lotto {0} dell'articolo {1} è disabilitato.,
Batch: ,Lotto:,
Batches,lotti,
Become a Seller,Diventa un venditore,
Beginner,Principiante,
Bill,Fattura,
Bill Date,Data Fattura,
Bill No,Fattura N.,
Bill of Materials,Distinte materiali,
Bill of Materials (BOM),Distinte materiali (BOM),
Billable Hours,Ore fatturabili,
Billed,Addebbitato,
Billed Amount,Importo fatturato,
Billing,Fatturazione,
Billing Address,Indirizzo Di Fatturazione,
Billing Address is same as Shipping Address,L&#39;indirizzo di fatturazione è uguale all&#39;indirizzo di spedizione,
Billing Amount,Importo della fattura,
Billing Status,Stato Fatturazione,
Billing currency must be equal to either default company's currency or party account currency,La valuta di fatturazione deve essere uguale alla valuta della società predefinita o alla valuta dell&#39;account del partito,
Bills raised by Suppliers.,Fatture emesse dai fornitori.,
Bills raised to Customers.,Fatture sollevate dai Clienti.,
Biotechnology,Biotecnologia,
Birthday Reminder,Promemoria di compleanno,
Black,Nero,
Blanket Orders from Costumers.,Ordini completi da clienti.,
Block Invoice,Blocca Fattura,
Boms,Distinte Base,
Bonus Payment Date cannot be a past date,La data di pagamento bonus non può essere una data passata,
Both Trial Period Start Date and Trial Period End Date must be set,È necessario impostare la Data di inizio del periodo di prova e la Data di fine del periodo di prova,
Both Warehouse must belong to same Company,Entrambi i magazzini devono appartenere alla stessa società,
Branch,Ramo,
Broadcasting,emittente,
Brokerage,mediazione,
Browse BOM,Sfoglia Distinta Base,
Budget Against,Bilancio contro,
Budget List,Elenco dei budget,
Budget Variance Report,Report Variazione Budget,
Budget cannot be assigned against Group Account {0},Bilancio non può essere assegnato contro account gruppo {0},
"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Bilancio non può essere assegnato contro {0}, in quanto non è un conto entrate o uscite",
Buildings,edifici,
Bundle items at time of sale.,Articoli Combinati e tempi di vendita.,
Business Development Manager,Business Development Manager,
Buy,Acquista,
Buying,Acquisti,
Buying Amount,Importo Acquisto,
Buying Price List,Listino prezzi acquisto,
Buying Rate,Tasso di acquisto,
"Buying must be checked, if Applicable For is selected as {0}","L'acquisto deve essere controllato, se ""applicabile per"" bisogna selezionarlo come {0}",
By {0},Di {0},
Bypass credit check at Sales Order ,Bypassare il controllo del credito in ordine cliente,
C-Form records,Record C -Form,
C-form is not applicable for Invoice: {0},C-form non è applicabile per la fattura: {0},
CEO,Amministratore delegato,
CESS Amount,Importo CESS,
CGST Amount,Quantità CGST,
CRM,CRM,
CWIP Account,Account CWIP,
Calculated Bank Statement balance,Calcolato equilibrio estratto conto,
Calls,chiamate,
Campaign,Campagna,
Can be approved by {0},Può essere approvato da {0},
"Can not filter based on Account, if grouped by Account","Non è possibile filtrare sulla base di conto , se raggruppati per conto",
"Can not filter based on Voucher No, if grouped by Voucher","Non è possibile filtrare sulla base del N. Voucher, se raggruppati per Voucher",
"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Impossibile contrassegnare il record del ricovero scaricabile, ci sono fatture non fatturate {0}",
Can only make payment against unbilled {0},Posso solo effettuare il pagamento non ancora fatturate contro {0},
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Può riferirsi fila solo se il tipo di carica è 'On Fila Indietro Importo ' o ' Indietro totale riga ',
"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Impossibile modificare il metodo di valorizzazione, in quanto vi sono transazioni contro alcuni elementi che non hanno il proprio metodo di valorizzazione",
Can't create standard criteria. Please rename the criteria,Impossibile creare criteri standard. Si prega di rinominare i criteri,
Cancel,Annulla,
Cancel Material Visit {0} before cancelling this Warranty Claim,Annulla Materiale Visita {0} prima di annullare questa rivendicazione di Garanzia,
Cancel Material Visits {0} before cancelling this Maintenance Visit,Annulla Visite Materiale {0} prima di annullare questa visita di manutenzione,
Cancel Subscription,Annullare l&#39;iscrizione,
Cancel the journal entry {0} first,Annullare prima la voce di giornale {0},
Canceled,Annullato,
"Cannot Submit, Employees left to mark attendance","Impossibile inviare, dipendenti lasciati per contrassegnare la presenza",
Cannot be a fixed asset item as Stock Ledger is created.,Non può essere un elemento fisso quando viene creato il libro mastro.,
Cannot cancel because submitted Stock Entry {0} exists,Impossibile annullare perché esiste un movimento di magazzino {0},
Cannot cancel transaction for Completed Work Order.,Impossibile annullare la transazione per l&#39;ordine di lavoro completato.,
Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},Impossibile cancellare {0} {1} perché il numero di serie {2} non appartiene al magazzino {3},
Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Impossibile modificare gli Attributi dopo il trasferimento di magazzino. Crea un nuovo Articolo e trasferisci le scorte al nuovo Articolo,
Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Impossibile modificare data di inizio e di fine anno fiscale una volta che l'anno fiscale è stato salvato.,
Cannot change Service Stop Date for item in row {0},Impossibile modificare la data di interruzione del servizio per l&#39;articolo nella riga {0},
Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,Impossibile modificare le proprietà Variant dopo la transazione stock. Dovrai creare un nuovo oggetto per farlo.,
"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Non è possibile cambiare la valuta di default dell'azienda , perché ci sono le transazioni esistenti . Le operazioni devono essere cancellate per cambiare la valuta di default .",
Cannot change status as student {0} is linked with student application {1},Impossibile cambiare status di studente {0} è collegata con l&#39;applicazione studente {1},
Cannot convert Cost Center to ledger as it has child nodes,Impossibile convertire centro di costo a registro come ha nodi figlio,
Cannot covert to Group because Account Type is selected.,Non può convertirsi in Gruppo perché è stato selezionato Tipo di account.,
Cannot create Retention Bonus for left Employees,Impossibile creare il bonus di conservazione per i dipendenti di sinistra,
Cannot create a Delivery Trip from Draft documents.,Impossibile creare un viaggio di consegna da documenti bozza.,
Cannot deactivate or cancel BOM as it is linked with other BOMs,Impossibile disattivare o cancellare la Distinta Base in quanto è collegata con altre,
"Cannot declare as lost, because Quotation has been made.",Non può essere dichiarato come perso perché è stato fatto un Preventivo.,
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Non può dedurre quando categoria è di ' valutazione ' o ' Valutazione e Total ',
Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Non può dedurre quando categoria è per &#39;valutazione&#39; o &#39;Vaulation e Total&#39;,
"Cannot delete Serial No {0}, as it is used in stock transactions","Impossibile eliminare N. di serie {0}, come si usa in transazioni di borsa",
Cannot enroll more than {0} students for this student group.,Non possono iscriversi più di {0} studenti per questo gruppo.,
Cannot find Item with this barcode,Impossibile trovare l&#39;oggetto con questo codice a barre,
Cannot find active Leave Period,Impossibile trovare il Periodo di congedo attivo,
Cannot produce more Item {0} than Sales Order quantity {1},Non può produrre più Voce {0} di Sales Order quantità {1},
Cannot promote Employee with status Left,Impossibile promuovere il Dipendente con stato Sinistro,
Cannot refer row number greater than or equal to current row number for this Charge type,Non può consultare numero di riga maggiore o uguale al numero di riga corrente per questo tipo di carica,
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Non è possibile selezionare il tipo di carica come 'On Fila Indietro Importo ' o 'On Precedente totale riga ' per la prima fila,
Cannot set a received RFQ to No Quote,Impossibile impostare una RFQ ricevuta al valore No Quote,
Cannot set as Lost as Sales Order is made.,Impossibile impostare come persa come è fatto Sales Order .,
Cannot set authorization on basis of Discount for {0},Impossibile impostare autorizzazione sulla base di Sconto per {0},
Cannot set multiple Item Defaults for a company.,Impossibile impostare più valori predefiniti oggetto per un&#39;azienda.,
Cannot set quantity less than delivered quantity,Impossibile impostare una quantità inferiore alla quantità consegnata,
Cannot set quantity less than received quantity,Impossibile impostare una quantità inferiore alla quantità ricevuta,
Cannot set the field <b>{0}</b> for copying in variants,Impossibile impostare il campo <b>{0}</b> per la copia in varianti,
Cannot transfer Employee with status Left,Impossibile trasferire Employee con lo stato Left,
Cannot {0} {1} {2} without any negative outstanding invoice,Impossibile {0} {1} {2} senza alcuna fattura in sospeso negativo,
Capital Equipments,Attrezzature Capital,
Capital Stock,Capitale sociale,
Capital Work in Progress,Capitale lavori in corso,
Cart,Carrello,
Cart is Empty,Il carrello è vuoto,
Case No(s) already in use. Try from Case No {0},Caso n ( s) già in uso . Prova da Caso n {0},
Cash,Contante,
Cash Flow Statement,Rendiconto finanziario,
Cash Flow from Financing,Flusso di cassa da finanziamento,
Cash Flow from Investing,Cash Flow da investimenti,
Cash Flow from Operations,Cash flow operativo,
Cash In Hand,Cash In Hand,
Cash or Bank Account is mandatory for making payment entry,Il conto bancario è obbligatorio per effettuare il Pagamento,
Cashier Closing,Chiusura del cassiere,
Casual Leave,Permesso retribuito,
Category,Categoria,
Category Name,Nome Categoria,
Caution,Attenzione,
Central Tax,Tassa centrale,
Certification,Certificazione,
Cess,Cess,
Change Amount,quantità di modifica,
Change Item Code,Cambia codice articolo,
Change POS Profile,Cambia profilo POS,
Change Release Date,Cambia Data di rilascio,
Change Template Code,Modifica del codice modello,
Changing Customer Group for the selected Customer is not allowed.,Non è consentito modificare il gruppo di clienti per il cliente selezionato.,
Chapter,Capitolo,
Chapter information.,Informazioni sul capitolo,
Charge of type 'Actual' in row {0} cannot be included in Item Rate,Carica di tipo ' Actual ' in riga {0} non può essere incluso nella voce Tasso,
Chargeble,chargeble,
Charges are updated in Purchase Receipt against each item,Le tariffe sono aggiornati in acquisto ricevuta contro ogni voce,
"Charges will be distributed proportionately based on item qty or amount, as per your selection","Spese saranno distribuiti proporzionalmente basate su qty voce o importo, secondo la vostra selezione",
Chart Of Accounts,Piano dei conti,
Chart of Cost Centers,Grafico Centro di Costo,
Check all,Seleziona tutto,
Checkout,Check-out,
Chemical,chimico,
Cheque,Assegno,
Cheque/Reference No,N. di riferimento,
Cheques Required,Controlli richiesti,
Cheques and Deposits incorrectly cleared,Assegni e depositi cancellati in modo non corretto,
Child Item should not be a Product Bundle. Please remove item `{0}` and save,L'elemento figlio non dovrebbe essere un pacchetto di prodotti. Si prega di rimuovere l'elemento `{0}` e salvare,
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,
"Company, Payment Account, From Date and To Date is mandatory","La società, il conto di pagamento, la data e la data sono obbligatori",
Compensatory Off,compensativa Off,
Compensatory leave request days not in valid holidays,Giorni di congedo compensativo giorni non festivi validi,
Complaint,Denuncia,
Completed Qty can not be greater than 'Qty to Manufacture',Completato Quantità non può essere maggiore di 'Quantità di Fabbricazione',
Completion Date,Data Completamento,
Computer,Computer,
Condition,Condizione,
Configure,Configurazione,
Configure {0},Configura {0},
Confirmed orders from Customers.,Ordini Confermati da Clienti.,
Connect Amazon with ERPNext,Connetti Amazon con ERPNext,
Connect Shopify with ERPNext,Connetti Shopify con ERPNext,
Connect to Quickbooks,Connetti a Quickbooks,
Connected to QuickBooks,Connesso a QuickBooks,
Connecting to QuickBooks,Connessione a QuickBooks,
Consultation,Consulto,
Consultations,Consulti,
Consulting,Consulting,
Consumable,Consumabile,
Consumed,consumato,
Consumed Amount,Quantità consumata,
Consumed Qty,Q.tà Consumata,
Consumer Products,Prodotti di consumo,
Contact,Contatto,
Contact Details,Dettagli Contatto,
Contact Number,Numero di contatto,
Contact Us,Contattaci,
Content,Contenuto,
Content Masters,Master dei contenuti,
Content Type,Tipo Contenuto,
Continue Configuration,Continua la configurazione,
Contract,contratto,
Contract End Date must be greater than Date of Joining,Data fine contratto deve essere maggiore della data di assunzione,
Contribution %,Contributo%,
Contribution Amount,Contributo Importo,
Conversion factor for default Unit of Measure must be 1 in row {0},Fattore di conversione per unità di misura predefinita deve essere 1 in riga {0},
Conversion rate cannot be 0 or 1,Il tasso di conversione non può essere 0 o 1,
Convert to Group,Convert to Group,
Convert to Non-Group,Convert to non-Group,
Cosmetics,Cosmetici,
Cost Center,Centro di costo,
Cost Center Number,Numero centro di costo,
Cost Center and Budgeting,Centro di costo e budget,
Cost Center is required in row {0} in Taxes table for type {1},Centro di costo è richiesto in riga {0} nella tabella Tasse per il tipo {1},
Cost Center with existing transactions can not be converted to group,Centro di costo con le transazioni esistenti non può essere convertito in gruppo,
Cost Center with existing transactions can not be converted to ledger,Centro di costo con le transazioni esistenti non può essere convertito in contabilità,
Cost Centers,Centri di costo,
Cost Updated,Costo aggiornato,
Cost as on,Costo come in,
Cost of Delivered Items,Costo di oggetti consegnati,
Cost of Goods Sold,Costo del venduto,
Cost of Issued Items,Costo di elementi Emesso,
Cost of New Purchase,Costo del nuovo acquisto,
Cost of Purchased Items,Costo dei beni acquistati,
Cost of Scrapped Asset,Costo di Asset Demolita,
Cost of Sold Asset,Costo del bene venduto,
Cost of various activities,Costo di varie attività,
"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again","Impossibile creare automaticamente la nota di credito, deselezionare &#39;Emetti nota di credito&#39; e inviare nuovamente",
Could not generate Secret,Impossibile generare Secret,
Could not retrieve information for {0}.,Impossibile recuperare le informazioni per {0}.,
Could not solve criteria score function for {0}. Make sure the formula is valid.,Impossibile risolvere la funzione di valutazione dei criteri per {0}. Assicurarsi che la formula sia valida.,
Could not solve weighted score function. Make sure the formula is valid.,Impossibile risolvere la funzione di punteggio ponderato. Assicurarsi che la formula sia valida.,
Could not submit some Salary Slips,Non potevo inviare alcuni Salary Slips,
"Could not update stock, invoice contains drop shipping item.","Impossibile aggiornare magazzino, la fattura contiene articoli spediti direttamente dal fornitore.",
Country wise default Address Templates,Modelli Country saggio di default Indirizzo,
Course,Corso,
Course Code: ,Codice del corso:,
Course Enrollment {0} does not exists,L&#39;iscrizione al corso {0} non esiste,
Course Schedule,Orario del corso,
Course: ,Corso:,
Cr,Cr,
Create,Crea,
Create BOM,Crea DBA,
Create Delivery Trip,Crea viaggio di consegna,
Create Disbursement Entry,Crea voce di erogazione,
Create Employee,Crea dipendente,
Create Employee Records,Creare record dei dipendenti,
"Create Employee records to manage leaves, expense claims and payroll","Crea record dei dipendenti per la gestione ferie, rimborsi spese e del libro paga",
Create Fee Schedule,Crea un programma tariffario,
Create Fees,Crea tariffe,
Create Inter Company Journal Entry,Crea voce di diario interaziendale,
Create Invoice,Crea fattura,
Create Invoices,Crea fatture,
Create Job Card,Crea Job Card,
Create Journal Entry,Crea registrazione prima nota,
Create Lab Test,Crea un test di laboratorio,
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 a new Customer,Creare un nuovo cliente,
"Create and manage daily, weekly and monthly email digests.","Creare e gestire giornalieri , settimanali e mensili digerisce email .",
Create customer quotes,Creare le citazioni dei clienti,
Create rules to restrict transactions based on values.,Creare regole per limitare le transazioni in base ai valori .,
Created By,Creato da,
Created {0} scorecards for {1} between: ,Creato {0} scorecard per {1} tra:,
Creating Company and Importing Chart of Accounts,Creazione di società e importazione del piano dei conti,
Creating Fees,Creazione di tariffe,
Creating Payment Entries......,Creazione di voci di pagamento ......,
Creating Salary Slips...,Creazione di buste salariali ...,
Creating student groups,Creazione di gruppi di studenti,
Creating {0} Invoice,Creazione di {0} fattura,
Credit,Avere,
Credit ({0}),Credito ({0}),
Credit Account,Conto di credito,
Credit Balance,Balance Credit,
Credit Card,Carta di credito,
Credit Days cannot be a negative number,I giorni di credito non possono essere un numero negativo,
Credit Limit,Limite Credito,
Credit Note,Nota di credito,
Credit Note Amount,Importo della nota di credito,
Credit Note Issued,Nota di Credito Emessa,
Credit Note {0} has been created automatically,La nota di credito {0} è stata creata automaticamente,
Credit limit has been crossed for customer {0} ({1}/{2}),Il limite di credito è stato superato per il cliente {0} ({1} / {2}),
Creditors,Creditori,
Criteria weights must add up to 100%,I pesi dei criteri devono aggiungere fino al 100%,
Crop Cycle,Crop Cycle,
Crops & Lands,Colture e terre,
Currency Exchange must be applicable for Buying or for Selling.,Cambio valuta deve essere applicabile per l&#39;acquisto o per la vendita.,
Currency can not be changed after making entries using some other currency,Valuta non può essere modificata dopo aver fatto le voci utilizzando qualche altra valuta,
Currency exchange rate master.,Maestro del tasso di cambio di valuta .,
Currency for {0} must be {1},Valuta per {0} deve essere {1},
Currency is required for Price List {0},E' necessario specificare la  valuta per il listino prezzi {0},
Currency of the Closing Account must be {0},Valuta del Conto di chiusura deve essere {0},
Currency of the price list {0} must be {1} or {2},Valuta dell&#39;elenco dei prezzi {0} deve essere {1} o {2},
Currency should be same as Price List Currency: {0},La valuta deve essere uguale alla valuta della lista dei prezzi: {0},
Current,attuale,
Current Assets,Attività correnti,
Current BOM and New BOM can not be same,BOM corrente e New BOM non può essere lo stesso,
Current Job Openings,Offerte di lavoro,
Current Liabilities,Passività correnti,
Current Qty,Quantità corrente,
Current invoice {0} is missing,Manca la fattura corrente {0},
Custom HTML,HTML personalizzato,
Custom?,Personalizzato?,
Customer,Cliente,
Customer Addresses And Contacts,Indirizzi e Contatti Cliente,
Customer Contact,Customer Contact,
Customer Database.,Database clienti.,
Customer Group,Gruppo Cliente,
Customer Group is Required in POS Profile,Il gruppo di clienti è richiesto nel profilo POS,
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.,
Default warehouse is required for selected item,Deposito di default è richiesto per gli elementi selezionati,
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,
Delete permanently?,Eliminare in modo permanente?,
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 amount cannot be greater than 100%,L&#39;importo dello sconto non può essere superiore al 100%,
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,
Documentation,Documentazione,
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 supplier {0},E-mail inviata al fornitore {0},
Email sent to {0},E-mail inviata a {0},
Employee,Dipendente,
Employee A/C Number,Numero A / C dipendente,
Employee Advances,Anticipi Dipendenti,
Employee Benefits,Benefici per i dipendenti,
Employee Grade,Grado del dipendente,
Employee ID,Numero Identità dell&#39;impiegato,
Employee Lifecycle,Employee Lifecycle,
Employee Name,Nome dipendente,
Employee Promotion cannot be submitted before Promotion Date ,La promozione dei dipendenti non può essere presentata prima della data di promozione,
Employee Referral,Referral dei dipendenti,
Employee Transfer cannot be submitted before Transfer Date ,Il trasferimento del dipendente non può essere inoltrato prima della data di trasferimento,
Employee cannot report to himself.,Il dipendente non può riportare a se stesso.,
Employee relieved on {0} must be set as 'Left',Dipendente esonerato da {0} deve essere impostato come 'Congedato',
Employee status cannot be set to 'Left' as following employees are currently reporting to this employee:&nbsp;,Lo stato del dipendente non può essere impostato su &quot;Sinistra&quot; poiché i seguenti dipendenti stanno attualmente segnalando a questo dipendente:,
Employee {0} already submited an apllication {1} for the payroll period {2},Il dipendente {0} ha già inviato una richiesta {1} per il periodo di gestione stipendi {2},
Employee {0} has already applied for {1} between {2} and {3} : ,Il Dipendente {0} ha già fatto domanda per {1} tra {2} e {3}:,
Employee {0} has already applied for {1} on {2} : ,Il Dipendente {0} ha già fatto domanda per {1} su {2}:,
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},
Enter value must be positive,Inserire il valore deve essere positivo,
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 while processing deferred accounting for {0},Errore durante l&#39;elaborazione della contabilità differita per {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},
Expense or Difference account is mandatory for Item {0} as it impacts overall stock value,La spesa o il conto differenziato sono obbligatori per l'articolo {0} in quanto hanno un impatto sul valore complessivo del magazzino,
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,
Fiscal Year: {0} does not exists,Anno fiscale: {0} non esiste,
Fixed Asset,Asset fisso,
Fixed Asset Item must be a non-stock item.,Un Bene Strumentale  deve essere un Bene Non di Magazzino,
Fixed Assets,immobilizzazioni,
Following Material Requests have been raised automatically based on Item's re-order level,A seguito di richieste di materiale sono state sollevate automaticamente in base al livello di riordino della Voce,
Following accounts might be selected in GST Settings:,Gli account seguenti potrebbero essere selezionati nelle impostazioni GST:,
Following course schedules were created,Sono stati creati i seguenti programmi del corso,
Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,L&#39;articolo seguente {0} non è contrassegnato come articolo {1}. Puoi abilitarli come {1} elemento dal suo master Item,
Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,Gli articoli seguenti {0} non sono contrassegnati come articolo {1}. Puoi abilitarli come {1} elemento dal suo master Item,
Food,Cibo,
"Food, Beverage & Tobacco","Prodotti alimentari , bevande e tabacco",
For,Per,
"For 'Product Bundle' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Product Bundle' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table.","Per &#39;prodotto Bundle&#39;, Warehouse, numero di serie e Batch No sarà considerata dal &#39;Packing List&#39; tavolo. Se Magazzino e Batch No sono gli stessi per tutti gli elementi di imballaggio per un elemento qualsiasi &#39;Product Bundle&#39;, questi valori possono essere inseriti nella tabella principale elemento, i valori verranno copiati a &#39;Packing List&#39; tavolo.",
For Employee,Per Dipendente,
For Quantity (Manufactured Qty) is mandatory,Per quantità (Quantità Prodotte) è obbligatorio,
For Supplier,per Fornitore,
For Warehouse,Per magazzino,
For Warehouse is required before Submit,Prima della conferma inserire per Magazzino,
"For an item {0}, quantity must be negative number","Per un articolo {0}, la quantità deve essere un numero negativo",
"For an item {0}, quantity must be positive number","Per un articolo {0}, la quantità deve essere un numero positivo",
"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry","Per la scheda lavoro {0}, è possibile effettuare solo l&#39;immissione di magazzino del tipo &quot;Trasferimento materiale per produzione&quot;",
"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Per riga {0} a {1}. Per includere {2} a tasso Item, righe {3} deve essere inclusa anche",
For row {0}: Enter Planned Qty,Per la riga {0}: inserisci qtà pianificata,
"For {0}, only credit accounts can be linked against another debit entry","Per {0}, solo i conti di credito possono essere collegati contro un'altra voce di addebito",
"For {0}, only debit accounts can be linked against another credit entry","Per {0}, solo gli account di debito possono essere collegati contro un'altra voce di credito",
Form View,Vista forma,
Forum Activity,Attività del forum,
Free item code is not selected,Il codice articolo gratuito non è selezionato,
Freight and Forwarding Charges,Freight Forwarding e spese,
Frequency,Frequenza,
Friday,Venerdì,
From,Da,
From Address 1,Dall&#39;indirizzo 1,
From Address 2,Dall&#39;indirizzo 2,
From Currency and To Currency cannot be same,Da Valuta e A Valuta non possono essere gli stessi,
From Date and To Date lie in different Fiscal Year,Dalla data e dalla data si trovano in diversi anni fiscali,
From Date cannot be greater than To Date,Dalla data non può essere maggiore di A Data,
From Date must be before To Date,Da Data deve essere prima di A Data,
From Date should be within the Fiscal Year. Assuming From Date = {0},Dalla data deve essere entro l'anno fiscale. Assumendo Dalla Data = {0},
From Date {0} cannot be after employee's relieving Date {1},Dalla data {0} non può essere successiva alla Data di rilascio del dipendente {1},
From Date {0} cannot be before employee's joining Date {1},Dalla data {0} non può essere precedente alla data di iscrizione del dipendente {1},
From Datetime,Da datetime,
From Delivery Note,Da Documento di Trasporto,
From Fiscal Year,Dall&#39;anno fiscale,
From GSTIN,Da GSTIN,
From Party Name,Dal nome del partito,
From Pin Code,Dal codice pin,
From Place,Dal luogo,
From Range has to be less than To Range,Da Campo deve essere inferiore al campo,
From State,Da stato,
From Time,Da Periodo,
From Time Should Be Less Than To Time,Dal tempo dovrebbe essere inferiore al tempo,
From Time cannot be greater than To Time.,Da tempo non può essere superiore al tempo.,
"From a supplier under composition scheme, Exempt and Nil rated","Da un fornitore in regime di composizione, esente e zero",
From and To dates required,Data Inizio e Fine sono obbligatorie,
From date can not be less than employee's joining date,Dalla data non può essere inferiore alla data di iscrizione del dipendente,
From value must be less than to value in row {0},Dal valore deve essere inferiore al valore nella riga {0},
From {0} | {1} {2},Da {0} | {1} {2},
Fuel Price,Prezzo Carburante,
Fuel Qty,Quantità di carburante,
Fulfillment,Compimento,
Full,Pieno,
Full Name,Nome Completo,
Full-time,Tempo pieno,
Fully Depreciated,completamente ammortizzato,
Furnitures and Fixtures,Mobili e infissi,
"Further accounts can be made under Groups, but entries can be made against non-Groups","Ulteriori conti possono essere fatti in Gruppi, ma le voci possono essere fatte contro i non-Gruppi",
Further cost centers can be made under Groups but entries can be made against non-Groups,Ulteriori centri di costo possono essere fatte in Gruppi ma le voci possono essere fatte contro i non-Gruppi,
Further nodes can be only created under 'Group' type nodes,Ulteriori nodi possono essere creati solo sotto i nodi di tipo ' Gruppo ',
Future dates not allowed,Date future non consentite,
GSTIN,GSTIN,
GSTR3B-Form,GSTR3B-Form,
Gain/Loss on Asset Disposal,Profitti/Perdite su Asset in smaltimento,
Gantt Chart,Diagramma di Gantt,
Gantt chart of all tasks.,Diagramma di Gantt per tutte le attività.,
Gender,Genere,
General,Generale,
General Ledger,Contabilità Generale,
Generate Material Requests (MRP) and Work Orders.,Genera richieste materiali (MRP) e ordini di lavoro.,
Generate Secret,Genera segreto,
Get Details From Declaration,Ottieni dettagli dalla dichiarazione,
Get Employees,Ottieni dipendenti,
Get Invocies,Ottieni invocazioni,
Get Invoices,Ottieni fatture,
Get Invoices based on Filters,Ottieni fatture in base ai filtri,
Get Items from BOM,Recupera elementi da Distinta Base,
Get Items from Healthcare Services,Ottieni articoli dai servizi sanitari,
Get Items from Prescriptions,Ottieni oggetti da Prescrizioni,
Get Items from Product Bundle,Ottenere elementi dal pacchetto di prodotti,
Get Suppliers,Ottenere Fornitori,
Get Suppliers By,Ottenere fornitori di,
Get Updates,Ricevi aggiornamenti,
Get customers from,Ottieni clienti da,
Get from Patient Encounter,Ottenere dall&#39;incontro paziente,
Getting Started,Iniziare,
GitHub Sync ID,ID di sincronizzazione GitHub,
Global settings for all manufacturing processes.,Impostazioni globali per tutti i processi produttivi.,
Go to the Desktop and start using ERPNext,Vai al desktop e inizia a usare ERPNext,
GoCardless SEPA Mandate,Mandato GoCardless SEPA,
GoCardless payment gateway settings,Impostazioni del gateway di pagamento GoCardless,
Goal and Procedure,Obiettivo e procedura,
Goals cannot be empty,Obiettivi non possono essere vuoti,
Goods In Transit,Merci in transito,
Goods Transferred,Beni trasferiti,
Goods and Services Tax (GST India),Tasse sui beni e servizi (GST India),
Goods are already received against the outward entry {0},Le merci sono già ricevute contro la voce in uscita {0},
Government,Governo,
Grand Total,Somma totale,
Grant,Concedere,
Grant Application,Richiesta di sovvenzione,
Grant Leaves,Concedere ferie,
Grant information.,Concedere informazioni,
Grocery,drogheria,
Gross Pay,Paga lorda,
Gross Profit,Utile lordo,
Gross Profit %,Utile lordo %,
Gross Profit / Loss,Utile lordo / Perdita,
Gross Purchase Amount,Importo Acquisto Gross,
Gross Purchase Amount is mandatory,Gross Importo acquisto è obbligatoria,
Group by Account,Raggruppa per Conto,
Group by Party,Raggruppa per partito,
Group by Voucher,Raggruppa per voucher,
Group by Voucher (Consolidated),Raggruppa per buono (consolidato),
Group node warehouse is not allowed to select for transactions,magazzino nodo di gruppo non è permesso di selezionare per le transazioni,
Group to Non-Group,Gruppo di Non-Group,
Group your students in batches,Gruppo tuoi studenti in batch,
Groups,gruppi,
Guardian1 Email ID,Email ID Guardian1,
Guardian1 Mobile No,Guardian1 Mobile No,
Guardian1 Name,Nome Guardian1,
Guardian2 Email ID,Email ID Guardian2,
Guardian2 Mobile No,Guardian2 Mobile No,
Guardian2 Name,Nome Guardian2,
Guest,ospite,
HR Manager,HR Manager,
HSN,HSN,
HSN/SAC,HSN / SAC,
Half Day,Mezza giornata,
Half Day Date is mandatory,La mezza giornata è obbligatoria,
Half Day Date should be between From Date and To Date,La data di mezza giornata deve essere compresa da Data a Data,
Half Day Date should be in between Work From Date and Work End Date,La data di mezza giornata deve essere compresa tra la data di fine lavoro e la data di fine lavoro,
Half Yearly,Semestrale,
Half day date should be in between from date and to date,La data di mezza giornata dovrebbe essere tra la data e la data,
Half-Yearly,Semestrale,
Hardware,Hardware,
Head of Marketing and Sales,Responsabile marketing e vendite,
Health Care,Assistenza sanitaria,
Healthcare,Assistenza sanitaria,
Healthcare (beta),Sanità (beta),
Healthcare Practitioner,Operatore sanitario,
Healthcare Practitioner not available on {0},Healthcare Practitioner non disponibile su {0},
Healthcare Practitioner {0} not available on {1},Healthcare Practitioner {0} non disponibile su {1},
Healthcare Service Unit,Unità di assistenza sanitaria,
Healthcare Service Unit Tree,Albero delle unità di servizio sanitario,
Healthcare Service Unit Type,Tipo di unità di assistenza sanitaria,
Healthcare Services,Servizi di assistenza sanitaria,
Healthcare Settings,Impostazioni sanitarie,
Hello,Ciao,
Help Results for,Aiuta i risultati per,
High,alto,
High Sensitivity,Alta sensibilità,
Hold,Mantieni,
Hold Invoice,Mantieni fattura,
Holiday,Vacanza,
Holiday List,Elenco vacanza,
Hotel Rooms of type {0} are unavailable on {1},Le camere dell&#39;hotel di tipo {0} non sono disponibili in {1},
Hotels,Alberghi,
Hourly,ogni ora,
Hours,Ore,
House rent paid days overlapping with {0},Giorni di affitto della casa pagati sovrapposti con {0},
House rented dates required for exemption calculation,Date di affitto della casa richieste per il calcolo dell&#39;esenzione,
House rented dates should be atleast 15 days apart,Le date in affitto della casa dovrebbero essere di almeno 15 giorni di distanza,
How Pricing Rule is applied?,Come viene applicata la Regola Tariffaria?,
Hub Category,Categoria Hub,
Hub Sync ID,ID di sincronizzazione Hub,
Human Resource,Risorsa Umana,
Human Resources,Risorse umane,
IFSC Code,Codice IFSC,
IGST Amount,Quantità IGST,
IP Address,Indirizzo IP,
ITC Available (whether in full op part),ITC disponibile (sia nella parte operativa completa),
ITC Reversed,ITC invertito,
Identifying Decision Makers,Identificare i Decision Maker,
"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Se l&#39;opzione Auto Opt In è selezionata, i clienti saranno automaticamente collegati al Programma fedeltà in questione (salvo)",
"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Se più regole dei prezzi continuano a prevalere, gli utenti sono invitati a impostare manualmente la priorità per risolvere il conflitto.",
"If selected Pricing Rule is made for 'Rate', it will overwrite Price List. Pricing Rule rate is the final rate, so no further discount should be applied. Hence, in transactions like Sales Order, Purchase Order etc, it will be fetched in 'Rate' field, rather than 'Price List Rate' field.","Se viene selezionata la regola di determinazione dei prezzi per &quot;Tariffa&quot;, sovrascriverà il listino prezzi. Prezzi Il tasso di regola è il tasso finale, quindi non è necessario applicare ulteriori sconti. Pertanto, nelle transazioni come Ordine di vendita, Ordine di acquisto, ecc., Verrà recuperato nel campo &quot;Tariffa&quot;, piuttosto che nel campo &quot;Tariffa di listino prezzi&quot;.",
"If two or more Pricing Rules are found based on the above conditions, Priority is applied. Priority is a number between 0 to 20 while default value is zero (blank). Higher number means it will take precedence if there are multiple Pricing Rules with same conditions.","Se due o più regole sui prezzi sono trovate delle condizioni di cui sopra, viene applicata la priorità. La priorità è un numero compreso tra 0 a 20, mentre il valore di default è pari a zero (vuoto). Numero maggiore significa che avrà la precedenza se ci sono più regole sui prezzi con le stesse condizioni.",
"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.","Se la scadenza è illimitata per i Punti Fedeltà, mantenere la Durata Scadenza vuota o 0.",
"If you have any questions, please get back to us.","Se avete domande, si prega di tornare a noi.",
Ignore Existing Ordered Qty,Ignora quantità ordinata esistente,
Image,Immagine,
Image View,Visualizza immagine,
Import Data,Importa dati,
Import Day Book Data,Importa i dati del day book,
Import Log,Log Importazione,
Import Master Data,Importa dati anagrafici,
Import Successfull,Importazione riuscita,
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(liable to reverse charge,Forniture interne (soggette a inversione contabile,
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 or Warehouse for row {0} does not match Material Request,Voce o Magazzino per riga {0} non corrisponde Material Request,
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 Prescriptions,Prescrizioni di laboratorio,
Lab Test Report,Report dei test di laboratorio,
Lab Test Sample,Campione di prova da laboratorio,
Lab Test Template,Modello di prova del laboratorio,
Lab Test UOM,Lab Test UOM,
Lab Tests and Vital Signs,Test di laboratorio e segni vitali,
Lab result datetime cannot be before testing datetime,La data e l'ora del risultato di laboratorio non possono essere prima della data e dell'ora del test,
Lab testing datetime cannot be before collection datetime,Test di laboratorio datetime non può essere prima della raccolta datetime,
Label,Etichetta,
Laboratory,Laboratorio,
Language Name,Nome lingua,
Large,Grande,
Last Communication,Ultima comunicazione,
Last Communication Date,Ultima data di comunicazione,
Last Name,Cognome,
Last Order Amount,Ultimo ammontare ordine,
Last Order Date,Ultima data di ordine,
Last Purchase Price,Ultimo prezzo di acquisto,
Last Purchase Rate,Ultima tasso di acquisto,
Latest,ultimo,
Latest price updated in all BOMs,Ultimo prezzo aggiornato in tutte le distinte base,
Lead,Lead,
Lead Count,Conto di piombo,
Lead Owner,Responsabile Lead,
Lead Owner cannot be same as the Lead,Il proprietario del Lead non può essere il Lead stesso,
Lead Time Days,Giorni per la Consegna,
Lead to Quotation,Lead a Preventivo,
"Leads help you get business, add all your contacts and more as your leads","I Leads ti aiutano ad incrementare il tuo business, aggiungi tutti i tuoi contatti come tuoi leads",
Learn,Guide,
Leave Approval Notification,Lascia la notifica di approvazione,
Leave Blocked,Lascia Bloccato,
Leave Encashment,lasciare Incasso,
Leave Management,Lascia Gestione,
Leave Status Notification,Invia notifica di stato,
Leave Type,Tipo di Permesso,
Leave Type is madatory,Lasciare il tipo è pazzesco,
Leave Type {0} cannot be allocated since it is leave without pay,Lascia tipo {0} non può essere assegnato in quanto si lascia senza paga,
Leave Type {0} cannot be carry-forwarded,Lascia tipo {0} non può essere trasmessa carry-,
Leave Type {0} is not encashable,Lasciare il tipo {0} non è incassabile,
Leave Without Pay,Lascia senza stipendio,
Leave and Attendance,Permessi e Presenze,
Leave application {0} already exists against the student {1},Lascia l&#39;applicazione {0} già esistente contro lo studente {1},
"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Ferie non possono essere assegnati prima {0}, come equilibrio congedo è già stato inoltrato carry-in futuro record di assegnazione congedo {1}",
"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Lasciare non può essere applicata / annullato prima {0}, come equilibrio congedo è già stato inoltrato carry-in futuro record di assegnazione congedo {1}",
Leave of type {0} cannot be longer than {1},Lascia di tipo {0} non può essere superiore a {1},
Leave the field empty to make purchase orders for all suppliers,Lascia vuoto il campo per effettuare ordini di acquisto per tutti i fornitori,
Leaves,Le foglie,
Leaves Allocated Successfully for {0},Permessi allocati con successo per {0},
Leaves has been granted sucessfully,Le ferie sono state concesse con successo,
Leaves must be allocated in multiples of 0.5,"Le ferie devono essere assegnati in multipli di 0,5",
Leaves per Year,Ferie per Anno,
Ledger,Ledger,
Legal,legale,
Legal Expenses,Spese legali,
Letter Head,Capo della Lettera,
Letter Heads for print templates.,Lettera intestazioni per modelli di stampa .,
Level,Livello,
Liability,Responsabilità,
License,Licenza,
Lifecycle,Ciclo vitale,
Limit,Limite,
Limit Crossed,limite Crossed,
Link to Material Request,Collega a Richiesta di Materiale,
List of all share transactions,Elenco di tutte le transazioni condivise,
List of available Shareholders with folio numbers,Elenco di azionisti disponibili con numeri di folio,
Loading Payment System,Caricamento del sistema di pagamento,
Loan,Prestito,
Loan Amount cannot exceed Maximum Loan Amount of {0},Importo del prestito non può superare il massimo importo del prestito {0},
Loan Application,Domanda di prestito,
Loan Management,Gestione dei prestiti,
Loan Repayment,Rimborso del prestito,
Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,La data di inizio del prestito e il periodo del prestito sono obbligatori per salvare lo sconto fattura,
Loans (Liabilities),Prestiti (passività ),
Loans and Advances (Assets),Crediti ( Assets ),
Local,Locale,
"LocalStorage is full , did not save","LocalStorage è piena, non ha salvato",
"LocalStorage is full, did not save","LocalStorage è pieno, non ha salvato",
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,
"Master data syncing, it might take some time","sincronizzazione dei dati principali, potrebbe richiedere un certo tempo",
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 default mode of payment is not allowed,Non è consentito il modo di pagamento multiplo predefinito,
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 Cart,Nuovo carrello,
New Company,Nuova Azienda,
New Contact,Nuovo contatto,
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 added to cart,Nessun articolo aggiunto al carrello,
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 Lab Test created,Nessun test di laboratorio creato,
No Permission,Nessuna autorizzazione,
No Quote,Nessuna cifra,
No Remarks,Nessun commento,
No Result to submit,Nessun risultato da presentare,
No Salary Structure assigned for Employee {0} on given date {1},Nessuna struttura retributiva assegnata al Dipendente {0} in data determinata {1},
No Staffing Plans found for this Designation,Nessun piano di personale trovato per questa designazione,
No Student Groups created.,Non sono stati creati Gruppi Studenti,
No Students in,Nessun studente dentro,
No Tax Withholding data found for the current Fiscal Year.,Nessun dato di ritenuta fiscale trovato per l&#39;anno fiscale corrente.,
No Work Orders created,Nessun ordine di lavoro creato,
No accounting entries for the following warehouses,Nessuna scritture contabili per le seguenti magazzini,
No active or default Salary Structure found for employee {0} for the given dates,Nessuna struttura attiva o stipendio predefinito trovato per dipendente {0} per le date indicate,
No address added yet.,Nessun indirizzo ancora aggiunto.,
No contacts added yet.,Nessun contatto ancora aggiunto.,
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 eligible for the admission in this program as per DOB,Non è ammissibile per l&#39;ammissione in questo programma come per DOB,
Not items found,Nessun articolo trovato,
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,Online,
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,
Only {0} in stock for item {1},Solo {0} in stock per l&#39;articolo {1},
Open BOM {0},Apri la Distinta Base {0},
Open Item {0},Apri articolo {0},
Open Notifications,Aperte Notifiche,
Open Orders,Ordini aperti,
Open a new ticket,Apri un nuovo ticket,
Opening,Apertura,
Opening (Cr),Opening ( Cr ),
Opening (Dr),Opening ( Dr),
Opening Accounting Balance,Apertura bilancio contabile,
Opening Accumulated Depreciation,Apertura del deprezzamento accumulato,
Opening Accumulated Depreciation must be less than equal to {0},L&#39;apertura del deprezzamento accumulato deve essere inferiore uguale a {0},
Opening Balance,Saldo di apertura,
Opening Balance Equity,Apertura Balance Equità,
Opening Date and Closing Date should be within same Fiscal Year,Data e Data di chiusura di apertura dovrebbe essere entro lo stesso anno fiscale,
Opening Date should be before Closing Date,Data di apertura dovrebbe essere prima Data di chiusura,
Opening Entry Journal,Diario di apertura,
Opening Invoice Creation Tool,Strumento di Creazione di Fattura Tardiva,
Opening Invoice Item,Articolo di Fattura Tardiva,
Opening Invoices,Fatture Tardive,
Opening Invoices Summary,Riepilogo delle Fatture Tardive,
Opening Qty,Quantità di apertura,
Opening Stock,Disponibilità Iniziale,
Opening Stock Balance,Apertura Saldo delle Scorte,
Opening Value,Valore di apertura,
Opening {0} Invoice created,Apertura della {0} fattura creata,
Operation,operazione,
Operation Time must be greater than 0 for Operation {0},Tempo di funzionamento deve essere maggiore di 0 per Operation {0},
"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operazione {0} più di tutte le ore di lavoro disponibili a workstation {1}, abbattere l&#39;operazione in più operazioni",
Operations,operazioni,
Operations cannot be left blank,Le operazioni non possono essere lasciati in bianco,
Opp Count,Opp Count,
Opp/Lead %,Opp / Lead%,
Opportunities,Opportunità,
Opportunities by lead source,Opportunità per fonte di piombo,
Opportunity,Opportunità,
Opportunity Amount,Importo opportunità,
Optional Holiday List not set for leave period {0},Elenco festività facoltativo non impostato per periodo di ferie {0},
"Optional. Sets company's default currency, if not specified.","Opzionale. Imposta valuta predefinita dell&#39;azienda, se non specificato.",
Optional. This setting will be used to filter in various transactions.,Facoltativo. Questa impostazione verrà utilizzato per filtrare in diverse operazioni .,
Options,Opzioni,
Order Count,Conteggio ordini,
Order Entry,Inserimento ordini,
Order Value,Valore dell&#39;ordine,
Order rescheduled for sync,Ordine riprogrammato per la sincronizzazione,
Order/Quot %,Ordine / Quota%,
Ordered,Ordinato,
Ordered Qty,Quantità ordinato,
"Ordered Qty: Quantity ordered for purchase, but not received.","Quantità ordinata: Quantità ordinato per l'acquisto , ma non ricevuto .",
Orders,Ordini,
Orders released for production.,Ordini rilasciati per la produzione.,
Organization,Organizzazione,
Organization Name,Nome organizzazione,
Other,Altro,
Other Reports,Altri Reports,
"Other outward supplies(Nil rated,Exempted)","Altre forniture esterne (esenti da zero, esenti)",
Others,Altri,
Out Qty,out Quantità,
Out Value,Valore out,
Out of Order,Guasto,
Outgoing,In partenza,
Outstanding,In sospeso,
Outstanding Amount,Importo Dovuto,
Outstanding Amt,Importo Dovuto,
Outstanding Cheques and Deposits to clear,Gli assegni in circolazione e depositi per cancellare,
Outstanding for {0} cannot be less than zero ({1}),In sospeso per {0} non può essere inferiore a zero ( {1} ),
Outward taxable supplies(zero rated),Rifornimenti imponibili esteriori (zero valutato),
Overdue,in ritardo,
Overlap in scoring between {0} and {1},Sovrapposizione nel punteggio tra {0} e {1},
Overlapping conditions found between:,Condizioni sovrapposti trovati tra :,
Owner,Proprietario,
PAN,PAN,
PO already created for all sales order items,PO già creato per tutti gli articoli dell&#39;ordine di vendita,
POS,POS,
POS Closing Voucher alreday exists for {0} between date {1} and {2},Il Voucher di chiusura POS è già disponibile per {0} tra la data {1} e {2},
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 Mode is not configured. Please check, whether account has been set on Mode of Payments or on POS Profile.","Modalità di pagamento non è configurato. Si prega di verificare, se account è stato impostato sulla modalità di pagamento o su POS profilo.",
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,
Payroll date can not be less than employee's joining date,La data del libro paga non può essere inferiore alla data di iscrizione del dipendente,
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,
Pin Code,Codice PIN,
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 contact to the user who have Sales Master Manager {0} role,Si prega di contattare l'utente che hanno Sales Master Responsabile {0} ruolo,
Please create Customer from Lead {0},Si prega di creare il Cliente dal Lead {0},
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 Material Requests in the above table,Si prega di inserire richieste materiale nella tabella di cui sopra,
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 Sales Orders in the above table,Si prega di inserire gli ordini di vendita nella tabella precedente,
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 input all required Result Value(s),Si prega di inserire tutti i valori dei risultati richiesti,
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 re-type company name to confirm,Si prega di digitare nuovamente il nome della società per confermare,
Please register the SIREN number in the company information file,Si prega di registrare il numero SIREN nel file delle informazioni aziendali,
Please remove this Invoice {0} from C-Form {1},Si prega di rimuovere questo Invoice {0} dal C-Form {1},
Please save the patient first,Si prega di salvare prima il paziente,
Please save the report again to rebuild or update,Salva di nuovo il rapporto per ricostruire o aggiornare,
"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Seleziona importo assegnato, Tipo fattura e fattura numero in almeno uno di fila",
Please select Apply Discount On,Si prega di selezionare Applica sconto su,
Please select BOM against item {0},Seleziona la BOM rispetto all&#39;articolo {0},
Please select BOM for Item in Row {0},Seleziona la Distinta Base per l'Articolo nella riga {0},
Please select BOM in BOM field for Item {0},Seleziona Distinta Base nel campo Distinta Base per la voce {0},
Please select Category first,Si prega di selezionare Categoria prima,
Please select Charge Type first,Seleziona il tipo di carica prima,
Please select Company,Selezionare prego,
Please select Company and Designation,Si prega di selezionare Società e designazione,
Please select Company and Party Type first,Per favore selezionare prima l'azienda e il tipo di Partner,
Please select Company and Posting Date to getting entries,Seleziona Società e Data di pubblicazione per ottenere le voci,
Please select Company first,Seleziona prima azienda,
Please select Completion Date for Completed Asset Maintenance Log,Selezionare la data di completamento per il registro di manutenzione delle attività completato,
Please select Completion Date for Completed Repair,Selezionare la data di completamento per la riparazione completata,
Please select Course,Seleziona Corso,
Please select Drug,Si prega di selezionare droga,
Please select Employee,Si prega di selezionare Dipendente,
Please select Employee Record first.,Si prega di selezionare i dipendenti Record prima.,
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 customer,Si prega di selezionare un cliente,
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 an item in the cart,Seleziona un elemento nel carrello,
Please select at least one domain.,Si prega di selezionare almeno un dominio.,
Please select correct account,Seleziona account corretto,
Please select customer,Seleziona cliente,
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 Company first,Si prega di selezionare la società per primo,
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 group and territory in Selling Settings,Imposta il gruppo e il territorio del cliente di default nelle Impostazioni di vendita,
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 not found or disabled,Listino Prezzi non trovato o disattivato,
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,Primaria,
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 be positive,La quantità deve essere positiva,
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,
Receive at Warehouse Entry,Ricevi all&#39;ingresso del magazzino,
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,
Report an Issue,Segnala un problema,
Reports,Report,
Reqd By Date,Data di Consegna,
Reqd Qty,Reqd Qty,
Request for Quotation,Richiesta di offerta,
"Request for Quotation is disabled to access from portal, for more check portal settings.","Richiesta di offerta disabilitata per l'accesso dal portale, verificare le configurazioni del portale",
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.,
Response,Risposta,
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}: Returned Item {1} does not exists in {2} {3},Row # {0}: restituito Voce {1} non esiste in {2} {3},
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}: Reference Document Type must be one of Sales Order, Sales Invoice or Journal Entry","Row # {0}: Riferimento Tipo di documento deve essere uno dei ordini di vendita, fattura di vendita 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}: For supplier {0} Email Address is required to send email,Riga {0}: Per il fornitore {0} l'Indirizzo e-mail è richiesto per inviare l'e-mail,
Row {0}: From Time and To Time is mandatory.,Riga {0}: From Time To Time ed è obbligatoria.,
Row {0}: From Time and To Time of {1} is overlapping with {2},Riga {0}: From Time To Time e di {1} si sovrappone {2},
Row {0}: From time must be less than to time,Riga {0}: da ora deve essere inferiore a ora,
Row {0}: Hours value must be greater than zero.,Riga {0}: valore Ore deve essere maggiore di zero.,
Row {0}: Invalid reference {1},Riga {0}: Riferimento non valido {1},
Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Riga {0}: Partner / Account non corrisponde con {1} / {2} {3} {4},
Row {0}: Party Type and Party is required for Receivable / Payable account {1},Riga {0}: Tipo Partner e Partner sono necessari per conto Crediti / Debiti  {1},
Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Riga {0}: Pagamento contro vendite / ordine di acquisto deve essere sempre contrassegnato come anticipo,
Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,Riga {0}: Abilita 'è Advance' contro Account {1} se questa è una voce di anticipo.,
Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Riga {0}: impostare il motivo dell&#39;esenzione fiscale in Imposte e addebiti,
Row {0}: Please set the Mode of Payment in Payment Schedule,Riga {0}: imposta la Modalità di pagamento in Pianificazione pagamenti,
Row {0}: Please set the correct code on Mode of Payment {1},Riga {0}: imposta il codice corretto su Modalità di pagamento {1},
Row {0}: Qty is mandatory,Riga {0}: Quantità è obbligatorio,
Row {0}: Quality Inspection rejected for item {1},Riga {0}: Ispezione di qualità rifiutata per l&#39;articolo {1},
Row {0}: UOM Conversion Factor is mandatory,Riga {0}: UOM fattore di conversione è obbligatoria,
Row {0}: select the workstation against the operation {1},Riga {0}: seleziona la workstation rispetto all&#39;operazione {1},
Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Riga {0}: {1} Numeri di serie necessari per l&#39;articolo {2}. Hai fornito {3}.,
Row {0}: {1} is required to create the Opening {2} Invoices,Riga {0}: {1} è richiesta per creare le Fatture di apertura {2},
Row {0}: {1} must be greater than 0,Riga {0}: {1} deve essere maggiore di 0,
Row {0}: {1} {2} does not match with {3},Riga {0}: {1} {2} non corrisponde con {3},
Row {0}:Start Date must be before End Date,Riga {0} : Data di inizio deve essere precedente Data di fine,
Rows with duplicate due dates in other rows were found: {0},Righe con date di scadenza duplicate in altre righe sono state trovate: {0},
Rules for adding shipping costs.,Regole per l'aggiunta di spese di spedizione .,
Rules for applying pricing and discount.,Le modalità di applicazione di prezzi e sconti .,
S.O. No.,S.O. No.,
SGST Amount,Importo SGST,
SO Qty,SO Quantità,
Safety Stock,Scorta di sicurezza,
Salary,Stipendio,
Salary Slip ID,Stipendio slittamento ID,
Salary Slip of employee {0} already created for this period,Foglio paga del dipendente {0} già creato per questo periodo,
Salary Slip of employee {0} already created for time sheet {1},Salario Slip of dipendente {0} già creato per foglio di tempo {1},
Salary Slip submitted for period from {0} to {1},Salary Slip presentato per il periodo da {0} a {1},
Salary Structure Assignment for Employee already exists,L&#39;assegnazione della struttura salariale per il dipendente esiste già,
Salary Structure Missing,Stipendio Struttura mancante,
Salary Structure must be submitted before submission of Tax Ememption Declaration,La struttura salariale deve essere presentata prima della presentazione della Dichiarazione di esenzione fiscale,
Salary Structure not found for employee {0} and date {1},Struttura salariale non trovata per il dipendente {0} e data {1},
Salary Structure should have flexible benefit component(s) to dispense benefit amount,La struttura salariale dovrebbe disporre di componenti di benefit flessibili per erogare l&#39;importo del benefit,
"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.","Stipendio già elaborato per il periodo compreso tra {0} e {1}, Lascia periodo di applicazione non può essere tra questo intervallo di date.",
Sales,Vendite,
Sales Account,Conto vendita,
Sales Expenses,Spese di vendita,
Sales Funnel,imbuto di vendita,
Sales Invoice,Fattura di vendita,
Sales Invoice {0} has already been submitted,La fattura di vendita {0} è già stata presentata,
Sales Invoice {0} must be cancelled before cancelling this Sales Order,La fattura di vendita {0} deve essere cancellata prima di annullare questo ordine di vendita,
Sales Manager,Sales Manager,
Sales Master Manager,Sales Master Manager,
Sales Order,Ordine di vendita,
Sales Order Item,Articolo dell'Ordine di Vendita,
Sales Order required for Item {0},Ordine di Vendita necessario per l'Articolo {0},
Sales Order to Payment,Ordine di vendita a pagamento,
Sales Order {0} is not submitted,L'ordine di vendita {0} non è stato presentato,
Sales Order {0} is not valid,Sales Order {0} non è valido,
Sales Order {0} is {1},Sales Order {0} è {1},
Sales Orders,Ordini di vendita,
Sales Partner,Partner vendite,
Sales Pipeline,Pipeline di vendita,
Sales Price List,Lista Prezzo di vendita,
Sales Return,Ritorno di vendite,
Sales Summary,Riepilogo vendite,
Sales Tax Template,Sales Tax Template,
Sales Team,Team di vendita,
Sales User,Utente Vendite,
Sales and Returns,Vendite e restituzioni,
Sales campaigns.,Campagne di vendita .,
Sales orders are not available for production,Gli ordini di vendita non sono disponibili per la produzione,
Salutation,Appellativo,
Same Company is entered more than once,La stessa azienda viene inserito più di una volta,
Same item cannot be entered multiple times.,Lo stesso articolo non può essere inserito più volte.,
Same supplier has been entered multiple times,Lo stesso fornitore è stato inserito più volte,
Sample,Esempio,
Sample Collection,Raccolta di campioni,
Sample quantity {0} cannot be more than received quantity {1},La quantità di esempio {0} non può essere superiore alla quantità ricevuta {1},
Sanctioned,sanzionato,
Sanctioned Amount,Importo sanzionato,
Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Importo sanzionato non può essere maggiore di rivendicazione Importo in riga {0}.,
Sand,Sabbia,
Saturday,Sabato,
Saved,Salvato,
Saving {0},Salvataggio di {0},
Scan Barcode,Scansione Barcode,
Schedule,Pianificare,
Schedule Admission,Pianifica l&#39;ammissione,
Schedule Course,Programma del corso,
Schedule Date,Programma Data,
Schedule Discharge,Schedule Discharge,
Scheduled,Pianificate,
Scheduled Upto,Pianificato Upto,
"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Schedule per {0} si sovrappone, vuoi procedere dopo aver saltato gli slot sovrapposti?",
Score cannot be greater than Maximum Score,Il punteggio non può essere maggiore del punteggio massimo,
Score must be less than or equal to 5,Il punteggio deve essere minore o uguale a 5,
Scorecards,Scorecards,
Scrapped,Demolita,
Search,Cerca,
Search Item,Cerca Articolo,
Search Item (Ctrl + i),Cerca elemento (Ctrl + i),
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 No,Seleziona il numero di lotto,
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 POS Profile,Selezionare Profilo POS,
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 items to save the invoice,Selezionare gli elementi per salvare la fattura,
Select or add new customer,Selezionare o aggiungere nuovo cliente,
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}",
Selling rate for item {0} is lower than its {1}. Selling rate should be atleast {2},Il tasso di vendita per l&#39;elemento {0} è inferiore a quello {1}. Il tasso di vendita dovrebbe essere almeno {2},
Send Grant Review Email,Invia e-mail di revisione di Grant,
Send Now,Invia Ora,
Send SMS,Invia SMS,
Send Supplier Emails,Inviare e-mail del fornitore,
Send mass SMS to your contacts,Invia SMS di massa ai tuoi contatti,
Sensitivity,sensibilità,
Sent,Inviati,
Serial #,Serial #,
Serial No and Batch,N. di serie e batch,
Serial No is mandatory for Item {0},Numero d'ordine è obbligatorio per la voce {0},
Serial No {0} does not belong to Batch {1},Il numero di serie {0} non appartiene a Batch {1},
Serial No {0} does not belong to Delivery Note {1},Serial No {0} non appartiene alla Consegna Nota {1},
Serial No {0} does not belong to Item {1},Serial No {0} non appartiene alla voce {1},
Serial No {0} does not belong to Warehouse {1},Serial No {0} non appartiene al Warehouse {1},
Serial No {0} does not belong to any Warehouse,N. di serie {0} non appartiene ad alcun magazzino,
Serial No {0} does not exist,Serial No {0} non esiste,
Serial No {0} has already been received,Serial No {0} è già stato ricevuto,
Serial No {0} is under maintenance contract upto {1},Serial No {0} è sotto contratto di manutenzione fino a {1},
Serial No {0} is under warranty upto {1},Serial No {0} è in garanzia fino a {1},
Serial No {0} not found,Serial No {0} non trovato,
Serial No {0} not in stock,Serial No {0} non in magazzino,
Serial No {0} quantity {1} cannot be a fraction,Serial No {0} {1} quantità non può essere una frazione,
Serial Nos Required for Serialized Item {0},Serial Nos Obbligatorio per la voce Serialized {0},
Serial Number: {0} is already referenced in Sales Invoice: {1},Numero di serie: {0} è già indicato nella fattura di vendita: {1},
Serial Numbers,Numeri seriali,
Serial Numbers in row {0} does not match with Delivery Note,I numeri seriali nella riga {0} non corrispondono alla nota di consegna,
Serial no item cannot be a fraction,Serial nessun elemento non può essere una frazione,
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 default mode of payment,Imposta il modo di pagamento predefinito,
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 or Course Schedule is mandatory,Il gruppo studente o il corso è obbligatorio,
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,
Submitted orders can not be deleted,gli Ordini Confermati non possono essere eliminati,
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,
Suplier Name,Nome 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 Quotation {0} created,Preventivo Fornitore {0} creato,
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 Master Data,Sync Master Data,
Sync Offline Invoices,Sincronizzazione Fatture Off-line,
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,
Territory is Required in POS Profile,Il territorio è richiesto nel profilo POS,
Test,Test,
Thank you,Grazie,
Thank you for your business!,Grazie per il tuo business!,
The 'From Package No.' field must neither be empty nor it's value less than 1.,Il &#39;Da n. Pacchetto&#39; il campo non deve essere vuoto o il suo valore è inferiore a 1.,
The Brand,Il marchio / brand,
The Item {0} cannot have Batch,L'articolo {0} non può avere Lotto,
The Loyalty Program isn't valid for the selected company,Il programma fedeltà non è valido per la società selezionata,
The Payment Term at row {0} is possibly a duplicate.,Il termine di pagamento nella riga {0} è probabilmente un duplicato.,
The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Il Data Terminologia fine non può essere anteriore alla data di inizio Term. Si prega di correggere le date e riprovare.,
The Term End Date cannot be later than the Year End Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,Il Data Terminologia fine non può essere successiva alla data di fine anno dell&#39;anno accademico a cui il termine è legata (Anno Accademico {}). Si prega di correggere le date e riprovare.,
The Term Start Date cannot be earlier than the Year Start Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,Il Data Terminologia di inizio non può essere anteriore alla data di inizio anno dell&#39;anno accademico a cui il termine è legata (Anno Accademico {}). Si prega di correggere le date e riprovare.,
The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,La Data di fine anno non può essere anteriore alla data di inizio anno. Si prega di correggere le date e riprovare.,
The amount of {0} set in this payment request is different from the calculated amount of all payment plans: {1}. Make sure this is correct before submitting the document.,L&#39;importo di {0} impostato in questa richiesta di pagamento è diverso dall&#39;importo calcolato di tutti i piani di pagamento: {1}. Assicurarsi che questo sia corretto prima di inviare il documento.,
The day(s) on which you are applying for leave are holidays. You need not apply for leave.,Le giornate per cui si stanno segnando le ferie sono già di vacanze. Non è necessario chiedere un permesso.,
The field From Shareholder cannot be blank,Il campo Dall&#39;Azionista non può essere vuoto,
The field To Shareholder cannot be blank,Il campo per l&#39;azionista non può essere vuoto,
The fields From Shareholder and To Shareholder cannot be blank,I campi Dall&#39;Azionista e All&#39;Azionista non possono essere vuoti,
The folio numbers are not matching,I numeri del folio non corrispondono,
The holiday on {0} is not between From Date and To Date,La vacanza su {0} non è tra da Data e A Data,
The name of the institute for which you are setting up this system.,Il nome dell&#39;istituto per il quale si sta impostando questo sistema.,
The name of your company for which you are setting up this system.,Il nome dell'azienda per la quale si sta configurando questo sistema.,
The number of shares and the share numbers are inconsistent,Il numero di condivisioni e i numeri di condivisione sono incoerenti,
The payment gateway account in plan {0} is different from the payment gateway account in this payment request,L&#39;account del gateway di pagamento nel piano {0} è diverso dall&#39;account del gateway di pagamento in questa richiesta di pagamento,
The request for quotation can be accessed by clicking on the following link,Accedere alla richiesta di offerta cliccando sul seguente link,
The selected BOMs are not for the same item,Le distinte materiali selezionati non sono per la stessa voce,
The selected item cannot have Batch,La voce selezionata non può avere Batch,
The seller and the buyer cannot be the same,Il venditore e l&#39;acquirente non possono essere uguali,
The shareholder does not belong to this company,L&#39;azionista non appartiene a questa società,
The shares already exist,Le azioni esistono già,
The shares don't exist with the {0},Le condivisioni non esistono con {0},
"The task has been enqueued as a background job. In case there is any issue on processing in background, the system will add a comment about the error on this Stock Reconciliation and revert to the Draft stage","L&#39;attività è stata accodata come processo in background. Nel caso in cui si verifichino problemi durante l&#39;elaborazione in background, il sistema aggiungerà un commento sull&#39;errore in questa Riconciliazione di magazzino e tornerà alla fase Bozza",
"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Quindi le Regole dei prezzi vengono filtrate in base a cliente, Gruppo Cliente, Territorio, Fornitore, Tipo Fornitore, Campagna, Partner di vendita ecc",
"There are inconsistencies between the rate, no of shares and the amount calculated","Ci sono incongruenze tra il tasso, no delle azioni e l&#39;importo calcolato",
There are more holidays than working days this month.,Ci sono più feste che giorni di lavoro questo mese.,
There can be multiple tiered collection factor based on the total spent. But the conversion factor for redemption will always be same for all the tier.,Ci può essere un fattore di raccolta a più livelli basato sul totale speso. Ma il fattore di conversione per la redenzione sarà sempre lo stesso per tutto il livello.,
There can only be 1 Account per Company in {0} {1},Ci può essere solo 1 account per ogni impresa in {0} {1},
"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Può esserci una sola Condizione per Tipo di Spedizione con valore 0 o con valore vuoto per ""A Valore""",
There is no leave period in between {0} and {1},Non c&#39;è periodo di ferie tra {0} e {1},
There is not enough leave balance for Leave Type {0},Non hai giorni sufficienti per il permesso {0},
There is nothing to edit.,Non c'è nulla da modificare.,
There isn't any item variant for the selected item,Non c&#39;è alcuna variante di articolo per l&#39;articolo selezionato,
"There seems to be an issue with the server's GoCardless configuration. Don't worry, in case of failure, the amount will get refunded to your account.","Sembra esserci un problema con la configurazione del server GoCardless. Non preoccuparti, in caso di errore, l'importo verrà rimborsato sul tuo conto.",
There were errors creating Course Schedule,Si sono verificati degli errori durante la creazione del programma del corso,
There were errors.,Ci sono stati degli errori.,
This Item is a Template and cannot be used in transactions. Item attributes will be copied over into the variants unless 'No Copy' is set,Questo articolo è un modello e non può essere utilizzato nelle transazioni. Attributi Voce verranno copiate nelle varianti meno che sia impostato 'No Copy',
This Item is a Variant of {0} (Template).,Questa voce è una variante di {0} (Template).,
This Month's Summary,Sommario di questo mese,
This Week's Summary,Sintesi di questa settimana,
This action will stop future billing. Are you sure you want to cancel this subscription?,Questa azione interromperà la fatturazione futura. Sei sicuro di voler cancellare questo abbonamento?,
This covers all scorecards tied to this Setup,Ciò copre tutte le scorecard legate a questo programma di installazione,
This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Questo documento è oltre il limite da {0} {1} per item {4}. State facendo un altro {3} contro lo stesso {2}?,
This is a root account and cannot be edited.,Questo è un account di root e non può essere modificato .,
This is a root customer group and cannot be edited.,Si tratta di un gruppo di clienti root e non può essere modificato .,
This is a root department and cannot be edited.,Questo è un dipartimento root e non può essere modificato.,
This is a root healthcare service unit and cannot be edited.,Questa è un&#39;unità di assistenza sanitaria di root e non può essere modificata.,
This is a root item group and cannot be edited.,Questo è un gruppo elemento principale e non può essere modificato .,
This is a root sales person and cannot be edited.,Si tratta di una persona di vendita di root e non può essere modificato .,
This is a root supplier group and cannot be edited.,Questo è un gruppo di fornitori root e non può essere modificato.,
This is a root territory and cannot be edited.,Questo è un territorio root e non può essere modificato .,
This is an example website auto-generated from ERPNext,Questo è un sito di esempio generato automaticamente da ERPNext,
This is based on logs against this Vehicle. See timeline below for details,Questo si basa su tronchi contro questo veicolo. Vedere cronologia sotto per i dettagli,
This is based on stock movement. See {0} for details,Questo si basa sui movimenti di magazzino. Vedere {0} per i dettagli,
This is based on the Time Sheets created against this project,Questo si basa sulla tabella dei tempi create contro questo progetto,
This is based on the attendance of this Employee,Questo si basa sulla presenza di questo dipendente,
This is based on the attendance of this Student,Questo si basa sulla presenza di questo Student,
This is based on transactions against this Customer. See timeline below for details,Questo si basa su operazioni contro questo cliente. Vedere cronologia sotto per i dettagli,
This is based on transactions against this Healthcare Practitioner.,Questo si basa sulle transazioni contro questo operatore sanitario.,
This is based on transactions against this Patient. See timeline below for details,Questo è basato sulle transazioni contro questo paziente. Per dettagli vedere la sequenza temporale qui sotto,
This is based on transactions against this Sales Person. See timeline below for details,Questo si basa sulle transazioni con questa persona di vendita. Vedi la cronologia qui sotto per i dettagli,
This is based on transactions against this Supplier. See timeline below for details,Questo si basa su operazioni relative a questo fornitore. Vedere cronologia sotto per i dettagli,
This will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,Questo invierà Salary Slips e creerà la registrazione ufficiale. Vuoi procedere?,
This {0} conflicts with {1} for {2} {3},Questo {0} conflitti con {1} per {2} {3},
Time Sheet for manufacturing.,Scheda attività per la produzione.,
Time Tracking,Monitoraggio tempo,
"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Intervallo di tempo saltato, lo slot da {0} a {1} si sovrappone agli slot esistenti da {2} a {3}",
Time slots added,Fascia temporale aggiunta,
Time(in mins),Tempo (in minuti),
Timer,Timer,
Timer exceeded the given hours.,Il timer ha superato le ore indicate.,
Timesheet,Scheda attività,
Timesheet for tasks.,Scheda attività,
Timesheet {0} is already completed or cancelled,La scheda attività {0} è già stata completata o annullata,
Timesheets,Schede attività,
"Timesheets help keep track of time, cost and billing for activites done by your team","Schede attività per tenere traccia del tempo, i costi e la fatturazione per attività fatta per tua squadra",
Titles for print templates e.g. Proforma Invoice.,Titoli di modelli di stampa p. es. Fattura proforma,
To,A,
To Address 1,Indirizzo 1,
To Address 2,Per Indirizzo 2,
To Bill,Da Fatturare,
To Date,A Data,
To Date cannot be before From Date,'A Data' deve essere successiva a 'Da Data',
To Date cannot be less than From Date,Alla data non può essere inferiore alla data,
To Date must be greater than From Date,A data deve essere maggiore di Da data,
To Date should be within the Fiscal Year. Assuming To Date = {0},'A Data' deve essere entro l'anno fiscale. Assumendo A Data = {0},
To Datetime,Per Data Ora,
To Deliver,Da Consegnare,
To Deliver and Bill,Da Consegnare e Fatturare,
To Fiscal Year,All&#39;anno fiscale,
To GSTIN,A GSTIN,
To Party Name,Per il nome del party,
To Pin Code,Codice PIN,
To Place,Piazzare,
To Receive,Ricevere,
To Receive and Bill,Da ricevere e fatturare,
To State,Stato,
To Warehouse,Al magazzino,
To create a Payment Request reference document is required,Per creare un Riferimento di Richiesta di Pagamento è necessario un Documento,
To date can not be equal or less than from date,Ad oggi non può essere uguale o inferiore alla data,
To date can not be less than from date,Ad oggi non può essere inferiore alla data,
To date can not greater than employee's relieving date,Ad oggi non può essere maggiore della data di rilascio del dipendente,
"To filter based on Party, select Party Type first","Per filtrare sulla base del Partner, selezionare prima il tipo di Partner",
"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","Per ottenere il meglio da ERPNext, si consiglia di richiedere un certo tempo e guardare questi video di aiuto.",
"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Per includere fiscale in riga {0} in rate articolo , tasse nelle righe {1} devono essere inclusi",
To make Customer based incentive schemes.,Per creare piani di incentivi basati sui clienti.,
"To merge, following properties must be same for both items","Per unire , seguenti proprietà devono essere uguali per entrambe le voci",
"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Per non applicare l'articolo Pricing in una determinata operazione, tutte le norme sui prezzi applicabili devono essere disabilitati.",
"To set this Fiscal Year as Default, click on 'Set as Default'","Per impostare questo anno fiscale come predefinito , clicca su ' Imposta come predefinito'",
To view logs of Loyalty Points assigned to a Customer.,Per visualizzare i registri dei punti fedeltà assegnati a un cliente.,
To {0},Per {0},
To {0} | {1} {2},Per {0} | {1} {2},
Toggle Filters,Attiva / disattiva filtri,
Too many columns. Export the report and print it using a spreadsheet application.,Troppe colonne. Esportare il report e stamparlo utilizzando un foglio di calcolo.,
Tools,Strumenti,
Total (Credit),Totale (credito),
Total (Without Tax),Totale (senza tasse),
Total Absent,Totale assente,
Total Achieved,Totale raggiunto,
Total Actual,Totale Actual,
Total Allocated Leaves,Ferie totali allocate,
Total Amount,Totale Importo,
Total Amount Credited,Importo totale accreditato,
Total Amount {0},Importo totale {0},
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 weightage assigned should be 100%. It is {0},Weightage totale assegnato dovrebbe essere al 100% . E ' {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 Bank Transaction Dates,Aggiorna le date delle transazioni bancarie,
Update Cost,Aggiorna il Costo,
Update Cost Center Number,Aggiorna numero centro di costo,
Update Email Group,Aggiorna gruppo email,
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 Forum,Forum utente,
User ID,ID utente,
User ID not set for Employee {0},ID utente non impostato per Dipedente {0},
User Remark,Osservazioni dell'utente,
User has not applied rule on the invoice {0},L&#39;utente non ha applicato la regola sulla fattura {0},
User {0} already exists,L&#39;&#39;utente {0} esiste già,
User {0} created,Utente {0} creato,
User {0} does not exist,Utente {0} non esiste,
User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,L&#39;utente {0} non ha alcun profilo POS predefinito. Controlla predefinito alla riga {1} per questo utente.,
User {0} is already assigned to Employee {1},Utente {0} è già assegnato a Employee {1},
User {0} is already assigned to Healthcare Practitioner {1},L&#39;utente {0} è già assegnato a Healthcare Practitioner {1},
Users,utenti,
Utility Expenses,Spese di utenza,
Valid From Date must be lesser than Valid Upto Date.,Valido dalla data deve essere minore di Valido fino alla data.,
Valid Till,Valido fino a,
Valid from and valid upto fields are mandatory for the cumulative,I campi validi da e validi fino a sono obbligatori per l&#39;accumulatore,
Valid from date must be less than valid upto date,Valido dalla data deve essere inferiore a valido fino alla data,
Valid till date cannot be before transaction date,Valida fino alla data non può essere prima della data della transazione,
Validity,Validità,
Validity period of this quotation has ended.,Il periodo di validità di questa quotazione è terminato.,
Valuation Rate,Tasso di Valorizzazione,
Valuation Rate is mandatory if Opening Stock entered,La valorizzazione è obbligatoria se si tratta di una disponibilità iniziale di magazzino,
Valuation type charges can not marked as Inclusive,Spese tipo di valutazione non possono contrassegnata come Inclusive,
Value Or Qty,Valore o Quantità,
Value Proposition,Proposta di valore,
Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Valore per l&#39;attributo {0} deve essere all&#39;interno della gamma di {1} a {2} nei incrementi di {3} per la voce {4},
Value missing,Valore mancante,
Value must be between {0} and {1},Il valore deve essere compreso tra {0} e {1},
"Values of exempt, nil rated and non-GST inward supplies","Valori di forniture interne esenti, nulli e non GST",
Variable,Variabile,
Variance,Varianza,
Variance ({}),Varianza ({}),
Variant,Variante,
Variant Attributes,Attributi Variante,
Variant Based On cannot be changed,La variante basata su non può essere modificata,
Variant Details Report,Rapporto dettagli varianti,
Variant creation has been queued.,La creazione di varianti è stata accodata.,
Vehicle Expenses,Spese del veicolo,
Vehicle No,Veicolo No,
Vehicle Type,Tipo Veicolo,
Vehicle/Bus Number,Numero di veicolo / bus,
Venture Capital,capitale a rischio,
View Chart of Accounts,Visualizza il piano dei conti,
View Fees Records,Visualizza i record delle commissioni,
View Form,Visualizza modulo,
View Lab Tests,Visualizza test di laboratorio,
View Leads,Visualizza i Leads,
View Ledger,vista Ledger,
View Now,Guarda ora,
View a list of all the help videos,Visualizzare un elenco di tutti i video di aiuto,
View in Cart,Vedi Carrello,
Visit report for maintenance call.,Visita rapporto per chiamata di manutenzione.,
Visit the forums,Visita i forum,
Vital Signs,Segni vitali,
Volunteer,Volontario,
Volunteer Type information.,Informazioni sul tipo di volontariato.,
Volunteer information.,Volontariato,
Voucher #,Voucher #,
Voucher No,Voucher no,
Voucher Type,Voucher Tipo,
WIP Warehouse,WIP Warehouse,
Walk In,Walk In,
Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Magazzino non può essere eliminato siccome esiste articolo ad inventario per questo Magazzino .,
Warehouse cannot be changed for Serial No.,Magazzino non può essere modificato per Serial No.,
Warehouse is mandatory,Magazzino è obbligatorio,
Warehouse is mandatory for stock Item {0} in row {1},Magazzino è obbligatorio per l'Articolo in Giacenza {0} alla Riga {1},
Warehouse not found in the system,Magazzino non trovato nel sistema,
"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Magazzino richiesto alla riga n. {0}, impostare il magazzino predefinito per l&#39;articolo {1} per la società {2}",
Warehouse required for stock Item {0},Magazzino richiesto per l'Articolo in Giacenza {0},
Warehouse {0} can not be deleted as quantity exists for Item {1},Magazzino {0} non può essere cancellato in quanto esiste la quantità per l' articolo {1},
Warehouse {0} does not belong to company {1},Magazzino {0} non appartiene alla società {1},
Warehouse {0} does not exist,Magazzino {0} non esiste,
"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.","Il magazzino {0} non è collegato a nessun account, si prega di citare l&#39;account nel record magazzino o impostare l&#39;account di inventario predefinito nella società {1}.",
Warehouses with child nodes cannot be converted to ledger,Magazzini con nodi figli non possono essere convertiti a Ledger,
Warehouses with existing transaction can not be converted to group.,Magazzini con transazione esistenti non possono essere convertiti in gruppo.,
Warehouses with existing transaction can not be converted to ledger.,Magazzini con transazione esistenti non possono essere convertiti in contabilità.,
Warning,Attenzione,
Warning: Another {0} # {1} exists against stock entry {2},Attenzione: Un altro {0} # {1} esiste per l'entrata Giacenza {2},
Warning: Invalid SSL certificate on attachment {0},Attenzione: certificato SSL non valido sull&#39;attaccamento {0},
Warning: Invalid attachment {0},Attenzione: L&#39;allegato non valido {0},
Warning: Leave application contains following block dates,Attenzione: la Richiesta di Ferie contiene le seguenti date bloccate,
Warning: Material Requested Qty is less than Minimum Order Qty,Attenzione : Materiale Qty richiesto è inferiore minima quantità,
Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Attenzione: ordini di vendita {0} esiste già contro Ordine di Acquisto del Cliente {1},
Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Attenzione : Il sistema non controlla fatturazione eccessiva poiché importo per la voce {0} in {1} è zero,
Warranty,Garanzia,
Warranty Claim,Richiesta di garanzia,
Warranty Claim against Serial No.,Richiesta Garanzia per N. Serie,
Website,Sito web,
Website Image should be a public file or website URL,Website Immagine dovrebbe essere un file o URL del sito web pubblico,
Website Image {0} attached to Item {1} cannot be found,Website Immagine {0} collegata alla voce {1} non può essere trovato,
Website Listing,Elenco dei siti web,
Website Manager,Responsabile sito web,
Website Settings,Impostazioni Sito,
Wednesday,mercoledì,
Week,Settimana,
Weekdays,Nei giorni feriali,
Weekly,Settimanale,
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Il peso è menzionato, \n prega di citare ""Peso UOM"" troppo",
Welcome email sent,Email di benvenuto inviata con successo,
Welcome to ERPNext,Benvenuti in ERPNext,
What do you need help with?,Con cosa hai bisogno di aiuto?,
What does it do?,Che cosa fa ?,
Where manufacturing operations are carried.,Dove si svolgono le operazioni di fabbricazione.,
"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Durante la creazione dell&#39;account per la società figlio {0}, l&#39;account padre {1} non è stato trovato. Crea l&#39;account principale nel COA corrispondente",
White,Bianco,
Wire Transfer,Bonifico bancario,
WooCommerce Products,Prodotti WooCommerce,
Work In Progress,Lavori in corso,
Work Order,Ordine di lavoro,
Work Order already created for all items with BOM,Ordine di lavorazione già creato per tutti gli articoli con BOM,
Work Order cannot be raised against a Item Template,L&#39;ordine di lavoro non può essere aumentato rispetto a un modello di oggetto,
Work Order has been {0},L&#39;ordine di lavoro è stato {0},
Work Order not created,Ordine di lavoro non creato,
Work Order {0} must be cancelled before cancelling this Sales Order,L&#39;ordine di lavoro {0} deve essere annullato prima di annullare questo ordine cliente,
Work Order {0} must be submitted,L&#39;ordine di lavoro {0} deve essere inviato,
Work Orders Created: {0},Ordini di lavoro creati: {0},
Work Summary for {0},Riepilogo del lavoro per {0},
Work-in-Progress Warehouse is required before Submit,Specificare il magazzino Work- in- Progress prima della Conferma,
Workflow,Flusso di lavoro,
Working,Lavorando,
Working Hours,Orari di lavoro,
Workstation,stazione di lavoro,
Workstation is closed on the following dates as per Holiday List: {0},Stazione di lavoro chiusa nei seguenti giorni secondo la lista delle vacanze: {0},
Wrapping up,Avvolgendo,
Wrong Password,Password errata,
Year start date or end date is overlapping with {0}. To avoid please set company,La data di inizio o di fine Anno si sovrappone con {0}. Per risolvere questo problema impostare l'Azienda,
You are in offline mode. You will not be able to reload until you have network.,Sei in modalità non in linea. Si potrà ricaricare quando tornerà disponibile la connessione alla rete.,
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} Number {1} already used in account {2},{0} Numero {1} già utilizzato nell&#39;account {2},
{0} Request for {1},{0} Richiesta per {1},
{0} Result submittted,{0} Risultato inviato,
{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} numeri di serie necessari per la voce {1}. Lei ha fornito {2}.,
{0} Student Groups created.,{0} Gruppo Studenti creato.,
{0} Students have been enrolled,{0} Gli studenti sono stati iscritti,
{0} against Bill {1} dated {2},{0} per fattura {1} in data {2},
{0} against Purchase Order {1},{0} contro ordine di acquisto {1},
{0} against Sales Invoice {1},{0} per fattura di vendita {1},
{0} against Sales Order {1},{0} per ordine di vendita {1},
{0} already allocated for Employee {1} for period {2} to {3},{0} già allocato il dipendente {1} per il periodo {2} a {3},
{0} applicable after {1} working days,{0} applicabile dopo {1} giorni lavorativi,
{0} asset cannot be transferred,{0} attività non può essere trasferito,
{0} can not be negative,{0} non può essere negativo,
{0} created,{0} creato,
"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.",{0} ha attualmente una posizione di valutazione del fornitore {1} e gli ordini di acquisto a questo fornitore dovrebbero essere rilasciati con cautela.,
"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.",{0} è attualmente in possesso di una valutazione (Scorecard) del fornitore pari a {1}  e le RFQ a questo fornitore dovrebbero essere inviate con cautela.,
{0} does not belong to Company {1},{0} non appartiene alla società {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} non vi è nessuna programmazione di Operatori Sanitari. Aggiungilo nella sezione principale degli Operatori Sanitari,
{0} entered twice in Item Tax,{0} inserito due volte in tassazione articolo,
{0} for {1},{0} per {1},
{0} has been submitted successfully,{0} è stato inviato correttamente,
{0} has fee validity till {1},{0} ha la validità della tassa fino a {1},
{0} hours,{0} ore,
{0} in row {1},{0} nella riga {1},
{0} is blocked so this transaction cannot proceed,"{0} è bloccato, quindi questa transazione non può continuare",
{0} is mandatory,{0} è obbligatorio,
{0} is mandatory for Item {1},{0} è obbligatorio per la voce {1},
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} è obbligatorio. Forse il record di cambio di valuta non è stato creato per {1} {2}.,
{0} is not a stock Item,{0} non è un articolo in scorta,
{0} is not a valid Batch Number for Item {1},{0} non è un numero di lotto valido per la voce {1},
{0} is not added in the table,{0} non è stato aggiunto nella tabella,
{0} is not in Optional Holiday List,{0} non è presente nell'elenco delle festività opzionali,
{0} is not in a valid Payroll Period,{0} non è in un periodo di stipendio valido,
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} è ora l'anno fiscale predefinito. Si prega di aggiornare il browser perché la modifica abbia effetto .,
{0} is on hold till {1},{0} è in attesa fino a {1},
{0} item found.,{0} elemento trovato.,
{0} items found.,{0} elementi trovati.,
{0} items in progress,{0} articoli in lavorazione,
{0} items produced,{0} articoli prodotti,
{0} must appear only once,{0} deve apparire una sola volta,
{0} must be negative in return document,{0} deve essere negativo nel documento di reso,
{0} must be submitted,{0} deve essere inviato,
{0} not allowed to transact with {1}. Please change the Company.,{0} non è consentito effettuare transazioni con {1}. Per favore cambia la compagnia.,
{0} not found for item {1},{0} non trovato per l&#39;articolo {1},
{0} parameter is invalid,Il parametro {0} non è valido,
{0} payment entries can not be filtered by {1},{0} I Pagamenti non possono essere filtrati per {1},
{0} should be a value between 0 and 100,{0} dovrebbe essere un valore compreso tra 0 e 100,
{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} unità di [{1}](#Form/Item/{1}) trovate in [{2}](#Form/Warehouse/{2}),
{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} unità di {1} necessarie in {2} su {3} {4} di {5} per completare la transazione.,
{0} units of {1} needed in {2} to complete this transaction.,{0} unità di {1} necessarie in {2} per completare la transazione.,
{0} valid serial nos for Item {1},{0} numeri di serie validi per l'articolo {1},
{0} variants created.,{0} varianti create.,
{0} {1} created,{0} {1} creato,
{0} {1} does not exist,{0} {1} non esiste,
{0} {1} does not exist.,{0} {1} non esiste.,
{0} {1} has been modified. Please refresh.,{0} {1} è stato modificato. Aggiornare prego.,
{0} {1} has not been submitted so the action cannot be completed,{0} {1} non è stato inviato perciò l'azione non può essere completata,
"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} è associato a {2}, ma il conto partito è {3}",
{0} {1} is cancelled or closed,{0} {1} è stato chiuso o eliminato,
{0} {1} is cancelled or stopped,{0} {1} viene cancellato o fermato,
{0} {1} is cancelled so the action cannot be completed,{0} {1} è cancellato perciò l'azione non può essere completata,
{0} {1} is closed,{0} {1} è stato chiuso,
{0} {1} is disabled,{0} {1} è disabilitato,
{0} {1} is frozen,{0} {1} è bloccato,
{0} {1} is fully billed,{0} {1} è completamente fatturato,
{0} {1} is not active,{0} {1} non è attivo,
{0} {1} is not associated with {2} {3},{0} {1} non è associato a {2} {3},
{0} {1} is not present in the parent company,{0} {1} non è presente nella società madre,
{0} {1} is not submitted,{0} {1} non è confermato,
{0} {1} is {2},{0} {1} è {2},
{0} {1} must be submitted,{0} {1} deve essere confermato,
{0} {1} not in any active Fiscal Year.,{0} {1} non presente in alcun Anno Fiscale attivo.,
{0} {1} status is {2},{0} {1} stato è {2},
{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,{0} {1}: Conto economico {2} non ammesso nelle registrazioni di apertura,
{0} {1}: Account {2} cannot be a Group,{0} {1}: Il conto {2} non può essere un gruppo,
{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Il conto {2} non appartiene alla società {3},
{0} {1}: Account {2} is inactive,{0} {1}: Il conto {2} è inattivo,
{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: La scrittura contabile {2} può essere effettuate solo in : {3},
{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: centro di costo è obbligatorio per la voce {2},
{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,{0} {1}: E' richiesto il Centro di Costo per il Conto Economico {2}. Configura un Centro di Costo di default per l'azienda,
{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: Il Centro di Costo {2} non appartiene all'azienda {3},
{0} {1}: Customer is required against Receivable account {2},{0} {1}:Per la Contabilità Clienti è necessario specificare un Cliente  {2},
{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Un importo a debito o a credito è richiesto per {2},
{0} {1}: Supplier is required against Payable account {2},{0} {1}: Il campo Fornitore è richiesto per il conto di debito  {2},
{0}% Billed,{0}% Fatturato,
{0}% Delivered,{0}% consegnato,
"{0}: Employee email not found, hence email not sent","{0}: Indirizzo e-mail del dipendente non trovato, e-mail non inviata",
{0}: From {0} of type {1},{0}: da {0} di tipo {1},
{0}: From {1},{0}: da {1},
{0}: {1} does not exists,{0}: {1} non esiste,
{0}: {1} not found in Invoice Details table,{0}: {1} non trovato in tabella Dettagli Fattura,
{} of {},{} di {},
Chat,Chat,
Completed By,Completato da,
Conditions,condizioni,
County,contea,
Day of Week,Giorno della settimana,
"Dear System Manager,","Spettabile Responsabile di Sistema,",
Default Value,Valore predefinito,
Email Group,Email Group,
Fieldtype,Tipo di campo,
ID,ID,
Images,immagini,
Import,Importazione,
Office,Ufficio,
Passive,Passivo,
Percent,Percentuale,
Permanent,Permanente,
Personal,Personale,
Plant,Impianto,
Post,Messaggio,
Postal,postale,
Postal Code,codice postale,
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},
Values Changed,valori modificati,
or,oppure,
Ageing Range 4,Intervallo di invecchiamento 4,
Allocated amount cannot be greater than unadjusted amount,L&#39;importo assegnato non può essere superiore all&#39;importo non rettificato,
Allocated amount cannot be negative,L&#39;importo assegnato non può essere negativo,
"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Il Conto differenze deve essere un account di tipo Attivo / Responsabilità, poiché questa Voce di magazzino è una Voce iniziale",
Error in some rows,Errore in alcune righe,
Import Successful,Importazione riuscita,
Please save first,Si prega di salvare prima,
Price not found for item {0} in price list {1},Prezzo non trovato per l&#39;articolo {0} nel listino prezzi {1},
Warehouse Type,Tipo di magazzino,
'Date' is required,È richiesta la &quot;data&quot;,
Benefit,Beneficiare,
Budgets,i bilanci,
Bundle Qty,Qtà del pacco,
Company GSTIN,Azienda GSTIN,
Company field is required,È richiesto il campo dell&#39;azienda,
Creating Dimensions...,Creazione di quote ...,
Duplicate entry against the item code {0} and manufacturer {1},Voce duplicata rispetto al codice articolo {0} e al produttore {1},
Import Chart Of Accounts from CSV / Excel files,Importa piano dei conti da file CSV / Excel,
Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,GSTIN non valido! L&#39;input inserito non corrisponde al formato GSTIN per titolari UIN o provider di servizi OIDAR non residenti,
Invoice Grand Total,Totale totale fattura,
Last carbon check date cannot be a future date,La data dell&#39;ultima verifica del carbonio non può essere una data futura,
Make Stock Entry,Effettuare una registrazione di magazzino,
Quality Feedback,Feedback sulla qualità,
Quality Feedback Template,Modello di feedback sulla qualità,
Rules for applying different promotional schemes.,Regole per l&#39;applicazione di diversi schemi promozionali.,
Shift,Cambio,
Show {0},Mostra {0},
"Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Caratteri speciali tranne &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; E &quot;}&quot; non consentiti nelle serie di nomi",
Target Details,Dettagli target,
{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,
From Date,Da Data,
Group By,Raggruppare per,
Importing {0} of {1},Importazione di {0} di {1},
Last Sync On,Ultima sincronizzazione attivata,
Naming Series,Denominazione Serie,
No data to export,Nessun dato da esportare,
Print Heading,Intestazione di stampa,
Video,video,
% 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 Unpledge, loan security value is greater than the repaid amount","Impossibile sbloccare, il valore di sicurezza del prestito è superiore all&#39;importo rimborsato",
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",
Cannot unpledge more than {0} qty of {0},Impossibile sbloccare più di {0} qty di {0},
"Capacity Planning Error, planned start time can not be same as end time","Errore di pianificazione della capacità, l&#39;ora di inizio pianificata non può coincidere con l&#39;ora di fine",
Categories,categorie,
Changes in {0},Modifiche in {0},
Chart,Grafico,
Choose a corresponding payment,Scegli un pagamento corrispondente,
Click on the link below to verify your email and confirm the appointment,Fai clic sul link in basso per verificare la tua email e confermare l&#39;appuntamento,
Close,Chiudi,
Communication,Comunicazione,
Compact Item Print,Compact elemento di stampa,
Company,Azienda,
Company of asset {0} and purchase document {1} doesn't matches.,La società dell&#39;asset {0} e il documento di acquisto {1} non corrispondono.,
Compare BOMs for changes in Raw Materials and Operations,Confronta le distinte base per le modifiche alle materie prime e alle operazioni,
Compare List function takes on list arguments,La funzione Confronta elenco accetta argomenti dell&#39;elenco,
Complete,Completare,
Completed,Completato,
Completed Quantity,Quantità completata,
Connect your Exotel Account to ERPNext and track call logs,Collega il tuo account Exotel a ERPNext e traccia i registri delle chiamate,
Connect your bank accounts to ERPNext,Collega i tuoi conti bancari a ERPNext,
Contact Seller,Contatta il venditore,
Continue,Continuare,
Cost Center: {0} does not exist,Centro di costo: {0} non esiste,
Couldn't Set Service Level Agreement {0}.,Impossibile impostare l&#39;accordo sul livello di servizio {0}.,
Country,Paese,
Country Code in File does not match with country code set up in the system,Il codice paese nel file non corrisponde al codice paese impostato nel sistema,
Create New Contact,Crea nuovo contatto,
Create New Lead,Crea nuovo lead,
Create Pick List,Crea elenco di prelievo,
Create Quality Inspection for Item {0},Crea controllo di qualità per l&#39;articolo {0},
Creating Accounts...,Creazione di account ...,
Creating bank entries...,Creazione di registrazioni bancarie ...,
Creating {0},Creazione di {0},
Credit limit is already defined for the Company {0},Il limite di credito è già definito per la società {0},
Ctrl + Enter to submit,Ctrl + Invio per inviare,
Ctrl+Enter to submit,Ctrl + Invio per inviare,
Currency,Valuta,
Current Status,Stato Corrente,
Customer PO,PO cliente,
Customize,Personalizza,
Daily,Giornaliero,
Date,Data,
Date Range,Intervallo di date,
Date of Birth cannot be greater than Joining Date.,La data di nascita non può essere superiore alla data di iscrizione.,
Dear,Gentile,
Default,Predefinito,
Define coupon codes.,Definire i codici coupon.,
Delayed Days,Giorni in ritardo,
Delete,Elimina,
Delivered Quantity,Quantità consegnata,
Delivery Notes,Bolle di consegna,
Depreciated Amount,Ammortamento,
Description,Descrizione,
Designation,Designazione,
Difference Value,Differenza Valore,
Dimension Filter,Filtro dimensionale,
Disabled,Disabilitato,
Disbursed Amount cannot be greater than loan amount,L&#39;importo erogato non può essere superiore all&#39;importo del prestito,
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,
Finished Product,Prodotto finito,
Finished Qty,Qtà Finita,
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 date can not be greater than than To date,Da data non può essere maggiore di Fino a data,
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,
Interest Amount is mandatory,L&#39;importo degli interessi è obbligatorio,
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.,
Items are required to pull the raw materials which is associated with it.,Gli articoli sono necessari per estrarre le materie prime ad esso associate.,
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 Company and Loan Company must be same,Prestito Security Pledge Company e Prestito Company devono essere uguali,
Loan Security Pledge Created : {0},Pegno di sicurezza del prestito creato: {0},
Loan Security Pledge already pledged against loan {0},Pegno di sicurezza del prestito già promesso contro il prestito {0},
Loan Security Pledge is mandatory for secured loan,Il prestito di garanzia è obbligatorio per il prestito garantito,
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:,
Offline,disconnesso,
On Converting Opportunity,Sulla conversione di opportunità,
On Purchase Order Submission,Alla presentazione dell&#39;ordine d&#39;acquisto,
On Sales Order Submission,All&#39;invio dell&#39;ordine cliente,
On Task Completion,Al completamento dell&#39;attività,
On {0} Creation,Su {0} Creazione,
Only .csv and .xlsx files are supported currently,Attualmente sono supportati solo i file .csv e .xlsx,
Only expired allocation can be cancelled,È possibile annullare solo l&#39;allocazione scaduta,
Only users with the {0} role can create backdated leave applications,Solo gli utenti con il ruolo {0} possono creare applicazioni congedo retrodatate,
Open,Aperto,
Open Contact,Apri contatto,
Open Lead,Piombo aperto,
Opening and Closing,Apertura e chiusura,
Operating Cost as per Work Order / BOM,Costo operativo secondo l&#39;ordine di lavoro / distinta base,
Order Amount,Ammontare dell&#39;ordine,
Page {0} of {1},Pagina {0} di {1},
Paid amount cannot be less than {0},L&#39;importo pagato non può essere inferiore a {0},
Parent Company must be a group company,La Capogruppo deve essere una società del gruppo,
Passing Score value should be between 0 and 100,Il valore del punteggio superato deve essere compreso tra 0 e 100,
Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,La politica delle password non può contenere spazi o trattini simultanei. Il formato verrà ristrutturato automaticamente,
Patient History,Storia del paziente,
Pause,Pausa,
Pay,Paga,
Payment Document Type,Tipo di documento di pagamento,
Payment Name,Nome pagamento,
Penalty Amount,Importo della penalità,
Pending,In attesa,
Performance,Prestazione,
Period based On,Periodo basato su,
Perpetual inventory required for the company {0} to view this report.,Spazio pubblicitario perpetuo richiesto per la società {0} per visualizzare questo rapporto.,
Phone,Telefono,
Pick List,Lista da cui scegliere,
Plaid authentication error,Errore di autenticazione plaid,
Plaid public token error,Errore token pubblico plaid,
Plaid transactions sync error,Errore di sincronizzazione delle transazioni del plaid,
Please check the error log for details about the import errors,Controllare il registro degli errori per i dettagli sugli errori di importazione,
Please click on the following link to set your new password,Cliccate sul link seguente per impostare la nuova password,
Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Crea le <b>impostazioni DATEV</b> per l&#39;azienda <b>{}</b> .,
Please create adjustment Journal Entry for amount {0} ,Crea una registrazione prima nota di rettifica per l&#39;importo {0},
Please do not create more than 500 items at a time,Non creare più di 500 elementi alla volta,
Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Inserisci un <b>Conto differenze</b> o imposta un <b>Conto di adeguamento stock</b> predefinito per la società {0},
Please enter GSTIN and state for the Company Address {0},Inserisci GSTIN e indica l&#39;indirizzo dell&#39;azienda {0},
Please enter Item Code to get item taxes,Inserisci il codice articolo per ottenere le tasse articolo,
Please enter Warehouse and Date,Inserisci il magazzino e la data,
Please enter coupon code !!,Inserisci il codice coupon !!,
Please enter the designation,Si prega di inserire la designazione,
Please enter valid coupon code !!,Inserisci un codice coupon valido !!,
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.,
Response Time for {0} at index {1} can't be greater than Resolution Time.,Il tempo di risposta per {0} all&#39;indice {1} non può essere superiore al tempo di risoluzione.,
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,
Scheduled and Admitted dates can not be less than today,Le date programmate e ammesse non possono essere inferiori a oggi,
Search Items ...,Cerca articoli ...,
Search for a payment,Cerca un pagamento,
Search for anything ...,Cerca qualcosa ...,
Search results for,cerca risultati per,
Select All,Seleziona tutto,
Select Difference Account,Seleziona Conto differenze,
Select a Default Priority.,Seleziona una priorità predefinita.,
Select a Supplier from the Default Supplier List of the items below.,Selezionare un fornitore dall&#39;elenco fornitori predefinito degli articoli di seguito.,
Select a company,Seleziona un&#39;azienda,
Select finance book for the item {0} at row {1},Seleziona il libro finanziario per l&#39;articolo {0} alla riga {1},
Select only one Priority as Default.,Seleziona solo una priorità come predefinita.,
Seller Information,Informazioni del venditore,
Send,Invia,
Send a message,Mandare un messaggio,
Sending,invio,
Sends Mails to lead or contact based on a Campaign schedule,Invia email per guidare o contattare in base a una pianificazione della campagna,
Serial Number Created,Numero di serie creato,
Serial Numbers Created,Numeri di serie creati,
Serial no(s) required for serialized item {0},Numero (i) seriale (i) richiesto (i) per l&#39;articolo serializzato {0},
Series,Serie,
Server Error,Errore del server,
Service Level Agreement has been changed to {0}.,L&#39;accordo sul livello di servizio è stato modificato in {0}.,
Service Level Agreement tracking is not enabled.,Il rilevamento dell&#39;accordo sul livello di servizio non è abilitato.,
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 Response Time and Resolution for Priority {0} at index {1}.,Imposta tempo di risposta e risoluzione per priorità {0} all&#39;indice {1}.,
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.,
"Sorry,coupon code are exhausted","Siamo spiacenti, il codice coupon è esaurito",
"Sorry,coupon code validity has expired","Siamo spiacenti, la validità del codice coupon è scaduta",
"Sorry,coupon code validity has not started","Siamo spiacenti, la validità del codice coupon non è iniziata",
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}).,
The value {0} is already assigned to an exisiting Item {2}.,Il valore {0} è già assegnato a un elemento esistente {2}.,
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,giovedi,
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},
"Valuation rate not found for the Item {0}, which is required to do accounting entries for {1} {2}. If the item is transacting as a zero valuation rate item in the {1}, please mention that in the {1} Item table. Otherwise, please create an incoming stock transaction for the item or mention valuation rate in the Item record, and then try submiting / cancelling this entry.","Tasso di valutazione non trovato per l&#39;articolo {0}, necessario per effettuare registrazioni contabili per {1} {2}. Se l&#39;articolo sta effettuando transazioni come articolo a tasso di valutazione zero in {1}, ricordalo nella tabella degli articoli {1}. In caso contrario, creare una transazione di magazzino in entrata per l&#39;articolo o menzionare il tasso di valutazione nel record Articolo, quindi provare a inviare / annullare questa voce.",
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 can't create accounting entries in the closed accounting period {0},Non è possibile creare voci contabili nel periodo contabile chiuso {0},
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:,
Zero qty of {0} pledged against loan {0},Quantità zero di {0} impegnata a fronte di un prestito {0},
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} units of {1} is not available.,{0} unità di {1} non sono disponibili.,
{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,
Center,Centro,
Clear,Chiaro,
Comment,Commento,
Comments,Commenti,
Download,Scarica,
Left,Sinistra,
Link,collegamento,
New,Nuovo,
Not Found,Non trovato,
Print,Stampa,
Reference Name,nome di riferimento,
Refresh,Aggiorna,
Success,Successo,
Time,Tempo,
Value,Valore,
Actual,Effettivo,
Add to Cart,Aggiungi al carrello,
Days Since Last Order,Giorni dall&#39;ultimo ordine,
In Stock,In Magazzino,
Loan Amount is mandatory,L&#39;importo del prestito è obbligatorio,
Mode Of Payment,Modalità di pagamento,
No students Found,Nessuno studente trovato,
Not in Stock,Non in Stock,
Please select a Customer,Si prega di selezionare un cliente,
Printed On,Stampato su,
Received From,Ricevuto da,
Sales Person,Venditore,
To date cannot be before From date,'A Data' deve essere successiva a 'Da Data',
Write Off,Svalutazione,
{0} Created,{0} Creato,
Email Id,ID Email,
No,No,
Reference Doctype,Riferimento DocType,
User Id,ID utente,
Yes,sì,
Actual ,Attuale,
Add to cart,Aggiungi al carrello,
Budget,Budget,
Chart Of Accounts Importer,Importatore del piano dei conti,
Chart of Accounts,Piano dei conti,
Customer database.,Database clienti.,
Days Since Last order,Giorni dall'ultimo ordine,
Download as JSON,Scarica come JSON,
End date can not be less than start date,Data di Fine non può essere inferiore a Data di inizio,
For Default Supplier (Optional),Per fornitore predefinito (facoltativo),
From date cannot be greater than To date,Dalla data non può essere maggiore di Alla data,
Get items from,Ottenere elementi dal,
Group by,Raggruppa per,
In stock,disponibile,
Item name,Nome Articolo,
Loan amount is mandatory,L&#39;importo del prestito è obbligatorio,
Minimum Qty,Qtà minima,
More details,Maggiori dettagli,
Nature of Supplies,Natura dei rifornimenti,
No Items found.,Nessun articolo trovato.,
No employee found,Nessun dipendente trovato,
No students found,Nessun studenti hanno trovato,
Not in stock,Non in magazzino,
Not permitted,Non consentito,
Open Issues ,Problemi Aperti,
Open Projects ,Progetti aperti,
Open To Do ,Aperto per fare,
Operation Id,ID operazione,
Partially ordered,Parzialmente ordinato,
Please select company first,Si prega di selezionare prima la società,
Please select patient,Si prega di selezionare Paziente,
Printed On ,Stampato su,
Projected qty,Qtà proiettata,
Sales person,Addetto alle vendite,
Serial No {0} Created,Serial No {0} creato,
Set as default,Imposta come predefinito,
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,
Write off Amount,Importo 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,
Purchase Order Required,Ordine di Acquisto Obbligatorio,
Purchase Receipt Required,Ricevuta di Acquisto necessaria,
Requested,richiesto,
YouTube,Youtube,
Vimeo,Vimeo,
Publish Date,Data di pubblicazione,
Duration,Durata,
Advanced Settings,Impostazioni avanzate,
Path,Percorso,
Components,componenti,
Verified By,Verificato da,
Maintain Same Rate Throughout Sales Cycle,Mantenere lo stesso prezzo per tutto il ciclo di vendita,
Must be Whole Number,Deve essere un Numero Intero,
GL Entry,GL Entry,
Fee Validity,Validità della tariffa,
Dosage Form,Forma di dosaggio,
Patient Medical Record,Registro medico paziente,
Total Completed Qty,Qtà totale completata,
Qty to Manufacture,Qtà da Produrre,
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,
Check Availability,Verificare la disponibilità,
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,
Old Parent,Vecchio genitore,
Include in gross,Includi in lordo,
Auditor,Ispettore,
Accounting Dimension,Dimensione contabile,
Dimension Name,Nome dimensione,
Dimension Defaults,Valori predefiniti,
Accounting Dimension Detail,Dettaglio dimensione contabile,
Default Dimension,Dimensione predefinita,
Mandatory For Balance Sheet,Obbligatorio per il bilancio,
Mandatory For Profit and Loss Account,Conto profitti e perdite obbligatorio,
Accounting Period,Periodo contabile,
Period Name,Nome del periodo,
Closed Documents,Documenti chiusi,
Accounts Settings,Impostazioni Conti,
Settings for Accounts,Impostazioni per gli account,
Make Accounting Entry For Every Stock Movement,Crea una voce contabile per ogni movimento di scorta,
"If enabled, the system will post accounting entries for inventory automatically.","Se abilitato, il sistema pubblicherà le scritture contabili per l&#39;inventario automatico.",
Accounts Frozen Upto,Conti congelati fino al,
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Registrazione contabile congelato fino a questa data, nessuno può / Modifica voce eccetto ruolo specificato di seguito.",
Role Allowed to Set Frozen Accounts & Edit Frozen Entries,Ruolo permesso di impostare conti congelati e modificare le voci congelati,
Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Gli utenti con questo ruolo sono autorizzati a impostare conti congelati e creare / modificare le voci contabili nei confronti di conti congelati,
Determine Address Tax Category From,Determinare la categoria di imposta indirizzo da,
Address used to determine Tax Category in transactions.,Indirizzo utilizzato per determinare la categoria fiscale nelle transazioni.,
Over Billing Allowance (%),Indennità di fatturazione eccessiva (%),
Percentage you are allowed to bill more against the amount ordered. For example: If the order value is $100 for an item and tolerance is set as 10% then you are allowed to bill for $110.,"Percentuale che ti è consentita di fatturare di più rispetto all&#39;importo ordinato. Ad esempio: se il valore dell&#39;ordine è $ 100 per un articolo e la tolleranza è impostata sul 10%, è possibile fatturare $ 110.",
Credit Controller,Controllare Credito,
Role that is allowed to submit transactions that exceed credit limits set.,Ruolo che è consentito di presentare le transazioni che superano i limiti di credito stabiliti.,
Check Supplier Invoice Number Uniqueness,Controllare l'unicità del numero fattura fornitore,
Make Payment via Journal Entry,Effettua il pagamento tramite Registrazione Contabile,
Unlink Payment on Cancellation of Invoice,Scollegare il pagamento per la cancellazione della fattura,
Unlink Advance Payment on Cancelation of Order,Scollega pagamento anticipato in caso di annullamento dell&#39;ordine,
Book Asset Depreciation Entry Automatically,Apprendere automaticamente l&#39;ammortamento dell&#39;attivo,
Allow Cost Center In Entry of Balance Sheet Account,Consenti centro costi nell&#39;iscrizione dell&#39;account di bilancio,
Automatically Add Taxes and Charges from Item Tax Template,Aggiungi automaticamente imposte e addebiti dal modello imposta articolo,
Automatically Fetch Payment Terms,Recupera automaticamente i termini di pagamento,
Show Inclusive Tax In Print,Mostra imposta inclusiva nella stampa,
Show Payment Schedule in Print,Mostra programma pagamenti in stampa,
Currency Exchange Settings,Impostazioni di cambio valuta,
Allow Stale Exchange Rates,Consenti tariffe scadenti,
Stale Days,Giorni Stalli,
Report Settings,Segnala Impostazioni,
Use Custom Cash Flow Format,Usa il formato del flusso di cassa personalizzato,
Only select if you have setup Cash Flow Mapper documents,Seleziona solo se hai impostato i documenti del Flow Flow Mapper,
Allowed To Transact With,Autorizzato a effettuare transazioni con,
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 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,
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,
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,
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,
Maximum Use,Massimo utilizzo,
Used,Usato,
Coupon Description,Descrizione del coupon,
Discounted Invoice,Fattura scontata,
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,
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,
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,
Payment Terms Template Detail,Termini di pagamento Dettagli del modello,
Closing Fiscal Year,Chiusura Anno Fiscale,
Closing Account Head,Chiudere Conto Primario,
"The account head under Liability or Equity, in which Profit/Loss will be booked","L&#39;account testa sotto responsabilità o di capitale, in cui sarà prenotato Utile / Perdita",
POS Customer Group,POS Gruppi clienti,
POS Field,Campo POS,
POS Item Group,POS Gruppo Articolo,
[Select],[Seleziona],
Company Address,indirizzo aziendale,
Update Stock,Aggiornare Giacenza,
Ignore Pricing Rule,Ignora regola tariffaria,
Allow user to edit Rate,Consenti all'utente di modificare il Tasso,
Allow user to edit Discount,Consenti all&#39;utente di modificare lo sconto,
Allow Print Before Pay,Consenti stampa prima del pagamento,
Display Items In Stock,Mostra articoli in magazzino,
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,
Print Format for Online,Formato di stampa per Online,
Offline POS Settings,Impostazioni POS offline,
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,
Use POS in Offline Mode,Utilizza POS in modalità Offline,
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),
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,
"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.,
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,
Price Determination,Determinazione del prezzo,
Fixed rate,Tasso fisso,
Based on price list,Basato sul listino prezzi,
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,
Cancel Invoice After Grace Period,Annulla fattura dopo periodo di tolleranza,
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,
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,
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,
Depreciation Start Date,Data di inizio ammortamento,
Expected Value After Useful Life,Valore atteso After Life utile,
Rate of Depreciation,Tasso di ammortamento,
In Percentage,In percentuale,
Select Serial No,Seleziona numero di serie,
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,
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,
Next Due Date,Prossima data di scadenza,
Last Completion Date,Ultima data di completamento,
Asset Maintenance Team,Asset Maintenance Team,
Maintenance Team Name,Nome del team di manutenzione,
Maintenance Team Members,Membri del team di manutenzione,
Purpose,Scopo,
Stock Manager,Responsabile di magazzino,
Asset Movement Item,Articolo movimento movimento,
Source Location,Posizione di origine,
From Employee,Da Dipendente,
Target Location,Posizione di destinazione,
To Employee,Al Dipendente,
Asset Repair,Riparazione delle risorse,
ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
Failure Date,Data di fallimento,
Assign To Name,Assegna a nome,
Repair Status,Stato di riparazione,
Error Description,Descrizione dell&#39;errore,
Downtime,I tempi di inattività,
Repair Cost,costo di riparazione,
Manufacturing Manager,Responsabile di produzione,
Current Asset Value,Valore patrimoniale corrente,
New Asset Value,Nuovo valore patrimoniale,
Make Depreciation Entry,Crea una scrittura per l'ammortamento,
Finance Book Id,Id del libro finanziario,
Location Name,Nome del luogo,
Parent Location,Posizione padre,
Is Container,È contenitore,
Check if it is a hydroponic unit,Controlla se è un&#39;unità idroponica,
Location Details,Dettagli della Posizione,
Latitude,Latitudine,
Longitude,Longitudine,
Area,La zona,
Area UOM,Area UOM,
Tree Details,Dettagli Albero,
Maintenance Team Member,Membro del team di manutenzione,
Team Member,Membro della squadra,
Maintenance Role,Ruolo di manutenzione,
Buying Settings,Impostazioni Acquisto,
Settings for Buying Module,Impostazioni per il Modulo Acquisti,
Supplier Naming By,Creare il Nome Fornitore da,
Default Supplier Group,Gruppo di fornitori predefinito,
Default Buying Price List,Prezzo di acquisto predefinito,
Maintain same rate throughout purchase cycle,Mantenere la stessa tariffa per l'intero ciclo di acquisto,
Allow Item to be added multiple times in a transaction,Consenti di aggiungere lo stesso articolo più volte in una transazione,
Backflush Raw Materials of Subcontract Based On,Backflush Materie prime di subappalto basati su,
Material Transferred for Subcontract,Materiale trasferito per conto lavoro,
Over Transfer Allowance (%),Assegno di trasferimento eccessivo (%),
Percentage you are allowed to transfer more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to transfer 110 units.,"Percentuale che ti è consentito trasferire di più rispetto alla quantità ordinata. Ad esempio: se hai ordinato 100 unità. e la tua indennità è del 10%, ti è permesso trasferire 110 unità.",
PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
Get Items from Open Material Requests,Ottenere elementi dal Richieste Aperto Materiale,
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,
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,
% Billed,% Fatturato,
% Received,% Ricevuto,
Ref SQ,Rif. SQ,
Inter Company Order Reference,Riferimento ordine interaziendale,
Supplier Part Number,Numero di articolo del fornitore,
Billed Amt,Importo Fatturato,
Warehouse and Reference,Magazzino e Riferimenti,
To be delivered to customer,Da consegnare al cliente,
Material Request Item,Voce di richiesta materiale,
Supplier Quotation Item,Articolo Fornitore del Preventivo,
Against Blanket Order,Contro l&#39;ordine generale,
Blanket Order,Ordine generale,
Blanket Order Rate,Tariffa ordine coperta,
Returned Qty,Tornati Quantità,
Purchase Order Item Supplied,Articolo dell'Ordine di Acquisto Fornito,
BOM Detail No,Dettaglio BOM N.,
Stock Uom,UdM Giacenza,
Raw Material Item Code,Codice Articolo Materia Prima,
Supplied Qty,Dotazione Qtà,
Purchase Receipt Item Supplied,Ricevuta di Acquisto Articolo Fornito,
Current Stock,Giacenza Corrente,
PUR-RFQ-.YYYY.-,PUR-RFQ-.YYYY.-,
For individual supplier,Per singolo fornitore,
Supplier Detail,Dettaglio del Fornitore,
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,
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,
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 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,
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 Contattaci,
From Customer,Da Cliente,
Campaign Name,Nome Campagna,
Follow Up,Seguito,
Next Contact By,Contatto Successivo Con,
Next Contact Date,Data del contatto successivo,
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,
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,
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,
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,
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.",
Instructor Records to be created by,Istruttore Record da creare da,
Employee Number,Numero Dipendente,
LMS Settings,Impostazioni LMS,
Enable LMS,Abilita LMS,
LMS Title,Titolo LMS,
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,
Student Admission,L&#39;ammissione degli studenti,
Application Form Route,Modulo di domanda di percorso,
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,
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,
Will show the student as Present in Student Monthly Attendance Report,Mostrerà lo studente come presente nel Presenze Monthly Report,
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,
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,
AU,AU,
BR,BR,
CA,circa,
CN,CN,
DE,DE,
ES,ES,
FR,FR,
JP,JP,
IT,IT,
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,
Get financial breakup of Taxes and charges data by Amazon ,Ottieni una rottura finanziaria delle tasse e carica i dati di Amazon,
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.,
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 Public Key,Chiave pubblica plaid,
Plaid Environment,Ambiente plaid,
sandbox,sandbox,
development,sviluppo,
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,
"If Shopify not contains a customer in Order, then while syncing Orders, the system will consider default customer for order","Se Shopify non contiene un cliente nell&#39;ordine, durante la sincronizzazione degli ordini, il sistema considererà il cliente predefinito per l&#39;ordine",
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,
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,
Tally Debtors Account,Conto dei debitori di Tally,
Tally Company,Tally Company,
ERPNext Company,Azienda ERPSucc,
Processed Files,File elaborati,
Parties,parti,
UOMs,Unità di Misure,
Vouchers,Buoni,
Round Off Account,Arrotondamento Account,
Day Book Data,Dati del libro diurno,
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,
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,
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,
Collection Details,Dettagli raccolta,
Codification Table,Tabella di codificazione,
Complaints,"Denunce, contestazioni",
Dosage Strength,Forza di dosaggio,
Strength,Forza,
Drug Prescription,Prescrizione di farmaci,
Dosage,Dosaggio,
Dosage by Time Interval,Dosaggio per intervallo di tempo,
Interval,Intervallo,
Interval UOM,Intervallo UOM,
Hour,Ora,
Update Schedule,Aggiorna la pianificazione,
Max number of visit,Numero massimo di visite,
Visited yet,Visitato ancora,
Mobile,Mobile,
Phone (R),Telefono (R),
Phone (Office),Telefono (Ufficio),
Hospital,Ospedale,
Appointments,Appuntamenti,
Practitioner Schedules,Orari del praticante,
Charges,oneri,
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,
"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,
Registration Fee,Commissione di iscrizione,
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,
Valid Number of Days,Numero di giorni validi,
Clinical Procedure Consumable Item,Articolo di consumo della procedura clinica,
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.,
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,
Employee name and designation in print,Nome e designazione del dipendente in stampa,
Custom Signature in Print,Firma personalizzata in stampa,
Laboratory SMS Alerts,Laboratorio SMS Avvisi,
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,
Discharge Note,Nota di scarico,
Lab Prescription,Prescrizione di laboratorio,
Test Created,Test creati,
LP-,LP-,
Submitted Date,Data di invio,
Approved Date,Data approvazione,
Sample ID,ID del campione,
Lab Technician,Tecnico di laboratorio,
Technician Name,Nome tecnico,
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,
Lab Test Groups,Gruppi di test del laboratorio,
Add Test,Aggiungi Test,
Add new line,Aggiungi nuova riga,
Normal Range,Intervallo normale,
Result Format,Formato risultato,
"Single for results which require only a single input, result UOM and normal value \n<br>\nCompound for results which require multiple input fields with corresponding event names, result UOMs and normal values\n<br>\nDescriptive for tests which have multiple result components and corresponding result entry fields. \n<br>\nGrouped for test templates which are a group of other test templates.\n<br>\nNo Result for tests with no results. Also, no Lab Test is created. e.g.. Sub Tests for Grouped results.","Singolo per i risultati che richiedono solo un singolo ingresso, risultato UOM e valore normale <br> Compound per risultati che richiedono più campi di input con nomi di eventi corrispondenti, risultati UOM e valori normali <br> Descrittivo per test che dispongono di più componenti di risultato e campi di inserimento dei risultati corrispondenti. <br> Raggruppati per i modelli di prova che sono un gruppo di altri modelli di test. <br> Nessun risultato per test senza risultati. Inoltre, non viene creato alcun test di laboratorio. per esempio. Sub test per risultati raggruppati.",
Single,Singolo,
Compound,Composto,
Descriptive,Descrittivo,
Grouped,raggruppate,
No Result,Nessun risultato,
"If unchecked, the item wont be appear in Sales Invoice, but can be used in group test creation. ","Se non è selezionato, l&#39;elemento non verrà visualizzato in fattura di vendita, ma può essere utilizzato nella creazione di test di gruppo.",
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,
Special,Speciale,
Normal Test Items,Elementi di prova normali,
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.-,
Inpatient Status,Stato di ricovero,
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,
Patient Age,Età del paziente,
More Info,Ulteriori Informazioni,
Referring Practitioner,Referente Practitioner,
Reminded,ricordato,
Parameters,parametri,
HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
Encounter Date,Data dell&#39;incontro,
Encounter Time,Tempo di incontro,
Encounter Impression,Incontro impressione,
In print,In stampa,
Medical Coding,Codifica medica,
Procedures,procedure,
Review Details,Dettagli di revisione,
HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
Spouse,Sposa,
Family,Famiglia,
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,
Collected Time,Tempo raccolto,
No. of print,Numero di stampa,
Sensitivity Test Items,Test di sensibilità,
Special Test Items,Articoli speciali di prova,
Particulars,Particolari,
Special Test Template,Modello di prova speciale,
Result Component,Componente risultato,
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,
Calculate Total Score,Calcola il punteggio totale,
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,
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,
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 Approvers,Responsabili ferie,
Leave Approver,Responsabile Ferie,
The first Leave Approver in the list will be set as the default Leave Approver.,Il primo Approvatore di approvazione nell&#39;elenco verrà impostato come Approvatore di uscita predefinito.,
Expense Approvers,Approvvigionatori di spese,
Expense Approver,Responsabile Spese,
The first Expense Approver in the list will be set as the default Expense Approver.,Il primo approvatore di spesa nell&#39;elenco verrà impostato come Approvatore spese predefinito.,
Department Approver,Approvazione del dipartimento,
Approver,Responsabile / Approvatore,
Required Skills,Competenze richieste,
Skills,Abilità,
Designation Skill,Abilità di designazione,
Skill,Abilità,
Driver,autista,
HR-DRI-.YYYY.-,HR-DRI-.YYYY.-,
Suspended,Sospeso,
Transporter,Trasportatore,
Applicable for external driver,Applicabile per driver esterno,
Cellphone Number,Numero di cellulare,
License Details,Dettagli della licenza,
License Number,Numero di licenza,
Issuing Date,Data di rilascio,
Driving License Categories,Categorie di patenti di guida,
Driving License Category,Categoria di patente di guida,
Fleet Manager,Responsabile flotta aziendale,
Driver licence class,Classe di patente di guida,
HR-EMP-,HR-EMP-,
Employment Type,Tipo Dipendente,
Emergency Contact,Contatto di emergenza,
Emergency Contact Name,Nominativo per Contatto di Emergenza,
Emergency Phone,Telefono di emergenza,
ERPNext User,ERPNext Utente,
"System User (login) ID. If set, it will become default for all HR forms.","Utente di sistema (login) ID. Se impostato, esso diventerà di default per tutti i moduli HR.",
Create User Permission,Crea autorizzazione utente,
This will restrict user access to other employee records,Ciò limiterà l&#39;accesso degli utenti ad altri record dei dipendenti,
Joining Details,Unire i dettagli,
Offer Date,Data dell'offerta,
Confirmation Date,Data di conferma,
Contract End Date,Data fine Contratto,
Notice (days),Avviso ( giorni ),
Date Of Retirement,Data di pensionamento,
Department and Grade,Dipartimento e grado,
Reports to,Report a,
Attendance and Leave Details,Presenze e dettagli sui dettagli,
Leave Policy,Lascia politica,
Attendance Device ID (Biometric/RF tag ID),ID dispositivo presenze (ID tag biometrico / RF),
Applicable Holiday List,Lista Vacanze Applicabile,
Default Shift,Spostamento predefinito,
Salary Details,Dettagli del salario,
Salary Mode,Modalità di stipendio,
Bank A/C No.,Conto Bancario N.,
Health Insurance,Assicurazione sanitaria,
Health Insurance Provider,Fornitore dell'assicurazione sanitaria,
Health Insurance No,Assicurazione sanitaria n,
Prefered Email,Email Preferenziale,
Personal Email,Email personale,
Permanent Address Is,Indirizzo permanente è,
Rented,Affittato,
Owned,Di proprietà,
Permanent Address,Indirizzo permanente,
Prefered Contact Email,Contatto email preferenziale,
Company Email,Email aziendale,
Provide Email Address registered in company,Fornire l&#39;indirizzo e-mail registrato in compagnia,
Current Address Is,Indirizzo attuale è,
Current Address,Indirizzo Corrente,
Personal Bio,Bio personale,
Bio / Cover Letter,Biografia / Lettera di copertura,
Short biography for website and other publications.,Breve biografia per il sito web e altre pubblicazioni.,
Passport Number,Numero di passaporto,
Date of Issue,Data di Pubblicazione,
Place of Issue,Luogo di emissione,
Widowed,Vedovo,
Family Background,Sfondo Famiglia,
"Here you can maintain family details like name and occupation of parent, spouse and children","Qui è possibile mantenere i dettagli della famiglia come il nome e l'occupazione del genitore, coniuge e figli",
Health Details,Dettagli Salute,
"Here you can maintain height, weight, allergies, medical concerns etc","Qui è possibile mantenere l'altezza, il peso, le allergie, le preoccupazioni mediche ecc",
Educational Qualification,Titolo di Studio,
Previous Work Experience,Precedente Esperienza Lavoro,
External Work History,Storia del lavoro esterno,
History In Company,Storia aziendale,
Internal Work History,Storia di lavoro interni,
Resignation Letter Date,Lettera di dimissioni Data,
Relieving Date,Alleviare Data,
Reason for Leaving,Motivo per Lasciare,
Leave Encashed?,Lascia non incassati?,
Encashment Date,Data Incasso,
Exit Interview Details,Uscire Dettagli Intervista,
Held On,Tenutasi il,
Reason for Resignation,Motivo della Dimissioni,
Better Prospects,Prospettive Migliori,
Health Concerns,Preoccupazioni per la salute,
New Workplace,Nuovo posto di lavoro,
HR-EAD-.YYYY.-,HR-EAD-.YYYY.-,
Due Advance Amount,Importo anticipato dovuto,
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 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,
Expense Claim Account,Conto spese rivendicazione,
Expense Claim Advance,Addebito reclamo spese,
Unclaimed amount,Importo non reclamato,
Expense Claim Detail,Dettaglio Rimborso Spese,
Expense Date,Data Spesa,
Expense Claim Type,Tipo Rimborso Spese,
Holiday List Name,Nome elenco vacanza,
Total Holidays,Totale delle vacanze,
Add Weekly Holidays,Aggiungi festività settimanali,
Weekly Off,Settimanale Off,
Add to Holidays,Aggiungi alle vacanze,
Holidays,Vacanze,
Clear Table,Pulisci Tabella,
HR Settings,Impostazioni HR,
Employee Settings,Impostazioni dipendente,
Retirement Age,Età di pensionamento,
Enter retirement age in years,Inserire l&#39;età pensionabile in anni,
Employee Records to be created by,Informazioni del dipendenti da creare a cura di,
Employee record is created using selected field. ,Record dipendente viene creato utilizzando campo selezionato.,
Stop Birthday Reminders,Arresto Compleanno Promemoria,
Don't send Employee Birthday Reminders,Non inviare Dipendente Birthday Reminders,
Expense Approver Mandatory In Expense Claim,Approvazione dell&#39;approvazione obbligatoria nel rimborso spese,
Payroll Settings,Impostazioni Payroll,
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",
Email Salary Slip to Employee,E-mail busta paga per i dipendenti,
Emails salary slip to employee based on preferred email selected in Employee,Messaggi di posta elettronica stipendio slittamento al dipendente sulla base di posta preferito selezionato a dipendenti,
Encrypt Salary Slips in Emails,Cripta la busta paga nelle e-mail,
"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","La busta paga inviata per posta elettronica al dipendente sarà protetta da password, la password verrà generata in base alla politica della password.",
Password Policy,Politica sulla password,
<b>Example:</b> SAL-{first_name}-{date_of_birth.year} <br>This will generate a password like SAL-Jane-1972,<b>Esempio:</b> SAL- {first_name} - {date_of_birth.year} <br> Questo genererà una password come SAL-Jane-1972,
Leave Settings,Lascia le impostazioni,
Leave Approval Notification Template,Lascia il modello di notifica di approvazione,
Leave Status Notification Template,Lasciare il modello di notifica di stato,
Role Allowed to Create Backdated Leave Application,Ruolo autorizzato a creare un&#39;applicazione congedo retrodatata,
Leave Approver Mandatory In Leave Application,Lascia l&#39;Approvatore Obbligatorio In Congedo,
Show Leaves Of All Department Members In Calendar,Mostra le foglie di tutti i membri del dipartimento nel calendario,
Auto Leave Encashment,Abbandono automatico,
Restrict Backdated Leave Application,Limita l&#39;applicazione congedo retrodatata,
Hiring Settings,Impostazioni di assunzione,
Check Vacancies On Job Offer Creation,Controlla i posti vacanti sulla creazione di offerte di lavoro,
Identification Document Type,Tipo di documento di identificazione,
Standard Tax Exemption Amount,Importo dell&#39;esenzione fiscale standard,
Taxable Salary Slabs,Lastre di salario tassabili,
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,
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.",
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,
Condition and Formula Help,Condizione e Formula Aiuto,
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,
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,
Loan Interest Accrual,Rateo interessi attivi,
Amounts,importi,
Pending Principal Amount,Importo principale in sospeso,
Payable Principal Amount,Importo principale pagabile,
Process Loan Interest Accrual,Accantonamento per interessi su prestiti di processo,
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,
Loan Security Name,Nome di sicurezza del prestito,
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,
Unpledge Type,Tipo Unpledge,
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,
Pledge,Impegno,
Post Haircut Amount,Importo post taglio,
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,
Against Pledge,Contro il pegno,
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,
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,
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,
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,
Transferred Qty,Quantità trasferito,
Job Started,Lavoro avviato,
Started Time,Ora di inizio,
Current Time,Ora attuale,
Job Card Item,Job Card Item,
Job Card Time Log,Registro tempo scheda lavoro,
Time In Mins,Tempo in minuti,
Completed Qty,Q.tà Completata,
Manufacturing Settings,Impostazioni di Produzione,
Raw Materials Consumption,Consumo di materie prime,
Allow Multiple Material Consumption,Consenti il consumo di più materiali,
Allow multiple Material Consumption against a Work Order,Consentire il consumo di più materiali rispetto a un ordine di lavoro,
Backflush Raw Materials Based On,Backflush Materie prime calcolate in base a,
Material Transferred for Manufacture,Materiale trasferito per Produzione,
Capacity Planning,Pianificazione Capacità,
Disable Capacity Planning,Disabilita pianificazione della capacità,
Allow Overtime,Consenti Straodinario,
Plan time logs outside Workstation Working Hours.,Pianificare i registri di tempo al di fuori dell&#39;orario di lavoro Workstation.,
Allow Production on Holidays,Consenti produzione su Vacanze,
Capacity Planning For (Days),Pianificazione Capacità per (giorni),
Try planning operations for X days in advance.,Provare le operazioni per X giorni in programma in anticipo.,
Time Between Operations (in mins),Tempo tra le operazioni (in minuti),
Default 10 mins,Predefinito 10 minuti,
Default Warehouses for Production,Magazzini predefiniti per la produzione,
Default Work In Progress Warehouse,Deposito di default per Work In Progress,
Default Finished Goods Warehouse,Deposito beni ultimati,
Default Scrap Warehouse,Magazzino rottami predefinito,
Over Production for Sales and Work Order,Oltre la produzione per le vendite e l&#39;ordine di lavoro,
Overproduction Percentage For Sales Order,Percentuale di sovrapproduzione per ordine di vendita,
Overproduction Percentage For Work Order,Percentuale di sovrapproduzione per ordine di lavoro,
Other Settings,Altre impostazioni,
Update BOM Cost Automatically,Aggiorna automaticamente il costo della BOM,
"Update BOM cost automatically via Scheduler, based on latest valuation rate / price list rate / last purchase rate of raw materials.","L&#39;aggiornamento dei costi BOM avviene automaticamente via Scheduler, in base all&#39;ultimo tasso di valutazione / prezzo di listino / ultimo tasso di acquisto di materie prime.",
Material Request Plan Item,Articolo piano di richiesta materiale,
Material Request Type,Tipo di richiesta materiale,
Material Issue,Fornitura materiale,
Customer Provided,Fornito dal cliente,
Minimum Order Quantity,Quantità ordine minimo,
Default Workstation,Workstation predefinita,
Production Plan,Piano di produzione,
MFG-PP-.YYYY.-,MFG-PP-.YYYY.-,
Get Items From,Ottenere elementi dal,
Get Sales Orders,Ottieni Ordini di Vendita,
Material Request Detail,Dettaglio richiesta materiale,
Get Material Request,Get Materiale Richiesta,
Material Requests,Richieste di materiale,
Get Items For Work Order,Ottieni articoli per ordine di lavoro,
Material Request Planning,Pianificazione Richiesta Materiale,
Include Non Stock Items,Includi articoli non disponibili,
Include Subcontracted Items,Includi elementi in conto lavoro,
Ignore Existing Projected Quantity,Ignora quantità prevista esistente,
"To know more about projected quantity, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">click here</a>.","Per saperne di più sulla quantità proiettata, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">clicca qui</a> .",
Download Required Materials,Scarica i materiali richiesti,
Get Raw Materials For Production,Ottieni materie prime per la produzione,
Total Planned Qty,Qtà totale pianificata,
Total Produced Qty,Quantità totale prodotta,
Material Requested,Materiale richiesto,
Production Plan Item,Piano di Produzione Articolo,
Make Work Order for Sub Assembly Items,Effettuare un ordine di lavoro per gli articoli dell&#39;Assemblea secondaria,
"If enabled, system will create the work order for the exploded items against which BOM is available.","Se abilitato, il sistema creerà l&#39;ordine di lavoro per gli elementi esplosi per i quali è disponibile la distinta componenti.",
Planned Start Date,Data di inizio prevista,
Quantity and Description,Quantità e descrizione,
material_request_item,material_request_item,
Product Bundle Item,Prodotto Bundle Voce,
Production Plan Material Request,Piano di produzione Materiale Richiesta,
Production Plan Sales Order,Produzione Piano di ordini di vendita,
Sales Order Date,Ordine di vendita Data,
Routing Name,Nome del routing,
MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
Item To Manufacture,Articolo da produrre,
Material Transferred for Manufacturing,Materiale trasferito per produzione,
Manufactured Qty,Q.tà Prodotte,
Use Multi-Level BOM,Utilizzare BOM Multi-Level,
Plan material for sub-assemblies,Materiale Piano per sub-assemblaggi,
Skip Material Transfer to WIP Warehouse,Salta trasferimento materiale al magazzino WIP,
Check if material transfer entry is not required,Controllare se non è richiesta la voce di trasferimento dei materiali,
Backflush Raw Materials From Work-in-Progress Warehouse,Backflush di materie prime da magazzino in corso di lavorazione,
Update Consumed Material Cost In Project,Aggiorna il costo del materiale consumato nel progetto,
Warehouses,Magazzini,
This is a location where raw materials are available.,Questa è una posizione in cui sono disponibili materie prime.,
Work-in-Progress Warehouse,Magazzino Lavori in corso,
This is a location where operations are executed.,Questa è una posizione in cui vengono eseguite le operazioni.,
This is a location where final product stored.,Questa è una posizione in cui è stato archiviato il prodotto finale.,
Scrap Warehouse,Scrap Magazzino,
This is a location where scraped materials are stored.,Questa è una posizione in cui sono immagazzinati materiali di scarto.,
Required Items,Articoli richiesti,
Actual Start Date,Data inizio effettiva,
Planned End Date,Data di fine pianificata,
Actual End Date,Data di fine effettiva,
Operation Cost,Operazione Costo,
Planned Operating Cost,Costo operativo pianificato,
Actual Operating Cost,Costo operativo effettivo,
Additional Operating Cost,Ulteriori costi di esercizio,
Total Operating Cost,Totale costi di esercizio,
Manufacture against Material Request,Produzione relativa alla Richiesta Materiale,
Work Order Item,Articolo dell&#39;ordine di lavoro,
Available Qty at Source Warehouse,Qtà disponibile presso Source Warehouse,
Available Qty at WIP Warehouse,Quantità disponibile presso WIP Warehouse,
Work Order Operation,Operazione dell&#39;ordine di lavoro,
Operation Description,Operazione Descrizione,
Operation completed for how many finished goods?,Operazione completata per quanti prodotti finiti?,
Work in Progress,Lavori in corso,
Estimated Time and Cost,Tempo e Costo Stimato,
Planned Start Time,Ora di inizio prevista,
Planned End Time,Tempo di fine pianificato,
in Minutes,In pochi minuti,
Actual Time and Cost,Tempo reale e costi,
Actual Start Time,Ora di inizio effettiva,
Actual End Time,Ora di fine effettiva,
Updated via 'Time Log',Aggiornato con 'Time Log',
Actual Operation Time,Tempo lavoro effettiva,
in Minutes\nUpdated via 'Time Log',Aggiornato da pochi minuti tramite 'Time Log',
(Hour Rate / 60) * Actual Operation Time,(Tasso Orario / 60) * tempo operazione effettivo,
Workstation Name,Nome Stazione di lavoro,
Production Capacity,Capacità produttiva,
Operating Costs,Costi operativi,
Electricity Cost,Costo Elettricità,
per hour,all'ora,
Consumable Cost,Costo consumabili,
Rent Cost,Affitto Costo,
Wages,Salari,
Wages per hour,Salari all'ora,
Net Hour Rate,Tasso Netto Orario,
Workstation Working Hour,Ore di lavoro Workstation,
Certification Application,Applicazione di certificazione,
Name of Applicant,Nome del candidato,
Certification Status,Stato certificazione,
Yet to appear,Deve ancora apparire,
Certified,Certificato,
Not Certified,Non certificato,
USD,Dollaro statunitense,
INR,INR,
Certified Consultant,Consulente certificato,
Name of Consultant,Nome del consulente,
Certification Validity,Validità certificazione,
Discuss ID,Discutere ID,
GitHub ID,GitHub ID,
Non Profit Manager,Manager non profit,
Chapter Head,Capo capitolo,
Meetup Embed HTML,Meetup Incorpora HTML,
chapters/chapter_name\nleave blank automatically set after saving chapter.,capitoli / chapter_name lascia vuoto automaticamente impostato dopo aver salvato il capitolo.,
Chapter Members,Membri del Capitolo,
Members,Utenti,
Chapter Member,Membro del Capitolo,
Website URL,URL del sito web,
Leave Reason,Lascia ragione,
Donor Name,Nome del donatore,
Donor Type,Tipo di donatore,
Withdrawn,Ritirato,
Grant Application Details ,Concedere i dettagli dell&#39;applicazione,
Grant Description,Descrizione della sovvenzione,
Requested Amount,Importo richiesto,
Has any past Grant Record,Ha un record di sovvenzione passato,
Show on Website,Mostra sul sito web,
Assessment  Mark (Out of 10),Valutazione (su 10),
Assessment  Manager,Responsabile della valutazione,
Email Notification Sent,Email di notifica inviata,
NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
Membership Expiry Date,Data di scadenza dell&#39;appartenenza,
Non Profit Member,Membro non profit,
Membership Status,Stato di appartenenza,
Member Since,Membro da,
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,
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,
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,
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,
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à,
Employee Detail,Dettaglio dei dipendenti,
Billing Details,Dettagli di fatturazione,
Total Billable Hours,Totale Ore Fatturabili,
Total Billed Hours,Totale Ore Fatturate,
Total Costing Amount,Importo totale Costing,
Total Billable Amount,Importo Totale Fatturabile,
Total Billed Amount,Totale Importo Fatturato,
% Amount Billed,% Importo Fatturato,
Hrs,Ore,
Costing Amount,Costing Importo,
Corrective/Preventive,Correttive / preventive,
Corrective,correttivo,
Preventive,preventivo,
Resolution,Risoluzione,
Resolutions,risoluzioni,
Quality Action Resolution,Risoluzione dell&#39;azione di qualità,
Quality Feedback Parameter,Parametro di feedback di qualità,
Quality Feedback Template Parameter,Parametro del modello di feedback sulla qualità,
Quality Goal,Obiettivo di qualità,
Monitoring Frequency,Frequenza di monitoraggio,
Weekday,giorno feriale,
January-April-July-October,Gennaio-Aprile-Luglio-Ottobre,
Revision and Revised On,Revisione e revisione,
Revision,Revisione,
Revised On,Revisionato il,
Objectives,obiettivi,
Quality Goal Objective,Obiettivo obiettivo di qualità,
Objective,Obbiettivo,
Agenda,ordine del giorno,
Minutes,Minuti,
Quality Meeting Agenda,Ordine del giorno della riunione di qualità,
Quality Meeting Minutes,Verbale della riunione di qualità,
Minute,Minuto,
Parent Procedure,Procedura genitore,
Processes,Processi,
Quality Procedure Process,Processo di procedura di qualità,
Process Description,Descrizione del processo,
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.,
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,
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 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,
POS Closing Voucher,Voucher di chiusura POS,
Period Start Date,Data di inizio del periodo,
Period End Date,Data di fine del periodo,
Cashier,Cassiere,
Expense Details,Dettagli spese,
Expense Amount,Importo delle spese,
Amount in Custody,Importo in custodia,
Total Collected Amount,Importo totale raccolto,
Difference,Differenza,
Modes of Payment,Modalità di pagamento,
Linked Invoices,Fatture collegate,
Sales Invoices Summary,Riepilogo fatture di vendita,
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,
POS Closing Voucher Taxes,Tasse di chiusura del POS,
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. \n\nThe package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".\n\nFor Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Product Bundle Item.\n\nNote: BOM = Bill of Materials","Gruppo aggregato di elementi ** ** in un&#39;altra Voce ** **. Ciò è utile se in fase di installazione una certa Articoli ** ** in un pacchetto e si mantiene il punto sulle ** ** Elementi imballate e non l&#39;aggregato ** ** Item. Il pacchetto ** ** Voce avrà &quot;è articolo di&quot; come &quot;No&quot; e &quot;Is Item vendite&quot; come &quot;Yes&quot;. Per esempio: Se state vendendo computer portatili e zaini separatamente e hanno un prezzo speciale se il cliente acquista entrambi, poi il computer portatile + zaino sarà un nuovo bundle di prodotto Articolo. Nota: BOM = Bill of Materials",
Parent Item,Articolo padre,
List items that form the package.,Voci di elenco che formano il pacchetto.,
SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
Quotation To,Preventivo a,
Rate at which customer's currency is converted to company's base currency,Tasso al quale la valuta del cliente viene convertito in valuta di base dell&#39;azienda,
Rate at which Price list currency is converted to company's base currency,Tasso al quale Listino valuta viene convertita in valuta di base dell&#39;azienda,
Additional Discount and Coupon Code,Codice sconto e coupon aggiuntivi,
Referral Sales Partner,Partner commerciale di riferimento,
In Words will be visible once you save the Quotation.,"""In Parole"" sarà visibile una volta che si salva il Preventivo.",
Term Details,Dettagli Termini,
Quotation Item,Articolo del Preventivo,
Against Doctype,Per Doctype,
Against Docname,Per Nome Doc,
Additional Notes,Note aggiuntive,
SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
Skip Delivery Note,Salta bolla di consegna,
In Words will be visible once you save the Sales Order.,In parole saranno visibili una volta che si salva l&#39;ordine di vendita.,
Track this Sales Order against any Project,Traccia questo ordine di vendita nei confronti di qualsiasi progetto,
Billing and Delivery Status,Stato della Fatturazione e della Consegna,
Not Delivered,Non Consegnati,
Fully Delivered,Completamente Consegnato,
Partly Delivered,Parzialmente Consegnato,
Not Applicable,Non Applicabile,
%  Delivered,%  Consegnato,
% of materials delivered against this Sales Order,% dei materiali consegnati su questo Ordine di Vendita,
% of materials billed against this Sales Order,% dei materiali fatturati su questo Ordine di Vendita,
Not Billed,Non Fatturata,
Fully Billed,Completamente Fatturato,
Partly Billed,Parzialmente Fatturato,
Ensure Delivery Based on Produced Serial No,Garantire la consegna in base al numero di serie prodotto,
Supplier delivers to Customer,il Fornitore consegna al Cliente,
Delivery Warehouse,Magazzino di consegna,
Planned Quantity,Quantità Prevista,
For Production,Per la produzione,
Work Order Qty,Qtà ordine di lavoro,
Produced Quantity,Prodotto Quantità,
Used for Production Plan,Usato per Piano di Produzione,
Sales Partner Type,Tipo di partner di vendita,
Contact No.,Contatto N.,
Contribution (%),Contributo (%),
Contribution to Net Total,Contributo sul totale netto,
Selling Settings,Impostazioni Vendite,
Settings for Selling Module,Impostazioni per il Modulo Vendite,
Customer Naming By,Creare il Nome Cliente da,
Campaign Naming By,Creare il nome Campagna da,
Default Customer Group,Gruppo Clienti Predefinito,
Default Territory,Territorio Predefinito,
Close Opportunity After Days,Chiudi Opportunità dopo giorni,
Auto close Opportunity after 15 days,Chiudi automaticamente Opportunità dopo 15 giorni,
Default Quotation Validity Days,Giorni di validità delle quotazioni predefinite,
Sales Order Required,Ordine di Vendita richiesto,
Delivery Note Required,Documento di Trasporto Richiesto,
Sales Update Frequency,Frequenza di aggiornamento delle vendite,
How often should project and company be updated based on Sales Transactions.,Con quale frequenza il progetto e la società devono essere aggiornati in base alle transazioni di vendita.,
Each Transaction,Ogni transazione,
Allow user to edit Price List Rate in transactions,Consenti all'utente di modificare il prezzo di Listino nelle transazioni,
Allow multiple Sales Orders against a Customer's Purchase Order,Consentire più ordini di vendita da un singolo ordine di un cliente,
Validate Selling Price for Item against Purchase Rate or Valuation Rate,Convalida il prezzo di vendita dell'articolo dal prezzo di acquisto o dal tasso di valutazione,
Hide Customer's Tax Id from Sales Transactions,Nascondere P. IVA / Cod. Fiscale dei clienti dai documenti di vendita,
SMS Center,Centro SMS,
Send To,Invia a,
All Contact,Tutti i contatti,
All Customer Contact,Tutti i contatti dei clienti,
All Supplier Contact,Tutti i Contatti Fornitori,
All Sales Partner Contact,Tutte i contatti Partner vendite,
All Lead (Open),Tutti i Lead (Aperti),
All Employee (Active),Tutti Dipendenti (Attivi),
All Sales Person,Tutti i Venditori,
Create Receiver List,Crea Elenco Ricezione,
Receiver List,Lista Ricevitore,
Messages greater than 160 characters will be split into multiple messages,Messaggio maggiore di 160 caratteri verrà divisa in mesage multipla,
Total Characters,Totale Personaggi,
Total Message(s),Totale Messaggi,
Authorization Control,Controllo Autorizzazioni,
Authorization Rule,Regola Autorizzazione,
Average Discount,Sconto Medio,
Customerwise Discount,Sconto Cliente saggio,
Itemwise Discount,Sconto Itemwise,
Customer or Item,Cliente o Voce,
Customer / Item Name,Cliente / Nome Articolo,
Authorized Value,Valore Autorizzato,
Applicable To (Role),Applicabile a (Ruolo),
Applicable To (Employee),Applicabile a (Dipendente),
Applicable To (User),Applicabile a (Utente),
Applicable To (Designation),Applicabile a (Designazione),
Approving Role (above authorized value),Approvazione di ruolo (di sopra del valore autorizzato),
Approving User  (above authorized value),Approvazione utente (sopra il valore autorizzato),
Brand Defaults,Impostazioni predefinite del marchio,
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Entità Legale / Controllata con un grafico separato di conti appartenenti all'organizzazione.,
Change Abbreviation,Change Abbreviazione,
Parent Company,Società madre,
Default Values,Valori Predefiniti,
Default Holiday List,Lista vacanze predefinita,
Standard Working Hours,Orario di lavoro standard,
Default Selling Terms,Termini di vendita predefiniti,
Default Buying Terms,Termini di acquisto predefiniti,
Default warehouse for Sales Return,Magazzino predefinito per il reso,
Create Chart Of Accounts Based On,Crea il Piano dei Conti in base a,
Standard Template,Template Standard,
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,
Purchase Orders Items Overdue,Ordini di ordini scaduti,
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 Configure Button,Mostra pulsante Configura,
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 ID,Lotto ID,
Parent Batch,Lotto padre,
Manufacturing Date,Data di produzione,
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,
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.-,
"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,
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,
Valid From ,Valido dal,
Valid Upto ,Valido Fino a,
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.-,
Requested For,richiesto Per,
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,
Get Current Stock,Richiedi disponibilità,
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à,
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,
Send to Warehouse,Invia a magazzino,
Receive at Warehouse,Ricevi al magazzino,
Delivery Note No,Documento di Trasporto N.,
Sales Invoice No,Fattura di Vendita n.,
Purchase Receipt No,Ricevuta di Acquisto N.,
Inspection Required,Ispezione Obbligatorio,
From BOM,Da Distinta Base,
For Quantity,Per Quantità,
As per Stock UOM,Come per scorte UOM,
Including items for sub assemblies,Compresi articoli per sub assemblaggi,
Default Source Warehouse,Magazzino di provenienza predefinito,
Source Warehouse Address,Indirizzo del magazzino di origine,
Default Target Warehouse,Magazzino di Destinazione Predefinito,
Target Warehouse Address,Indirizzo del magazzino di destinazione,
Update Rate and Availability,Frequenza di aggiornamento e disponibilità,
Total Incoming Value,Totale Valore Incoming,
Total Outgoing Value,Totale Valore uscita,
Total Value Difference (Out - In),Totale Valore Differenza (Out - In),
Additional Costs,Costi aggiuntivi,
Total Additional Costs,Totale Costi aggiuntivi,
Customer or Supplier Details,Dettagli Cliente o Fornitore,
Per Transferred,Per trasferito,
Stock Entry Detail,Dettaglio del Movimento di Magazzino,
Basic Rate (as per Stock UOM),Valore base (come da UOM),
Basic Amount,Importo di base,
Additional Cost,Costo aggiuntivo,
Serial No / Batch,Serial n / Batch,
BOM No. for a Finished Good Item,N. BOM per quantità buona completata,
Material Request used to make this Stock Entry,Richiesta di materiale usata per l'entrata giacenza,
Subcontracted Item,Articolo subappaltato,
Against Stock Entry,Contro l&#39;entrata di riserva,
Stock Entry Child,Stock di entrata figlio,
PO Supplied Item,Articolo fornito PO,
Reference Purchase Receipt,Ricevuta di acquisto di riferimento,
Stock Ledger Entry,Voce Inventario,
Outgoing Rate,Tasso di uscita,
Actual Qty After Transaction,Q.tà reale post-transazione,
Stock Value Difference,Differenza Valore Giacenza,
Stock Queue (FIFO),Code Giacenze (FIFO),
Is Cancelled,È Annullato,
Stock Reconciliation,Riconciliazione Giacenza,
This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,Questo strumento consente di aggiornare o correggere la quantità e valutare il magazzino nel sistema. Viene tipicamente utilizzato per sincronizzare i valori di sistema e ciò che esiste realmente nei vostri magazzini.,
MAT-RECO-.YYYY.-,MAT-Reco-.YYYY.-,
Reconciliation JSON,Riconciliazione JSON,
Stock Reconciliation Item,Voce Riconciliazione Giacenza,
Before reconciliation,Prima di riconciliare,
Current Serial No,Numero di serie attuale,
Current Valuation Rate,Corrente Tasso di Valorizzazione,
Current Amount,Importo attuale,
Quantity Difference,Quantità Differenza,
Amount Difference,Differenza importo,
Item Naming By,Creare il Nome Articolo da,
Default Item Group,Gruppo Articoli Predefinito,
Default Stock UOM,UdM predefinita per Giacenza,
Sample Retention Warehouse,Magazzino di conservazione dei campioni,
Default Valuation Method,Metodo di valorizzazione predefinito,
Percentage you are allowed to receive or deliver more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to receive 110 units.,Percentuale si è permesso di ricevere o consegnare di più contro la quantità ordinata. Per esempio: Se avete ordinato 100 unità. e il vostro assegno è 10% poi si è permesso di ricevere 110 unità.,
Action if Quality inspection is not submitted,Azione in caso di mancata presentazione del controllo di qualità,
Show Barcode Field,Mostra campo del codice a barre,
Convert Item Description to Clean HTML,Converti la descrizione dell&#39;oggetto in Pulisci HTML,
Auto insert Price List rate if missing,Inserimento automatico tasso Listino se mancante,
Allow Negative Stock,Permetti Scorte Negative,
Automatically Set Serial Nos based on FIFO,Imposta automaticamente seriale Nos sulla base FIFO,
Set Qty in Transactions based on Serial No Input,Imposta Qtà in Transazioni basate su Nessun input seriale,
Auto Material Request,Richiesta Automatica Materiale,
Raise Material Request when stock reaches re-order level,Crea un Richiesta Materiale quando la scorta raggiunge il livello di riordino,
Notify by Email on creation of automatic Material Request,Notifica tramite e-mail sulla creazione di Richiesta automatica Materiale,
Freeze Stock Entries,Congela scorta voci,
Stock Frozen Upto,Giacenza Bloccate Fino,
Freeze Stocks Older Than [Days],Congelare Stocks Older Than [ giorni],
Role Allowed to edit frozen stock,Ruolo ammessi da modificare stock congelato,
Batch Identification,Identificazione lotti,
Use Naming Series,Utilizzare le serie di denominazione,
Naming Series Prefix,Prefisso serie di denominazione,
UOM Category,Categoria UOM,
UOM Conversion Detail,Dettaglio di conversione Unità di Misura,
Variant Field,Campo di variante,
A logical Warehouse against which stock entries are made.,Magazzino logico utilizzato per l'entrata giacenza.,
Warehouse Detail,Dettagli Magazzino,
Warehouse Name,Nome Magazzino,
"If blank, parent Warehouse Account or company default will be considered","Se vuoto, verranno considerati il conto del magazzino principale o il valore predefinito della società",
Warehouse Contact Info,Contatti Magazzino,
PIN,PIN,
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,
Service Level Agreement Fulfilled,Accordo sul livello di servizio soddisfatto,
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,
Mins to First Response,Minuti per First Response,
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,
Holiday List (ignored during SLA calculation),Elenco festività (ignorato durante il calcolo SLA),
Default Priority,Priorità predefinita,
Response and Resoution Time,Tempo di risposta e di risposta,
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,
Response Time,Tempo di risposta,
Response Time Period,Periodo di tempo di risposta,
Resolution Time,Tempo di risoluzione,
Resolution Time Period,Periodo 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,
Department Analytics,Analisi dei dati del dipartimento,
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,
Project Quantity,Progetto Quantità,
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 Id,Id del 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,
Minutes to First Response for Issues,Minuti per la prima risposta al Problema,
Minutes to First Response for Opportunity,Minuti per First Response per Opportunità,
Monthly Attendance Sheet,Foglio Presenze Mensile,
Open Work Orders,Apri ordini di lavoro,
Ordered Items To Be Billed,Articoli ordinati da fatturare,
Ordered Items To Be Delivered,Articoli ordinati da consegnare,
Qty to Deliver,Qtà di Consegna,
Amount to Deliver,Importo da consegnare,
Item Delivery Date,Data di Consegna dell'Articolo,
Delay Days,Giorni di ritardo,
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 ,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,
Purchase Order Items To Be Billed,Articoli dell'Ordine di Acquisto da fatturare,
Purchase Order Items To Be Received,Articolo dell'Ordine di Acquisto da ricevere,
Qty to Receive,Qtà da Ricevere,
Purchase Order Items To Be Received or Billed,Articoli dell&#39;ordine d&#39;acquisto da ricevere o fatturare,
Base Amount,Importo base,
Received Qty Amount,Importo quantità ricevuta,
Amount to Receive,Importo da ricevere,
Amount To Be Billed,Importo da fatturare,
Billed Qty,Qtà fatturata,
Qty To Be Billed,Quantità da fatturare,
Purchase Order Trends,Acquisto Tendenze Ordine,
Purchase Receipt Trends,Acquisto Tendenze Receipt,
Purchase Register,Registro Acquisti,
Quotation Trends,Tendenze di preventivo,
Quoted Item Comparison,Articolo Citato Confronto,
Received Items To Be Billed,Oggetti ricevuti da fatturare,
Requested Items To Be Ordered,Elementi richiesti da ordinare,
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,
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,
