"""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,
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,
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,
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.,
Accumulated Depreciation,Fondo di ammortamento,
Accumulated Depreciation Amount,Importo fondo ammortamento,
Accumulated Depreciation as on,Fondo ammortamento come su,
Accumulated Monthly,Accantonamento Mensile,
Accumulated Values,Valori accumulati,
Accumulated Values in Group Company,Valori accumulati nella società del gruppo,
Achieved ({}),Raggiunto ({}),
Action,Azione,
Action Initialised,Azione inizializzata,
Actions,Azioni,
Active,Attivo,
Activity Cost exists for Employee {0} against Activity Type - {1},Costo attività trovato per dipendente {0} con tipo attività - {1},
Activity Cost per Employee,Costo attività per dipendente,
Activity Type,Tipo attività,
Actual Cost,Costo attuale,
Actual Delivery Date,Data di consegna effettiva,
Actual Qty,Q.tà reale,
Actual Qty is mandatory,La q.tà reale è obbligatoria,
Actual Qty {0} / Waiting Qty {1},Quantità effettiva {0} / Quantità attesa {1},
Actual Qty: Quantity available in the warehouse.,Quantità effettivo: Quantità disponibile a magazzino.,
Actual qty in stock,Quantità disponibile,
Actual type tax cannot be included in Item rate in row {0},Il tipo di imposta / tassa non può essere inclusa nella tariffa della riga {0},
Add,Aggiungi,
Add / Edit Prices,Aggiungi / modifica prezzi,
Add Comment,Aggiungi un commento,
Add Customers,Aggiungi clienti,
Add Employees,Aggiungi dipendenti,
Add Item,Aggiungi articolo,
Add Items,Aggiungi articoli,
Add Leads,Aggiungi leads,
Add Multiple Tasks,Aggiungi attività multiple,
Add 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/Remove Recipients,Aggiungi/Rimuovi Destinatari,
Added,Aggiunti,
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 Products,Tutti i prodotti,
All Products or Services.,Tutti i prodotti o servizi.,
All Student Admissions,Tutte le ammissioni degli studenti,
All Supplier Groups,Tutti i gruppi fornitori,
All Supplier scorecards.,Tutti i punteggi dei fornitori.,
All Territories,Tutti i territori,
All Warehouses,Tutti i Depositi,
All communications including and above this shall be moved into the new Issue,Tutte le comunicazioni incluse e superiori a questa saranno trasferite nel nuovo numero,
All items have already been transferred for this Work Order.,Tutti gli articoli sono già stati trasferiti per questo ordine di lavoro.,
All other ITC,Tutti gli altri ITC,
All the mandatory Task for employee creation hasn't been done yet.,Tutte le attività obbligatorie per la creazione dei dipendenti non sono ancora state completate.,
Allocate Payment Amount,Allocare Importo di Pagamento,
Allocated Amount,Importo assegnato,
Allocating leaves...,Allocazione ferie...,
Already record exists for the item {0},Il record esiste già per l&#39;articolo {0},
"Already set default in pos profile {0} for user {1}, kindly disabled default","Già impostato come predefinito nel profilo pos {0} per l&#39;utente {1}, disabilitato per impostazione predefinita",
Alternate Item,Articolo alternativo,
Alternative item must not be same as item code,L&#39;articolo alternativo non deve essere uguale al codice articolo,
Amended From,Corretto da,
Amount,Importo,
Amount After Depreciation,Importo Dopo ammortamento,
Amount of Integrated Tax,Importo dell&#39;imposta integrata,
Amount of TDS Deducted,Quantità di TDS dedotta,
Amount should not be less than zero.,L&#39;importo non deve essere inferiore a zero.,
Amount to Bill,Importo da fatturare,
Amount {0} {1} against {2} {3},Importo {0} {1} contro {2} {3},
Amount {0} {1} deducted against {2},Importo {0} {1} dedotto contro {2},
Amount {0} {1} transferred from {2} to {3},Importo {0} {1} trasferito da {2} a {3},
Amount {0} {1} {2} {3},Importo {0} {1} {2} {3},
Amt,Tot,
"An Item Group exists with same name, please change the item name or rename the item group","Esiste un gruppo di articoli con lo stesso nome, si prega di cambiare il nome dell'articolo o di rinominare il gruppo di articoli",
An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Un termine accademico con questo &#39;Anno Accademico&#39; {0} e &#39;Term Nome&#39; {1} esiste già. Si prega di modificare queste voci e riprovare.,
An error occurred during the update process,Si è verificato un errore durante il processo di aggiornamento,
"An item exists with same name ({0}), please change the item group name or rename the item","Un elemento esiste con lo stesso nome ( {0} ) , si prega di cambiare il nome del gruppo o di rinominare la voce",
Analyst,Analista,
Annual Billing: {0},Fatturazione annuale: {0},
Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},Un altro record di budget &#39;{0}&#39; esiste già contro {1} &#39;{2}&#39; e account &#39;{3}&#39; per l&#39;anno fiscale {4},
Another Period Closing Entry {0} has been made after {1},Un'altra voce periodo di chiusura {0} è stato fatto dopo {1},
Another Sales Person {0} exists with the same Employee id,Un&#39;altra Sales Person {0} esiste con lo stesso ID Employee,
Antibiotic,Antibiotico,
Apparel & Accessories,Abbigliamento e accessori,
Applicable For,Valido per,
"Applicable if the company is SpA, SApA or SRL","Applicabile se la società è SpA, SApA o SRL",
Applicable if the company is a limited liability company,Applicabile se la società è una società a responsabilità limitata,
Applicable if the company is an Individual or a Proprietorship,Applicabile se la società è un individuo o una proprietà,
Application of Funds (Assets),Applicazione dei fondi ( Assets ),
Applied,Applicato,
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,
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),
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 To,Assegna a,
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 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 has been marked successfully.,La partecipazione è stata segnata con successo.,
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,
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 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 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 URL,URL di base,
Based On,Basato su,
Based On Payment Terms,Basato sui termini di pagamento,
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,
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 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,
Black,Nero,
Blanket Orders from Costumers.,Ordini completi da clienti.,
Block Invoice,Blocca Fattura,
Boms,Distinte Base,
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,
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 produce more Item {0} than Sales Order quantity {1},Non può produrre più Voce {0} di Sales Order quantità {1},
Cannot promote Employee with status Left,Impossibile promuovere il Dipendente con stato Sinistro,
Cannot refer row number greater than or equal to current row number for this Charge type,Non può consultare numero di riga maggiore o uguale al numero di riga corrente per questo tipo di carica,
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Non è possibile selezionare il tipo di carica come 'On Fila Indietro Importo ' o 'On Precedente totale riga ' per la prima fila,
Cannot set as Lost as Sales Order is made.,Impossibile impostare come persa come è fatto Sales Order .,
Cannot set authorization on basis of Discount for {0},Impossibile impostare autorizzazione sulla base di Sconto per {0},
Cannot set multiple Item Defaults for a company.,Impossibile impostare più valori predefiniti oggetto per un&#39;azienda.,
Cannot set quantity less than delivered quantity,Impossibile impostare una quantità inferiore alla quantità consegnata,
Cannot set quantity less than received quantity,Impossibile impostare una quantità inferiore alla quantità ricevuta,
Cannot set the field <b>{0}</b> for copying in variants,Impossibile impostare il campo <b>{0}</b> per la copia in varianti,
Cannot transfer Employee with status Left,Impossibile trasferire Employee con lo stato Left,
Cannot {0} {1} {2} without any negative outstanding invoice,Impossibile {0} {1} {2} senza alcuna fattura in sospeso negativo,
Capital Equipments,Attrezzature Capital,
Capital Stock,Capitale sociale,
Capital Work in Progress,Capitale lavori in corso,
Cart,Carrello,
Cart is Empty,Il carrello è vuoto,
Case No(s) already in use. Try from Case No {0},Caso n ( s) già in uso . Prova da Caso n {0},
Cash,Contante,
Cash Flow Statement,Rendiconto finanziario,
Cash Flow from Financing,Flusso di cassa da finanziamento,
Cash Flow from Investing,Cash Flow da investimenti,
Cash Flow from Operations,Cash flow operativo,
Cash In Hand,Cash In Hand,
Cash or Bank Account is mandatory for making payment entry,Il conto bancario è obbligatorio per effettuare il Pagamento,
Cashier Closing,Chiusura del cassiere,
Category,Categoria,
Category Name,Nome Categoria,
Caution,Attenzione,
Central Tax,Tassa centrale,
Certification,Certificazione,
Cess,Cess,
Change Amount,quantità di modifica,
Change Item Code,Cambia codice articolo,
Change Release Date,Cambia Data di rilascio,
Change Template Code,Modifica del codice modello,
Changing Customer Group for the selected Customer is not allowed.,Non è consentito modificare il gruppo di clienti per il cliente selezionato.,
Chapter,Capitolo,
Chapter information.,Informazioni sul capitolo,
Charge of type 'Actual' in row {0} cannot be included in Item Rate,Carica di tipo ' Actual ' in riga {0} non può essere incluso nella voce Tasso,
Chargeble,chargeble,
Charges are updated in Purchase Receipt against each item,Le tariffe sono aggiornati in acquisto ricevuta contro ogni voce,
"Charges will be distributed proportionately based on item qty or amount, as per your selection","Spese saranno distribuiti proporzionalmente basate su qty voce o importo, secondo la vostra selezione",
Chart of Cost Centers,Grafico Centro di Costo,
Check all,Seleziona tutto,
Checkout,Check-out,
Chemical,chimico,
Cheque,Assegno,
Cheque/Reference No,N. di riferimento,
Cheques Required,Controlli richiesti,
Cheques and Deposits incorrectly cleared,Assegni e depositi cancellati in modo non corretto,
Child Task exists for this Task. You can not delete this Task.,Non è possibile eliminare questa attività; esiste un'altra Attività dipendente da questa.,
Child nodes can be only created under 'Group' type nodes,I nodi figli possono essere creati solo sotto i nodi di tipo &#39;Gruppo&#39;,
Child warehouse exists for this warehouse. You can not delete this warehouse.,Esiste magazzino Bambino per questo magazzino. Non è possibile eliminare questo magazzino.,
Circular Reference Error,Circular Error Reference,
City,Città,
City/Town,Città/Paese,
Clay,Argilla,
Clear filters,Cancella filtri,
Clear values,Cancella valori,
Clearance Date,Data Liquidazione,
Clearance Date not mentioned,Liquidazione data non menzionato,
Clearance Date updated,Liquidazione Data di aggiornamento,
Client,Intestatario,
Client ID,Identificativo cliente,
Client Secret,Client Secret,
Clinical Procedure,Procedura clinica,
Clinical Procedure Template,Modello di procedura clinica,
Close Balance Sheet and book Profit or Loss.,Chiudere Stato Patrimoniale e il libro utile o perdita .,
Close Loan,Prestito vicino,
Close the POS,Chiudi il POS,
Closed,Chiuso,
Closed order cannot be cancelled. Unclose to cancel.,Un ordine chiuso non può essere cancellato. Riapri per annullare.,
Closing (Cr),Chiusura (Cr),
Closing (Dr),Chiusura (Dr),
Closing (Opening + Total),Chiusura (apertura + totale),
Closing Account {0} must be of type Liability / Equity,Chiusura account {0} deve essere di tipo Responsabilità / Patrimonio netto,
Closing Balance,Saldo di chiusura,
Code,Codice,
Collapse All,Comprimi tutto,
Color,Colore,
Colour,Colore,
Combined invoice portion must equal 100%,La parte della fattura combinata deve essere uguale al 100%,
Commercial,Commerciale,
Commission,Commissione,
Commission Rate %,Tasso di commissione %,
Commission on Sales,Commissione sulle vendite,
Commission rate cannot be greater than 100,Tasso Commissione non può essere superiore a 100,
Community Forum,Forum Community,
Company (not Customer or Supplier) master.,Azienda ( non cliente o fornitore ) master.,
Company Abbreviation,Abbreviazione Società,
Company Abbreviation cannot have more than 5 characters,L&#39;abbreviazione della compagnia non può contenere più di 5 caratteri,
Company Name,Nome Azienda,
Company Name cannot be Company,Nome azienda non può essere azienda,
Company currencies of both the companies should match for Inter Company Transactions.,Le valute delle società di entrambe le società devono corrispondere alle Transazioni della Società Inter.,
Company is manadatory for company account,La società è mandataria per conto aziendale,
Company name not same,Nome della società non uguale,
Company {0} does not exist,Società di {0} non esiste,
Compensatory leave request days not in valid holidays,Giorni di congedo compensativo giorni non festivi validi,
Complaint,Denuncia,
Completion Date,Data Completamento,
Computer,Computer,
Condition,Condizione,
Configure,Configurazione,
Configure {0},Configura {0},
Confirmed orders from Customers.,Ordini Confermati da Clienti.,
Connect Amazon with ERPNext,Connetti Amazon con ERPNext,
Connect Shopify with ERPNext,Connetti Shopify con ERPNext,
Connect to Quickbooks,Connetti a Quickbooks,
Connected to QuickBooks,Connesso a QuickBooks,
Connecting to QuickBooks,Connessione a QuickBooks,
Consultation,Consulto,
Consultations,Consulti,
Consulting,Consulting,
Consumable,Consumabile,
Consumed,consumato,
Consumed Amount,Quantità consumata,
Consumed Qty,Q.tà Consumata,
Consumer Products,Prodotti di consumo,
Contact,Contatto,
Contact 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 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 Employee,Crea dipendente,
Create Employee Records,Creare record dei dipendenti,
"Create Employee records to manage leaves, expense claims and payroll","Crea record dei dipendenti per la gestione ferie, rimborsi spese e del libro paga",
Create Fee Schedule,Crea un programma tariffario,
Create Fees,Crea tariffe,
Create Inter Company Journal Entry,Crea voce di diario interaziendale,
Create Invoice,Crea fattura,
Create Invoices,Crea fatture,
Create Job Card,Crea Job Card,
Create Journal Entry,Crea registrazione prima nota,
Create Lead,Crea piombo,
Create Leads,Creare un Lead,
Create Maintenance Visit,Crea visita di manutenzione,
Create Material Request,Crea richiesta materiale,
Create Multiple,Crea multiplo,
Create Opening Sales and Purchase Invoices,Crea fatture di vendita e acquisti di apertura,
Create Payment Entries,Crea voci di pagamento,
Create Payment Entry,Crea voce di pagamento,
Create Print Format,Creare Formato di stampa,
Create Purchase Order,Creare un ordine d&#39;acquisto,
Create Purchase Orders,Creare ordini d&#39;acquisto,
Create Quotation,Crea Preventivo,
Create Sales Invoice,Crea fattura di vendita,
Create Sales Order,Crea ordine di vendita,
Create Sales Orders to help you plan your work and deliver on-time,Crea ordini di vendita per aiutarti a pianificare il tuo lavoro e consegnarlo in tempo,
Create Sample Retention Stock Entry,Crea una voce di scorta di conservazione del campione,
Create Student,Crea studente,
Create Student Batch,Crea batch studenti,
Create Student Groups,Creazione di gruppi di studenti,
Create Supplier Quotation,Crea un&#39;offerta fornitore,
Create Tax Template,Crea modello fiscale,
Create Timesheet,Crea scheda attività,
Create User,Creare un utente,
Create Users,creare utenti,
Create Variant,Crea variante,
Create Variants,Crea varianti,
"Create and manage daily, weekly and monthly email digests.","Creare e gestire giornalieri , settimanali e mensili digerisce email .",
Create customer quotes,Creare le citazioni dei clienti,
Create rules to restrict transactions based on values.,Creare regole per limitare le transazioni in base ai valori .,
Created {0} scorecards for {1} between: ,Creato {0} scorecard per {1} tra:,
Creating Company and Importing Chart of Accounts,Creazione di società e importazione del piano dei conti,
Creating Fees,Creazione di tariffe,
Creating 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 Assets,Attività correnti,
Current BOM and New BOM can not be same,BOM corrente e New BOM non può essere lo stesso,
Current Liabilities,Passività correnti,
Current Qty,Quantità corrente,
Current invoice {0} is missing,Manca la fattura corrente {0},
Custom HTML,HTML personalizzato,
Custom?,Personalizzato?,
Customer,Cliente,
Customer Addresses And Contacts,Indirizzi e Contatti Cliente,
Customer Contact,Customer Contact,
Customer Database.,Database clienti.,
Customer Group,Gruppo Cliente,
Customer LPO,LPO cliente,
Customer LPO No.,Numero LPO cliente,
Customer Name,Nome Cliente,
Customer POS Id,ID del cliente POS,
Customer Service,Servizio clienti,
Customer and Supplier,Cliente e fornitore,
Customer is required,Il Cliente è tenuto,
Customer isn't enrolled in any Loyalty Program,Il cliente non è iscritto a nessun programma fedeltà,
Customer required for 'Customerwise Discount',Cliente richiesto per ' Customerwise Discount ',
Customer {0} does not belong to project {1},Cliente {0} non appartiene a proiettare {1},
Customer {0} is created.,Cliente {0} creato.,
Customers in Queue,I clienti in coda,
Customize Homepage Sections,Personalizza le sezioni della home page,
Customizing Forms,Personalizzazione dei moduli,
Daily Project Summary for {0},Riepilogo del progetto giornaliero per {0},
Daily Reminders,Promemoria quotidiani,
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 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,
Day,Giorno,
Debit,Dare,
Debit ({0}),Debito ({0}),
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,
Default Activity Cost exists for Activity Type - {0},Esiste di default Attività Costo per il tipo di attività - {0},
Default BOM ({0}) must be active for this item or its template,Distinta Base default ({0}) deve essere attivo per questo articolo o il suo modello,
Default BOM for {0} not found,Distinta Base predefinita per {0} non trovato,
Default BOM not found for Item {0} and Project {1},La Distinta Base di default non è stata trovata per l'oggetto {0} e il progetto {1},
Default Letter Head,Carta Intestata Predefinita,
Default Tax Template,Modello fiscale predefinito,
Default Unit of Measure for Item {0} cannot be changed directly because you have already made some transaction(s) with another UOM. You will need to create a new Item to use a different Default UOM.,Unità di misura predefinita per la voce {0} non può essere modificato direttamente perché si è già fatto qualche operazione (s) con un altro UOM. Sarà necessario creare una nuova voce per utilizzare un diverso UOM predefinito.,
Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',Unità di misura predefinita per la variante &#39;{0}&#39; deve essere lo stesso in Template &#39;{1}&#39;,
Default settings for buying transactions.,Impostazioni predefinite per operazioni di acquisto .,
Default settings for selling transactions.,Impostazioni predefinite per la vendita di transazioni.,
Default tax templates for sales and purchase are created.,Vengono creati modelli di imposta predefiniti per vendite e acquisti.,
Defaults,Valori Predefiniti,
Defense,Difesa,
Define Project type.,Definisci il tipo di progetto.,
Define budget for a financial year.,Definire bilancio per l&#39;anno finanziario.,
Define various loan types,Definire i vari tipi di prestito,
Del,del,
Delay in payment (Days),Ritardo nel pagamento (giorni),
Delete all the Transactions for this Company,Eliminare tutte le Operazioni per questa Azienda,
Deletion is not permitted for country {0},La cancellazione non è consentita per il Paese {0},
Delivered,consegnato,
Delivered Amount,Importo consegnato,
Delivered Qty,Q.tà Consegnata,
Delivered: {0},Consegna: {0},
Delivery,Consegna,
Delivery Date,Data di consegna,
Delivery Note,Documento Di Trasporto,
Delivery Note {0} is not submitted,Il Documento di Trasporto {0} non è confermato,
Delivery Note {0} must not be submitted,Il Documento di Trasporto {0} non deve essere presentato,
Delivery Notes {0} must be cancelled before cancelling this Sales Order,I Documenti di Trasporto {0} devono essere cancellati prima di annullare questo Ordine di Vendita,
Delivery Notes {0} updated,Note di consegna {0} aggiornate,
Delivery Status,Stato Consegna,
Delivery Trip,Viaggio di consegna,
Delivery warehouse required for stock item {0},Magazzino di consegna richiesto per l'articolo {0},
Department,Dipartimento,
Department Stores,Grandi magazzini,
Depreciation,Ammortamento,
Depreciation Amount,quota di ammortamento,
Depreciation Amount during the period,Quota di ammortamento durante il periodo,
Depreciation Date,Ammortamenti Data,
Depreciation Eliminated due to disposal of assets,Gli ammortamenti Eliminato causa della cessione di attività,
Depreciation Entry,Ammortamenti Entry,
Depreciation Method,Metodo di ammortamento,
Depreciation Row {0}: Depreciation Start Date is entered as past date,Riga di ammortamento {0}: Data di inizio ammortamento è inserita come data precedente,
Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Riga di ammortamento {0}: il valore atteso dopo la vita utile deve essere maggiore o uguale a {1},
Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Riga di ammortamento {0}: la successiva Data di ammortamento non può essere precedente alla Data disponibile per l&#39;uso,
Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Riga di ammortamento {0}: la successiva data di ammortamento non può essere anteriore alla data di acquisto,
Designer,Designer,
Detailed Reason,Motivo dettagliato,
Details,Dettagli,
Details of Outward Supplies and inward supplies liable to reverse charge,Dettagli sui rifornimenti esteriori e sui rifornimenti interni soggetti a addebito inverso,
Details of the operations carried out.,I dettagli delle operazioni effettuate.,
Diagnosis,Diagnosi,
Did not find any item called {0},Non hai trovato alcun oggetto chiamato {0},
Diff Qty,Qtà diff,
Difference Account,account differenza,
"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Account La differenza deve essere un account di tipo attività / passività, dal momento che questo Stock riconciliazione è una voce di apertura",
Difference Amount,Differenza Importo,
Difference Amount must be zero,Differenza L&#39;importo deve essere pari a zero,
Different UOM for items will lead to incorrect (Total) Net Weight value. Make sure that Net Weight of each item is in the same UOM.,Una diversa Unità di Misura degli articoli darà come risultato un Peso Netto (Totale) non corretto.\nAssicurarsi che il peso netto di ogni articolo sia nella stessa Unità di Misura.,
Direct Expenses,Spese dirette,
Direct Income,reddito diretta,
Disable,Disattiva,
Disabled template must not be default template,modello disabili non deve essere modello predefinito,
Disburse Loan,Prestito erogato,
Disbursed,erogato,
Disc,Disco,
Discharge,Scarico,
Discount,Sconto,
Discount Percentage can be applied either against a Price List or for all Price List.,Percentuale di sconto può essere applicato sia contro un listino prezzi o per tutti Listino.,
Discount must be less than 100,Sconto deve essere inferiore a 100,
Diseases & Fertilizers,Malattie e fertilizzanti,
Dispatch,Spedizione,
Dispatch Notification,Notifica di spedizione,
Dispatch State,Stato di spedizione,
Distance,Distanza,
Distribution,Distribuzione,
Distributor,Distributore,
Dividends Paid,Dividendo liquidato,
Do you really want to restore this scrapped asset?,Vuoi davvero ripristinare questo bene rottamato?,
Do you really want to scrap this asset?,Vuoi davvero di accantonare questo bene?,
Do you want to notify all the customers by email?,Vuoi avvisare tutti i clienti via email?,
Doc Date,Doc Data,
Doc Name,Nome Doc,
Doc Type,Tipo Doc,
Docs Search,Ricerca documenti,
Document Name,Documento Nome,
Document Type,tipo di documento,
Domain,Dominio,
Domains,Domini,
Done,Fatto,
Donor,Donatore,
Donor Type information.,Informazioni sul tipo di donatore.,
Donor information.,Informazioni sui donatori,
Download JSON,Scarica JSON,
Draft,Bozza,
Drop Ship,Consegna diretta,
Drug,Droga,
Due / Reference Date cannot be after {0},Data / Reference Data non può essere successiva {0},
Due Date cannot be before Posting / Supplier Invoice Date,La data di scadenza non può essere precedente alla data di registrazione / fattura,
Due Date is mandatory,Data di scadenza è obbligatoria,
Duplicate Entry. Please check Authorization Rule {0},Duplicate Entry. Si prega di controllare Autorizzazione Regola {0},
Duplicate Serial No entered for Item {0},Inserito Numero di Serie duplicato per l'articolo {0},
Duplicate customer group found in the cutomer group table,Gruppo di clienti duplicato trovato nella tabella gruppo cutomer,
Duplicate entry,Duplicate entry,
Duplicate item group found in the item group table,gruppo di articoli duplicato trovato nella tabella gruppo articoli,
Duplicate roll number for student {0},Duplica il numero di rotolo per lo studente {0},
Duplicate row {0} with same {1},Fila Duplicate {0} con lo stesso {1},
Duplicate {0} found in the table,Trovato {0} duplicato nella tabella,
Duration in Days,Durata in giorni,
Duties and Taxes,Dazi e tasse,
E-Invoicing Information Missing,Informazioni sulla fatturazione elettronica mancanti,
ERPNext Demo,ERPNext Demo,
ERPNext Settings,Impostazioni ERPSucc,
Earliest,La prima,
Earnest Money,Caparra,
Edit,modificare,
Edit Publishing Details,Modifica dettagli di pubblicazione,
"Edit in full page for more options like assets, serial nos, batches etc.","Modifica in pagina intera per ulteriori opzioni come risorse, numero di serie, lotti ecc.",
Education,Educazione,
Either location or employee must be required,O posizione o dipendente deve essere richiesto,
Either target qty or target amount is mandatory,Sia qty destinazione o importo obiettivo è obbligatoria,
Either target qty or target amount is mandatory.,Sia qty destinazione o importo obiettivo è obbligatoria .,
Electrical,Elettrico,
Electronic Equipments,Apparecchiature elettroniche,
Electronics,Elettronica,
Eligible ITC,ITC ammissibile,
Email Account,Account email,
Email Address,Indirizzo email,
"Email Address must be unique, already exists for {0}","l' indirizzo e-mail deve essere univoco, esiste già per {0}",
Email Digest: ,Email di Sintesi:,
Email Reminders will be sent to all parties with email contacts,I promemoria via email saranno inviati a tutte le parti con contatti e-mail,
Email Sent,E-mail Inviata,
Email Template,Modello di email,
Email not found in default contact,Email non trovata nel contatto predefinito,
Email sent to {0},E-mail inviata a {0},
Employee,Dipendente,
Employee Advances,Anticipi Dipendenti,
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 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 {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} of grade {1} have no default leave policy,Il dipendente {0} del grado {1} non ha alcuna politica di congedo predefinita,
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,
Ends On date cannot be before Next Contact Date.,La data di fine non può essere precedente alla data del contatto successivo.,
Energy,Energia,
Engineer,Ingegnere,
Enough Parts to Build,Parti abbastanza per costruire,
Enroll,Iscriversi,
Enrolling student,studente iscrivendosi,
Enrolling students,Iscrivendo studenti,
Enter depreciation details,Inserire i dettagli di ammortamento,
Enter the Bank Guarantee Number before submittting.,Inserire il numero di garanzia bancaria prima di inviarlo.,
Enter the name of the Beneficiary before submittting.,Inserire il nome del Beneficiario prima di inviarlo.,
Enter the name of the bank or lending institution before submittting.,Immettere il nome della banca o dell&#39;istituto di credito prima di inviarlo.,
Enter value betweeen {0} and {1},Inserisci il valore tra {0} e {1},
Entertainment & Leisure,Intrattenimento e tempo libero,
Entertainment Expenses,Spese di rappresentanza,
Equity,Equità,
Error Log,Registro errori,
Error evaluating the criteria formula,Errore durante la valutazione della formula dei criteri,
Error in formula or condition: {0},Errore nella formula o una condizione: {0},
Error: Not a valid id?,Errore: Non è un documento di identità valido?,
Estimated Cost,Costo stimato,
"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:",
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 Claims,Rimborsi spese,
Expense account is mandatory for item {0},Conto spese è obbligatoria per l'elemento {0},
Expenses,Spese,
Expenses Included In Asset Valuation,Spese incluse nella valutazione delle attività,
Expenses Included In Valuation,Spese incluse nella valorizzazione,
Expired Batches,Lotti scaduti,
Expires On,Scade il,
Expiring On,In scadenza,
Expiry (In Days),Scadenza (in giorni),
Explore,Esplora,
Export E-Invoices,Esporta fatture elettroniche,
Extra Large,Extra Large,
Extra Small,Extra Small,
Fail,Fallire,
Failed,Impossibile,
Failed to create website,Impossibile creare il sito web,
Failed to install presets,Impossibile installare i preset,
Failed to login,Impossibile accedere,
Failed to setup company,Impossibile impostare la società,
Failed to setup defaults,Impostazione predefinita non riuscita,
Failed to setup post company fixtures,Non è stato possibile impostare i dispositivi aziendali,
Fax,Fax,
Fee,tassa,
Fee Created,Fee creata,
Fee Creation Failed,Creazione dei diritti non riuscita,
Fee Creation Pending,Fee Creation In attesa,
Fee Records Created - {0},Records Fee Creato - {0},
Feedback,Riscontri,
Fees,tasse,
Female,Donna,
Fetch Data,Recupera dati,
Fetch Subscription Updates,Recupera gli aggiornamenti delle iscrizioni,
Fetch exploded BOM (including sub-assemblies),Recupera BOM esplosa (sotto unità incluse ),
Fetching records......,Recupero record ...,
Field Name,Nome Campo,
Fieldname,Nome del campo,
Fields,Campi,
"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,
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, 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 Quantity (Manufactured Qty) is mandatory,Per quantità (Quantità Prodotte) è obbligatorio,
For Supplier,per Fornitore,
For Warehouse,Per magazzino,
For Warehouse is required before Submit,Prima della conferma inserire per Magazzino,
"For an item {0}, quantity must be negative number","Per un articolo {0}, la quantità deve essere un numero negativo",
"For an item {0}, quantity must be positive number","Per un articolo {0}, la quantità deve essere un numero positivo",
"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry","Per la scheda lavoro {0}, è possibile effettuare solo l&#39;immissione di magazzino del tipo &quot;Trasferimento materiale per produzione&quot;",
"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Per riga {0} a {1}. Per includere {2} a tasso Item, righe {3} deve essere inclusa anche",
For row {0}: Enter Planned Qty,Per la riga {0}: inserisci qtà pianificata,
"For {0}, only credit accounts can be linked against another debit entry","Per {0}, solo i conti di credito possono essere collegati contro un'altra voce di addebito",
"For {0}, only debit accounts can be linked against another credit entry","Per {0}, solo gli account di debito possono essere collegati contro un'altra voce di credito",
Forum Activity,Attività del forum,
Free item code is not selected,Il codice articolo gratuito non è selezionato,
Freight and Forwarding Charges,Freight Forwarding e spese,
Frequency,Frequenza,
Friday,Venerdì,
From,Da,
From Address 1,Dall&#39;indirizzo 1,
From Address 2,Dall&#39;indirizzo 2,
From Currency and To Currency cannot be same,Da Valuta e A Valuta non possono essere gli stessi,
From Date and To Date lie in different Fiscal Year,Dalla data e dalla data si trovano in diversi anni fiscali,
From Date cannot be greater than To Date,Dalla data non può essere maggiore di A Data,
From Date must be before To Date,Da Data deve essere prima di A Data,
From Date should be within the Fiscal Year. Assuming From Date = {0},Dalla data deve essere entro l'anno fiscale. Assumendo Dalla Data = {0},
From 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 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},
Fulfillment,Compimento,
Full Name,Nome Completo,
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 ',
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 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 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,
HR Manager,HR Manager,
HSN,HSN,
HSN/SAC,HSN / SAC,
Half Yearly,Semestrale,
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,
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,
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,
IGST Amount,Quantità IGST,
IP Address,Indirizzo IP,
ITC Available (whether in full op part),ITC disponibile (sia nella parte operativa completa),
ITC Reversed,ITC invertito,
Identifying Decision Makers,Identificare i Decision Maker,
"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Se l&#39;opzione Auto Opt In è selezionata, i clienti saranno automaticamente collegati al Programma fedeltà in questione (salvo)",
"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Se più regole dei prezzi continuano a prevalere, gli utenti sono invitati a impostare manualmente la priorità per risolvere il conflitto.",
"If selected Pricing Rule is made for 'Rate', it will overwrite Price List. Pricing Rule rate is the final rate, so no further discount should be applied. Hence, in transactions like Sales Order, Purchase Order etc, it will be fetched in 'Rate' field, rather than 'Price List Rate' field.","Se viene selezionata la regola di determinazione dei prezzi per &quot;Tariffa&quot;, sovrascriverà il listino prezzi. Prezzi Il tasso di regola è il tasso finale, quindi non è necessario applicare ulteriori sconti. Pertanto, nelle transazioni come Ordine di vendita, Ordine di acquisto, ecc., Verrà recuperato nel campo &quot;Tariffa&quot;, piuttosto che nel campo &quot;Tariffa di listino prezzi&quot;.",
"If two or more Pricing Rules are found based on the above conditions, Priority is applied. Priority is a number between 0 to 20 while default value is zero (blank). Higher number means it will take precedence if there are multiple Pricing Rules with same conditions.","Se due o più regole sui prezzi sono trovate delle condizioni di cui sopra, viene applicata la priorità. La priorità è un numero compreso tra 0 a 20, mentre il valore di default è pari a zero (vuoto). Numero maggiore significa che avrà la precedenza se ci sono più regole sui prezzi con le stesse condizioni.",
"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.","Se la scadenza è illimitata per i Punti Fedeltà, mantenere la Durata Scadenza vuota o 0.",
"If you have any questions, please get back to us.","Se avete domande, si prega di tornare a noi.",
Ignore Existing Ordered Qty,Ignora quantità ordinata esistente,
Image,Immagine,
Image View,Visualizza immagine,
Import Data,Importa dati,
Import Day Book Data,Importa i dati del day book,
Import Log,Log Importazione,
Import Master Data,Importa dati anagrafici,
Import in Bulk,Importazione Collettiva,
Import of goods,Importazione di beni,
Import of services,Importazione di servizi,
Importing Items and UOMs,Importazione di articoli e UOM,
Importing Parties and Addresses,Parti e indirizzi importatori,
In Maintenance,In manutenzione,
In Production,In produzione,
In Qty,Qtà,
In Stock Qty,Qtà in Stock,
In Stock: ,In Stock:,
In Value,In valore,
"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","Nel caso di un programma multilivello, i clienti verranno assegnati automaticamente al livello interessato come da loro speso",
Inactive,Inattivo,
Incentives,Incentivi,
Include Default Book Entries,Includi voci di libro predefinite,
Include Exploded Items,Includi elementi esplosi,
Include POS Transactions,Includi transazioni POS,
Include UOM,Includi UOM,
Included in Gross Profit,Incluso nell&#39;utile lordo,
Income,Proventi,
Income Account,Conto Proventi,
Income Tax,Tassazione Proventi,
Incoming,in arrivo,
Incoming Rate,Tasso in ingresso,
Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Numero della scrittura in contabilità generale non corretto. Potresti aver selezionato un conto sbagliato nella transazione.,
Increment cannot be 0,Incremento non può essere 0,
Increment for Attribute {0} cannot be 0,Incremento per attributo {0} non può essere 0,
Indirect Expenses,Spese indirette,
Indirect Income,Proventi indiretti,
Individual,Individuale,
Ineligible ITC,ITC non idoneo,
Initiated,Iniziato,
Inpatient Record,Record ospedaliero,
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,
Internet Publishing,Internet Publishing,
Intra-State Supplies,Forniture intra-statali,
Introduction,Presentazione,
Invalid Attribute,Attributo non valido,
Invalid Blanket Order for the selected Customer and Item,Ordine di copertina non valido per il cliente e l&#39;articolo selezionati,
Invalid Company for Inter Company Transaction.,Azienda non valida per transazione interaziendale.,
Invalid GSTIN! A GSTIN must have 15 characters.,GSTIN non valido! Un GSTIN deve contenere 15 caratteri.,
Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,GSTIN non valido! Le prime 2 cifre di GSTIN devono corrispondere al numero di stato {0}.,
Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,GSTIN non valido! L&#39;input che hai inserito non corrisponde al formato di GSTIN.,
Invalid Posting Time,Tempo di pubblicazione non valido,
Invalid attribute {0} {1},attributo non valido {0} {1},
Invalid quantity specified for item {0}. Quantity should be greater than 0.,Quantità non valido specificato per l'elemento {0}. La quantità dovrebbe essere maggiore di 0.,
Invalid reference {0} {1},Riferimento non valido {0} {1},
Invalid {0},Non valido {0},
Invalid {0} for Inter Company Transaction.,{0} non valido per Transazione interaziendale.,
Invalid {0}: {1},Non valido {0}: {1},
Inventory,Inventario,
Investment Banking,Investment Banking,
Investments,investimenti,
Invoice,Fattura,
Invoice Created,Fattura creata,
Invoice Discounting,Sconti fattura,
Invoice Patient Registration,Registrazione pazienti fattura,
Invoice Posting Date,Fattura Data Pubblicazione,
Invoice Type,Tipo Fattura,
Invoice already created for all billing hours,Fattura già creata per tutte le ore di fatturazione,
Invoice can't be made for zero billing hour,La fattura non può essere effettuata per zero ore di fatturazione,
Invoice {0} no longer exists,La fattura {0} non esiste più,
Invoiced,fatturato,
Invoiced Amount,Importo fatturato,
Invoices,Fatture,
Invoices for Costumers.,Fatture per i clienti.,
Inward supplies from ISD,Rifornimenti interni da ISD,
Inward supplies liable to reverse charge (other than 1 & 2 above),Forniture interne soggette a inversione contabile (diverse da 1 e 2 sopra),
Is Active,È attivo,
Is Default,È Default,
Is Existing Asset,È esistente Asset,
Is Frozen,È congelato,
Is Group,E' un Gruppo,
Issue,Problema,
Issue Material,Problema Materiale,
Issued,Emesso,
Issues,Problemi,
It is needed to fetch Item Details.,E &#39;necessario per recuperare Dettagli elemento.,
Item,Articolo,
Item 1,Articolo 1,
Item 2,Articolo 2,
Item 3,Articolo 3,
Item 4,Articolo 4,
Item 5,Articolo 5,
Item Cart,Prodotto Carrello,
Item Code,Codice articolo,
Item Code cannot be changed for Serial No.,Codice Articolo non può essere modificato per N. di Serie,
Item Code required at Row No {0},Codice articolo richiesto alla riga n. {0},
Item Description,Descrizione Articolo,
Item Group,Gruppo Articoli,
Item Group Tree,Struttura Gruppo Articoli,
Item Group not mentioned in item master for item {0},Gruppo Articoli non menzionato nell'Articolo principale per l'Articolo {0},
Item Name,Nome dell&#39;elemento,
Item Price added for {0} in Price List {1},Prezzo Articolo aggiunto per {0} in Listino Prezzi {1},
"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Il prezzo dell&#39;articolo viene visualizzato più volte in base a listino prezzi, fornitore / cliente, valuta, articolo, UOM, Qtà e date.",
Item Price updated for {0} in Price List {1},Prezzo Articolo aggiornato per {0} nel Listino {1},
Item Row {0}: {1} {2} does not exist in above '{1}' table,Riga articolo {0}: {1} {2} non esiste nella precedente tabella &#39;{1}&#39;,
Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Voce fiscale Row {0} deve avere un account di tipo fiscale o di reddito o spese o addebitabile,
Item Template,Modello di oggetto,
Item Variant Settings,Impostazioni delle varianti dell&#39;elemento,
Item Variant {0} already exists with same attributes,Prodotto Modello {0} esiste già con gli stessi attributi,
Item Variants,Varianti Voce,
Item Variants updated,Varianti oggetto aggiornate,
Item has variants.,Articolo ha varianti.,
Item must be added using 'Get Items from Purchase Receipts' button,L'oggetto deve essere aggiunto utilizzando 'ottenere elementi dal Receipts Purchase pulsante,
Item valuation rate is recalculated considering landed cost voucher amount,Voce tasso di valorizzazione viene ricalcolato considerando atterrato importo buono costo,
Item variant {0} exists with same attributes,Variante item {0} esiste con le stesse caratteristiche,
Item {0} does not exist,L'articolo {0} non esiste,
Item {0} does not exist in the system or has expired,L'articolo {0} non esiste nel sistema o è scaduto,
Item {0} has already been returned,L'articolo {0} è già stato restituito,
Item {0} has been disabled,L'articolo {0} è stato disabilitato,
Item {0} has reached its end of life on {1},L'articolo {0} ha raggiunto la fine della sua vita su {1},
Item {0} ignored since it is not a stock item,Articolo {0} ignorato poiché non è in Giacenza,
"Item {0} is a template, please select one of its variants","L'articolo {0} è un modello, si prega di selezionare una delle sue varianti",
Item {0} is cancelled,L'articolo {0} è annullato,
Item {0} is disabled,Articolo {0} è disattivato,
Item {0} is not a serialized Item,L'articolo {0} non è un elemento serializzato,
Item {0} is not a stock Item,L'articolo {0} non è in Giagenza,
Item {0} is not active or end of life has been reached,L'articolo {0} non è attivo o la fine della vita è stato raggiunta,
Item {0} is not setup for Serial Nos. Check Item master,L'articolo {0} non ha Numeri di Serie. Verifica l'Articolo Principale,
Item {0} is not setup for Serial Nos. Column must be blank,L'articolo {0} non ha Numeri di Serie. La colonna deve essere vuota,
Item {0} must be a Fixed Asset Item,Voce {0} deve essere un asset Articolo fisso,
Item {0} must be a Sub-contracted Item,L'Articolo {0} deve essere di un sub-contratto,
Item {0} must be a non-stock item,Voce {0} deve essere un elemento non-azione,
Item {0} must be a stock Item,L'Articolo {0} deve essere in Giacenza,
Item {0} not found,Articolo {0} non trovato,
Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Articolo {0} non trovato tra le 'Materie Prime Fornite' tabella in Ordine di Acquisto {1},
Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Articolo {0}: Qtà ordinata {1} non può essere inferiore a Qtà minima per ordine {2} (definita per l'Articolo).,
Item: {0} does not exist in the system,Voce: {0} non esiste nel sistema,
Items,Articoli,
Items Filter,Filtro articoli,
Items and Pricing,Oggetti e prezzi,
Items for Raw Material Request,Articoli per richiesta materie prime,
Job Card,Job Card,
Job card {0} created,Job card {0} creato,
Join,Aderire,
Journal Entries {0} are un-linked,Journal Entries {0} sono un-linked,
Journal Entry,Registrazione Contabile,
Journal Entry {0} does not have account {1} or already matched against other voucher,La Scrittura Contabile {0} non ha conto {1} o già confrontato con un altro buono,
Kanban Board,Kanban Board,
Key Reports,Rapporti chiave,
LMS Activity,Attività LMS,
Lab Test,Test di laboratorio,
Lab Test Report,Report dei test di laboratorio,
Lab Test Sample,Campione di prova da laboratorio,
Lab Test Template,Modello di prova del laboratorio,
Lab Test UOM,Lab Test UOM,
Lab Tests and Vital Signs,Test di laboratorio e segni vitali,
Lab result datetime cannot be before testing datetime,La data e l'ora del risultato di laboratorio non possono essere prima della data e dell'ora del test,
Lab testing datetime cannot be before collection datetime,Test di laboratorio datetime non può essere prima della raccolta datetime,
Label,Etichetta,
Laboratory,Laboratorio,
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 Management,Lascia Gestione,
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},
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",
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à,
Limit Crossed,limite Crossed,
Link to Material Request,Collega a Richiesta di Materiale,
List of all share transactions,Elenco di tutte le transazioni condivise,
List of available Shareholders with folio numbers,Elenco di azionisti disponibili con numeri di folio,
Loading Payment System,Caricamento del sistema di pagamento,
Loan,Prestito,
Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,La data di inizio del prestito e il periodo del prestito sono obbligatori per salvare lo sconto fattura,
Loans (Liabilities),Prestiti (passività ),
Loans and Advances (Assets),Crediti ( Assets ),
Local,Locale,
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 Half Day,Segna come Mezza giornata,
Mark Present,Segna come Presente,
Marketing,Marketing,
Marketing Expenses,Spese di marketing,
Marketplace,Mercato,
Marketplace Error,Errore del Marketplace,
Masters,Principali,
Match Payments with Invoices,Partita pagamenti con fatture,
Match non-linked Invoices and Payments.,Partita Fatture non collegati e pagamenti.,
Material,Materiale,
Material Consumption,Consumo di materiale,
Material Consumption is not set in Manufacturing Settings.,Il consumo di materiale non è impostato nelle impostazioni di produzione.,
Material Receipt,Materiale ricevuto,
Material Request,Richiesta materiale,
Material Request Date,Data richiesta materiale,
Material Request No,Richiesta materiale No,
"Material Request not created, as quantity for Raw Materials already available.","Richiesta materiale non creata, poiché quantità per materie prime già disponibile.",
Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Richiesta materiale di massimo {0} può essere fatto per la voce {1} contro ordine di vendita {2},
Material Request to Purchase Order,Richiesta materiale per ordine d&#39;acquisto,
Material Request {0} is cancelled or stopped,Richiesta materiale {0} è stato annullato o interrotto,
Material Request {0} submitted.,Richiesta materiale {0} inviata.,
Material Transfer,Trasferimento materiale,
Material Transferred,Materiale trasferito,
Material to Supplier,Materiale al Fornitore,
Max 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 discount for Item {0} is {1}%,Lo sconto massimo per l&#39;articolo {0} è {1}%,
Medical Code,Codice medico,
Medical Code Standard,Codice medico standard,
Medical Department,Dipartimento medico,
Medical Record,Cartella medica,
Medium,Media,
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,
Model,Modello,
Moderate Sensitivity,Sensibilità moderata,
Monday,Lunedi,
Monthly,Mensile,
Monthly Distribution,Distribuzione mensile,
More,Più,
More Information,Maggiori informazioni,
More...,Di Più...,
Motion Picture & Video,Motion Picture & Video,
Move,Sposta,
Move Item,Sposta articolo,
Multi Currency,Multi valuta,
Multiple Item prices.,Prezzi Articolo Multipli,
Multiple Loyalty Program found for the Customer. Please select manually.,"Sono stati trovati più Programmi Fedeltà per il Cliente. Per favore, selezionane uno manualmente.",
"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}","Più regole Prezzo esiste con stessi criteri, si prega di risolvere i conflitti tramite l&#39;assegnazione di priorità. Regole Prezzo: {0}",
Multiple Variants,Varianti multiple,
Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,esistono più esercizi per la data {0}. Si prega di impostare società l&#39;anno fiscale,
Music,Musica,
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 Profit,Profitto netto,
Net Total,Totale netto,
New Account Name,Nuovo nome account,
New Address,Nuovo indirizzo,
New BOM,Nuova Distinta Base,
New Batch ID (Optional),Nuovo ID batch (opzionale),
New Batch Qty,Nuovo Batch Qty,
New Company,Nuova Azienda,
New Cost Center Name,Nuovo nome centro di costo,
New Customer Revenue,Nuovi Ricavi Cliente,
New Customers,nuovi clienti,
New Department,Nuovo dipartimento,
New Employee,Nuovo Dipendente,
New Location,Nuova sede,
New Quality Procedure,Nuova procedura di qualità,
New Sales Invoice,Nuova fattura di vendita,
New Sales Person Name,Nome nuova persona vendite,
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Un nuovo Serial No non può avere un magazzino. Il magazzino deve essere impostato  nell'entrata giacenza o su ricevuta d'acquisto,
New Warehouse Name,Nuovo nome magazzino,
New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},Il Nuovo limite di credito è inferiore all'attuale importo dovuto dal cliente. Il limite di credito deve essere almeno {0},
New task,Nuova attività,
New {0} pricing rules are created,Vengono create nuove regole di tariffazione {0},
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 Item with Barcode {0},Nessun articolo con codice a barre {0},
No Item with Serial No {0},Nessun articolo con numero di serie {0},
No Items available for transfer,Nessun articolo disponibile per il trasferimento,
No Items selected for transfer,Nessun elemento selezionato per il trasferimento,
No Items to pack,Non ci sono elementi per il confezionamento,
No Items with Bill of Materials to Manufacture,Non ci sono elementi con Bill of Materials per la produzione,
No Items with Bill of Materials.,Nessun articolo con distinta materiali.,
No Permission,Nessuna autorizzazione,
No Remarks,Nessun commento,
No Result to submit,Nessun risultato da presentare,
No 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 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 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 tasks,Nessuna attività,
No time sheets,Non ci sono fogli di presenza,
No values,Nessun valore,
No {0} found for Inter Company Transactions.,Nessun {0} trovato per transazioni interaziendali.,
Non GST Inward Supplies,Forniture interne non GST,
Non Profit,Non Profit,
Non Profit (beta),Nonprofit (beta),
Non-GST outward supplies,Forniture esterne non GST,
Non-Group to Group,Non-gruppo a gruppo,
None,Nessuna,
None of the items have any change in quantity or value.,Nessuno articolo ha modifiche in termini di quantità o di valore.,
Nos,Nr,
Not Available,Non disponibile,
Not Marked,Non segnato,
Not Paid and Not Delivered,Non pagato e non spedito,
Not Permitted,Non Consentito,
Not Started,Non iniziato,
Not active,Non attivo,
Not allow to set alternative item for the item {0},Non consentire di impostare articoli alternativi per l&#39;articolo {0},
Not allowed to update stock transactions older than {0},Non è permesso aggiornare i documenti di magazzino di età superiore a {0},
Not authorized to edit frozen Account {0},Non autorizzato a modificare account congelati {0},
Not authroized since {0} exceeds limits,Non autorizzato poiché {0} supera i limiti,
Not permitted for {0},Non consentito per {0},
"Not permitted, configure Lab Test Template as required","Non consentito, configurare Lab Test Template come richiesto",
Not permitted. Please disable the Service Unit Type,Non consentito. Si prega di disabilitare il tipo di unità di servizio,
Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Nota: La data scadenza / riferimento supera i giorni ammessi per il credito dei clienti da {0} giorno (i),
Note: Item {0} entered multiple times,Nota : Articolo {0} inserito più volte,
Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,Nota : non verrà creato il Pagamento poiché non è stato specificato il Conto Bancario,
Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Nota : Il sistema non controlla over - consegna e over -booking per la voce {0} come la quantità o la quantità è 0,
Note: There is not enough leave balance for Leave Type {0},Nota : Non hai giorni sufficienti per il permesso {0},
Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Nota : Questo centro di costo è un gruppo . Non può fare scritture contabili contro i gruppi .,
Note: {0},Nota : {0},
Notes,Note,
Nothing is included in gross,Niente è incluso in lordo,
Nothing more to show.,Niente di più da mostrare.,
Notify Customers via Email,Invia ai clienti tramite e-mail,
Number,Numero,
Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Numero degli ammortamenti prenotata non può essere maggiore di Numero totale degli ammortamenti,
Number of Interaction,Numero di interazione,
Number of Order,Numero d'Ordine,
"Number of new Account, it will be included in the account name as a prefix","Numero del nuovo account, sarà incluso nel nome dell&#39;account come prefisso",
"Number of new Cost Center, it will be included in the cost center name as a prefix","Numero del nuovo centro di costo, sarà incluso nel nome del centro di costo come prefisso",
Number of root accounts cannot be less than 4,Il numero di account root non può essere inferiore a 4,
Odometer,Odometro,
Office Equipments,Apparecchiature per ufficio,
Office Maintenance Expenses,Spese di manutenzione dell'ufficio,
Office Rent,Affitto ufficio,
On Hold,In attesa,
On Net Total,Sul totale netto,
One customer can be part of only single Loyalty Program.,Un cliente può far parte di un solo programma fedeltà.,
Online Auctions,Aste online,
"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",Solo il candidato studente con lo stato &quot;Approvato&quot; sarà selezionato nella tabella sottostante.,
Only users with {0} role can register on Marketplace,Solo gli utenti con il ruolo {0} possono registrarsi sul Marketplace,
Open BOM {0},Apri la Distinta Base {0},
Open Item {0},Apri articolo {0},
Open Notifications,Aperte Notifiche,
Open Orders,Ordini aperti,
Open a new ticket,Apri un nuovo ticket,
Opening,Apertura,
Opening (Cr),Opening ( Cr ),
Opening (Dr),Opening ( Dr),
Opening Accounting Balance,Apertura bilancio contabile,
Opening Accumulated Depreciation,Apertura del deprezzamento accumulato,
Opening Accumulated Depreciation must be less than equal to {0},L&#39;apertura del deprezzamento accumulato deve essere inferiore uguale a {0},
Opening Balance,Saldo di apertura,
Opening Balance Equity,Apertura Balance Equità,
Opening Date and Closing Date should be within same Fiscal Year,Data e Data di chiusura di apertura dovrebbe essere entro lo stesso anno fiscale,
Opening Date should be before Closing Date,Data di apertura dovrebbe essere prima Data di chiusura,
Opening Entry Journal,Diario di apertura,
Opening Invoice Creation Tool,Strumento di Creazione di Fattura Tardiva,
Opening Invoice Item,Articolo di Fattura Tardiva,
Opening Invoices,Fatture Tardive,
Opening Invoices Summary,Riepilogo delle Fatture Tardive,
Opening Qty,Quantità di apertura,
Opening Stock,Disponibilità Iniziale,
Opening Stock Balance,Apertura Saldo delle Scorte,
Opening Value,Valore di apertura,
Opening {0} Invoice created,Apertura della {0} fattura creata,
Operation,Operazione,
Operation Time must be greater than 0 for Operation {0},Tempo di funzionamento deve essere maggiore di 0 per Operation {0},
"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operazione {0} più di tutte le ore di lavoro disponibili a workstation {1}, abbattere l&#39;operazione in più operazioni",
Operations,operazioni,
Operations cannot be left blank,Le operazioni non possono essere lasciati in bianco,
Opp Count,Opp Count,
Opp/Lead %,Opp / Lead%,
Opportunities,Opportunità,
Opportunities by lead source,Opportunità per fonte di piombo,
Opportunity,Opportunità,
Opportunity Amount,Importo opportunità,
"Optional. 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)",
Out Qty,out Quantità,
Out Value,Valore out,
Out of Order,Guasto,
Outgoing,In partenza,
Outstanding,In sospeso,
Outstanding Amount,Importo Dovuto,
Outstanding Amt,Importo Dovuto,
Outstanding Cheques and Deposits to clear,Gli assegni in circolazione e depositi per cancellare,
Outstanding for {0} cannot be less than zero ({1}),In sospeso per {0} non può essere inferiore a zero ( {1} ),
Outward taxable supplies(zero rated),Rifornimenti imponibili esteriori (zero valutato),
Overdue,in ritardo,
Overlap in scoring between {0} and {1},Sovrapposizione nel punteggio tra {0} e {1},
Overlapping conditions found between:,Condizioni sovrapposti trovati tra :,
Owner,Proprietario,
PAN,PAN,
POS,POS,
POS Profile,POS Profilo,
POS Profile is required to use Point-of-Sale,Il profilo POS è richiesto per utilizzare Point-of-Sale,
POS Profile required to make POS Entry,POS Profilo tenuto a POS Entry,
POS Settings,Impostazioni POS,
Packed quantity must equal quantity for Item {0} in row {1},La quantità imballata deve essere uguale per l'articolo {0} sulla riga {1},
Packing Slip,Documento di trasporto,
Packing Slip(s) cancelled,Documento(i) di trasporto annullato(i),
Paid,Pagato,
Paid Amount,Importo pagato,
Paid Amount cannot be greater than total negative outstanding amount {0},L'Importo versato non può essere maggiore del totale importo dovuto negativo {0},
Paid amount + Write Off Amount can not be greater than Grand Total,Importo pagato + Importo svalutazione non può essere superiore a Totale generale,
Paid and Not Delivered,Pagato e non consegnato,
Parameter,Parametro,
Parent Item {0} must not be a Stock Item,Articolo padre {0} non deve essere un Articolo in stock,
Parents Teacher Meeting Attendance,Presenza alla riunione degli insegnanti genitori,
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,
Past Due Date,Data già scaduta,
Patient,Paziente,
Patient Appointment,Appuntamento paziente,
Patient Encounter,Incontro paziente,
Patient not found,Paziente non trovato,
Pay Remaining,Paga rimanente,
Pay {0} {1},Paga {0} {1},
Payable,pagabile,
Payable Account,Conto pagabile,
Payment,Pagamento,
Payment Cancelled. Please check your GoCardless Account for more details,Pagamento annullato. Controlla il tuo account GoCardless per maggiori dettagli,
Payment Confirmation,Conferma di pagamento,
Payment Document,Documento di pagamento,
Payment Due Date,Scadenza,
Payment Entries {0} are un-linked,I Pagamenti {0} non sono collegati,
Payment Entry,Pagamento,
Payment Entry already exists,Il Pagamento esiste già,
Payment Entry has been modified after you pulled it. Please pull it again.,Pagamento ingresso è stato modificato dopo l'tirato. Si prega di tirare di nuovo.,
Payment Entry is already created,Il Pagamento è già stato creato,
Payment Failed. Please check your GoCardless Account for more details,Pagamento fallito. Controlla il tuo account GoCardless per maggiori dettagli,
Payment Gateway,Gateway di pagamento,
"Payment Gateway Account not created, please create one manually.","Payment Gateway account non ha creato, per favore creare uno manualmente.",
Payment Gateway Name,Nome gateway di pagamento,
Payment Mode,Modalità di pagamento,
Payment Receipt Note,Nota Ricevuta di pagamento,
Payment Request,Richiesta di pagamento,
Payment Request for {0},Richiesta di pagamento per {0},
Payment Tems,Temi di pagamento,
Payment Term,Termine di pagamento,
Payment Terms,Termini di pagamento,
Payment Terms Template,Modello di termini di pagamento,
Payment Terms based on conditions,Termini di pagamento in base alle condizioni,
Payment Type,Tipo di pagamento,
"Payment Type must be one of Receive, Pay and Internal Transfer","Tipo di pagamento deve essere uno dei Ricevere, Pay e di trasferimento interno",
Payment against {0} {1} cannot be greater than Outstanding Amount {2},Il pagamento contro {0} {1} non può essere maggiore dell'importo dovuto {2},
Payment request {0} created,La richiesta di pagamento {0} è stata creata,
Payments,pagamenti,
Payroll Payable,Payroll da pagare,
Payslip,Busta paga,
Pending Activities,Attività in sospeso,
Pending Amount,Importo in attesa,
Pending Leaves,Ferie in sospeso,
Pending Qty,Quantità in attesa,
Pending Quantity,Quantità in sospeso,
Pending Review,In attesa di validazione,
Pending activities for today,Attività di attesa per oggi,
Pension Funds,Fondi pensione,
Percentage Allocation should be equal to 100%,Percentuale di ripartizione dovrebbe essere pari al 100 %,
Perception Analysis,Analisi della percezione,
Period,periodo,
Period Closing Entry,Entrata Periodo di chiusura,
Period Closing Voucher,Periodo di chiusura Voucher,
Periodicity,Periodicità,
Personal Details,Dettagli personali,
Pharmaceutical,farmaceutico,
Pharmaceuticals,Farmaceutici,
Physician,Medico,
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 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 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 pop-ups,Si prega di abilitare i pop-up,
Please enter 'Is Subcontracted' as Yes or No,Si prega di specificare ' è un Conto lavoro ' come Si o No,
Please enter API Consumer Key,Inserisci la chiave consumer dell&#39;API,
Please enter API Consumer Secret,Inserisci l&#39;API Consumer Secret,
Please enter Account for Change Amount,Si prega di inserire account per quantità di modifica,
Please enter Approving Role or Approving User,Inserisci Approvazione ruolo o Approvazione utente,
Please enter Cost Center,Inserisci Centro di costo,
Please enter Delivery Date,Inserisci la Data di Consegna,
Please enter Employee Id of this sales person,Inserisci ID dipendente di questa persona di vendite,
Please enter Expense Account,Inserisci il Conto uscite,
Please enter Item Code to get Batch Number,Inserisci Codice Articolo per ottenere il numero di lotto,
Please enter Item Code to get batch no,Inserisci il codice Item per ottenere lotto non,
Please enter Item first,Inserisci articolo prima,
Please enter Maintaince Details first,Inserisci Maintaince dettagli prima,
Please enter Planned Qty for Item {0} at row {1},Inserisci pianificato quantità per la voce {0} alla riga {1},
Please enter Preferred Contact Email,Inserisci il contatto preferito Email,
Please enter Production Item first,Inserisci prima articolo Produzione,
Please enter Purchase Receipt first,Si prega di inserire prima la Ricevuta di Acquisto,
Please enter Receipt Document,Si prega di inserire prima il Documento di Ricevimento,
Please enter Reference date,Inserisci Data di riferimento,
Please enter Reqd by Date,Si prega di inserire la data di consegna richiesta,
Please enter Woocommerce Server URL,Inserisci l&#39;URL del server Woocommerce,
Please enter Write Off Account,Inserisci Conto per Svalutazioni,
Please enter atleast 1 invoice in the table,Inserisci atleast 1 fattura nella tabella,
Please enter company first,Inserisci prima azienda,
Please enter company name first,Inserisci il nome della società prima,
Please enter default currency in Company Master,Inserisci valuta predefinita in Azienda Maestro,
Please enter message before sending,Inserisci il messaggio prima di inviarlo,
Please enter parent cost center,Inserisci il centro di costo genitore,
Please enter quantity for Item {0},Inserite la quantità per articolo {0},
Please enter relieving date.,Inserisci la data alleviare .,
Please enter valid Financial Year Start and End Dates,Si prega di inserire valido Esercizio inizio e di fine,
Please enter valid email address,Inserisci indirizzo email valido,
Please enter {0} first,Si prega di inserire {0} prima,
Please fill in all the details to generate Assessment Result.,Si prega di compilare tutti i dettagli per generare il risultato della valutazione.,
Please identify/create Account (Group) for type - {0},Identifica / crea Account (Gruppo) per il tipo - {0},
Please identify/create Account (Ledger) for type - {0},Identificare / creare un account (libro mastro) per il tipo - {0},
Please login as another user to register on Marketplace,Effettua il login come un altro utente per registrarsi sul Marketplace,
Please make sure you really want to delete all the transactions for this company. Your master data will remain as it is. This action cannot be undone.,Assicurati di voler cancellare tutte le transazioni di questa azienda. I dati anagrafici rimarranno così com&#39;è. Questa azione non può essere annullata.,
Please mention Basic and HRA component in Company,Si prega di citare i componenti Basic e HRA in Azienda,
Please mention Round Off Account in Company,Si prega di citare Arrotondamento account in azienda,
Please mention Round Off Cost Center in Company,Si prega di citare Arrotondamento centro di costo in azienda,
Please mention no of visits required,Si prega di citare nessuna delle visite richieste,
Please mention the Lead Name in Lead {0},Si prega di citare il Lead Name in Lead {0},
Please pull items from Delivery Note,Si prega di tirare oggetti da DDT,
Please register the SIREN number in the company information file,Si prega di registrare il numero SIREN nel file delle informazioni aziendali,
Please remove this Invoice {0} from C-Form {1},Si prega di rimuovere questo Invoice {0} dal C-Form {1},
Please save the patient first,Si prega di salvare prima il paziente,
Please save the report again to rebuild or update,Salva di nuovo il rapporto per ricostruire o aggiornare,
"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Seleziona importo assegnato, Tipo fattura e fattura numero in almeno uno di fila",
Please select Apply Discount On,Si prega di selezionare Applica sconto su,
Please select BOM against item {0},Seleziona la BOM rispetto all&#39;articolo {0},
Please select BOM for Item in Row {0},Seleziona la Distinta Base per l'Articolo nella riga {0},
Please select BOM in BOM field for Item {0},Seleziona Distinta Base nel campo Distinta Base per la voce {0},
Please select Category first,Si prega di selezionare Categoria prima,
Please select Charge Type first,Seleziona il tipo di carica prima,
Please select Company,Selezionare prego,
Please select Company and 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 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 field to edit from numpad,Seleziona un campo da modificare da numpad,
Please select a table,Seleziona una tabella,
Please select a valid Date,Si prega di selezionare una data valida,
Please select a value for {0} quotation_to {1},Si prega di selezionare un valore per {0} quotation_to {1},
Please select a warehouse,Seleziona un magazzino,
Please select at least one domain.,Si prega di selezionare almeno un dominio.,
Please select correct account,Seleziona account corretto,
Please select date,Seleziona la data,
Please select item code,Si prega di selezionare il codice articolo,
Please select month and year,Si prega di selezionare mese e anno,
Please select the Company,Si prega di selezionare la società,
Please select the Multiple Tier Program type for more than one collection rules.,Seleziona il tipo di Programma a più livelli per più di una regola di raccolta.,
Please select the assessment group other than 'All Assessment Groups',Seleziona il gruppo di valutazione diverso da &#39;Tutti i gruppi di valutazione&#39;,
Please select the document type first,Si prega di selezionare il tipo di documento prima,
Please select weekly off day,Seleziona il giorno di riposo settimanale,
Please select {0},Si prega di selezionare {0},
Please select {0} first,Si prega di selezionare {0} prima,
Please set 'Apply Additional Discount On',Impostare 'Applicare lo Sconto Aggiuntivo su',
Please set 'Asset Depreciation Cost Center' in Company {0},Si prega di impostare &#39;Asset Centro ammortamento dei costi&#39; in compagnia {0},
Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Si prega di impostare &#39;Conto / perdita di guadagno su Asset Disposal&#39; in compagnia {0},
Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Imposta Account in Magazzino {0} o Account inventario predefinito in Azienda {1},
Please set B2C Limit in GST Settings.,Imposta il limite B2C nelle impostazioni GST.,
Please set Company,Imposti la Società,
Please set Company filter blank if Group By is 'Company',Impostare il filtro aziendale vuoto se Group By è &#39;Azienda&#39;,
Please set Default Payroll Payable Account in Company {0},Si prega di impostare di default Payroll conto da pagare in azienda {0},
Please set Depreciation related Accounts in Asset Category {0} or Company {1},Si prega di impostare gli account relativi ammortamenti nel settore Asset Categoria {0} o {1} società,
Please set GST Accounts in GST Settings,Si prega di impostare account GST in Impostazioni GST,
Please set Hotel Room Rate on {},Si prega di impostare la tariffa della camera dell&#39;hotel su {},
Please set Number of Depreciations Booked,Si prega di impostare Numero di ammortamenti Prenotato,
Please set Unrealized Exchange Gain/Loss Account in Company {0},Imposta l&#39;account di guadagno / perdita di cambio non realizzato nella società {0},
Please set User ID field in an Employee record to set Employee Role,Impostare campo ID utente in un record Employee impostare Ruolo Employee,
Please set a default Holiday List for Employee {0} or Company {1},Si prega di impostare un valore predefinito lista per le vacanze per i dipendenti {0} o {1} società,
Please set account in Warehouse {0},Imposta l&#39;account in Magazzino {0},
Please set an active menu for Restaurant {0},Imposta un menu attivo per il ristorante {0},
Please set associated account in Tax Withholding Category {0} against Company {1},Imposta l&#39;account associato in Categoria ritenuta d&#39;acconto {0} contro l&#39;azienda {1},
Please set at least one row in the Taxes and Charges Table,Si prega di impostare almeno una riga nella tabella Imposte e spese,
Please set default Cash or Bank account in Mode of Payment {0},Si prega di impostare di default Contanti o conto bancario in Modalità di pagamento {0},
Please set default account in Salary Component {0},Si prega di impostare account predefinito di stipendio componente {0},
Please set default customer in Restaurant Settings,Impostare il cliente predefinito in Impostazioni ristorante,
Please set default {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 Customer Address,Si prega di impostare l&#39;indirizzo del cliente,
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 {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 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 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,
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,
Prev,prev,
Preview,anteprima,
Previous Financial Year is not closed,Il Precedente Esercizio Finanziario non è chiuso,
Price,Prezzo,
Price List,Listino prezzi,
Price List Currency not selected,Listino Prezzi Valuta non selezionati,
Price List Rate,Prezzo di listino,
Price List master.,Maestro listino prezzi.,
Price List must be applicable for Buying or Selling,Prezzo di listino deve essere applicabile per l'acquisto o la vendita di,
Price List {0} is disabled or does not exist,Listino {0} è disattivato o non esiste,
Price or product discount slabs are required,Sono richiesti lastre di prezzo o di sconto del prodotto,
Pricing,Prezzi,
Pricing Rule,Regola Prezzi,
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Regola Prezzi viene prima selezionato in base al 'applicare sul campo', che può essere prodotto, Articolo di gruppo o di marca.",
"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Regola Pricing è fatto per sovrascrivere Listino Prezzi / definire la percentuale di sconto, sulla base di alcuni criteri.",
Pricing Rule {0} is updated,La regola dei prezzi {0} è stata aggiornata,
Pricing Rules are further filtered based on quantity.,Regole dei prezzi sono ulteriormente filtrati in base alla quantità.,
Primary Address Details,Dettagli indirizzo primario,
Primary Contact Details,Dettagli del contatto principale,
Print Format,Formato Stampa,
Print IRS 1099 Forms,Stampa moduli IRS 1099,
Print Report Card,Stampa la pagella,
Print Settings,Impostazioni di stampa,
Print and Stationery,Di stampa e di cancelleria,
Print settings updated in respective print format,Le impostazioni di stampa aggiornati nel rispettivo formato di stampa,
Print taxes with zero amount,Stampa le tasse con importo zero,
Printing and Branding,Stampa e branding,
Private Equity,Private Equity,
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,
Proposal Writing,Scrivere proposta,
Proposal/Price Quote,Proposta / preventivo prezzi,
Prospecting,prospezione,
Provisional Profit / Loss (Credit),Risultato provvisorio / Perdita (credito),
Publications,pubblicazioni,
Publish Items on Website,Pubblica articoli sul Sito Web,
Published,Pubblicato,
Publishing,editoria,
Purchase,Acquisto,
Purchase Amount,Ammontare dell&#39;acquisto,
Purchase Date,Data di acquisto,
Purchase Invoice,Fattura di Acquisto,
Purchase Invoice {0} is already submitted,La Fattura di Acquisto {0} è già stata presentata,
Purchase Manager,Responsabile Acquisti,
Purchase Master Manager,Direttore Acquisti,
Purchase Order,Ordine di acquisto,
Purchase Order Amount,Importo ordine d&#39;acquisto,
Purchase Order Amount(Company Currency),Importo ordine d&#39;acquisto (valuta dell&#39;azienda),
Purchase Order Date,Data dell&#39;ordine d&#39;acquisto,
Purchase Order Items not received on time,Ordine d&#39;acquisto Articoli non ricevuti in tempo,
Purchase Order number required for Item {0},Numero ordine di acquisto richiesto per la voce {0},
Purchase Order to Payment,Ordine d&#39;acquisto a pagamento,
Purchase Order {0} is not submitted,L'ordine di Acquisto {0} non è stato presentato,
Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Gli ordini di acquisto non sono consentiti per {0} a causa di una posizione di scorecard di {1}.,
Purchase Orders given to Suppliers.,Ordini di acquisto emessi ai Fornitori.,
Purchase Price List,Acquisto Listino Prezzi,
Purchase Receipt,Ricevuta di Acquisto,
Purchase Receipt {0} is not submitted,La Ricevuta di Acquisto {0} non è stata presentata,
Purchase Tax Template,Acquisto fiscale Template,
Purchase User,Utente Acquisti,
Purchase orders help you plan and follow up on your purchases,Gli ordini di acquisto ti aiutano a pianificare e monitorare i tuoi acquisti,
Purchasing,Acquisto,
Purpose must be one of {0},Scopo deve essere uno dei {0},
Qty,Qtà,
Qty To Manufacture,Qtà da Produrre,
Qty Total,Qtà totale,
Qty for {0},Quantità per {0},
Qualification,Qualifica,
Quality,Qualità,
Quality Action,Azione di qualità,
Quality Goal.,Obiettivo di qualità,
Quality Inspection,Controllo Qualità,
Quality Inspection: {0} is not submitted for the item: {1} in row {2},Ispezione di qualità: {0} non è stato inviato per l&#39;articolo: {1} nella riga {2},
Quality Management,Gestione della qualità,
Quality Meeting,Riunione di qualità,
Quality Procedure,Procedura di qualità,
Quality Procedure.,Procedura di qualità,
Quality Review,Revisione della qualità,
Quantity,Quantità,
Quantity for Item {0} must be less than {1},Quantità per la voce {0} deve essere inferiore a {1},
Quantity in row {0} ({1}) must be same as manufactured quantity {2},Quantità in riga {0} ( {1} ) deve essere uguale quantità prodotta {2},
Quantity must be less than or equal to {0},La quantità deve essere minore o uguale a {0},
Quantity must not be more than {0},Quantità non deve essere superiore a {0},
Quantity required for Item {0} in row {1},Quantità necessaria per la voce {0} in riga {1},
Quantity should be greater than 0,Quantità deve essere maggiore di 0,
Quantity to Make,Quantità da fare,
Quantity to Manufacture must be greater than 0.,Quantità di Fabbricazione deve essere maggiore di 0.,
Quantity to Produce,Quantità da produrre,
Quantity to Produce can not be less than Zero,La quantità da produrre non può essere inferiore a zero,
Query Options,Opzioni query,
Queued for replacing the BOM. It may take a few minutes.,In coda per la sostituzione della BOM. Potrebbero essere necessari alcuni minuti.,
Queued for updating latest price in all Bill of Materials. It may take a few minutes.,In coda per aggiornare il prezzo più recente in tutte le fatture dei materiali. Può richiedere alcuni minuti.,
Quick Journal Entry,Breve diario,
Quot Count,Quot Count,
Quot/Lead %,Quot / Lead%,
Quotation,Preventivo,
Quotation {0} is cancelled,Preventivo {0} è annullato,
Quotation {0} not of type {1},Preventivo {0} non di tipo {1},
Quotations,Preventivi,
"Quotations are proposals, bids you have sent to your customers","Le quotazioni sono proposte, offerte che hai inviato ai tuoi clienti",
Quotations received from Suppliers.,Preventivi ricevuti dai Fornitori.,
Quotations: ,Preventivi:,
Quotes to Leads or Customers.,Preventivo a Leads o a Clienti.,
RFQs are not allowed for {0} due to a scorecard standing of {1},RFQ non sono consentite per {0} a causa del valutazione {1},
Range,Intervallo,
Rate,Prezzo,
Rate:,Vota:,
Rating,Valutazione,
Raw Material,Materia prima,
Raw Materials,Materiali grezzi,
Raw Materials cannot be blank.,Materie prime non può essere vuoto.,
Re-open,Riaprire,
Read blog,Leggi il blog,
Read the ERPNext Manual,Leggere il manuale ERPNext,
Reading Uploaded File,Lettura del file caricato,
Real Estate,Immobiliare,
Reason For Putting On Hold,Motivo per mettere in attesa,
Reason for Hold,Motivo della sospensione,
Reason for hold: ,Motivo della sospensione:,
Receipt,Ricevuta,
Receipt document must be submitted,La Ricevuta deve essere presentata,
Receivable,ricevibile,
Receivable Account,Conto Crediti,
Received,Ricevuto,
Received On,Ricevuto On,
Received Quantity,Quantità ricevuta,
Received Stock Entries,Voci di magazzino ricevute,
Receiver List is empty. Please create Receiver List,Lista Receiver è vuoto . Si prega di creare List Ricevitore,
Recipients,Destinatari,
Reconcile,conciliare,
"Record of all communications of type email, phone, chat, visit, etc.","Salva tutte le comunicazioni di tipo e-mail, telefono, chat, visita, ecc",
Records,Records,
Redirect URL,URL di reindirizzamento,
Ref,Rif,
Ref Date,Data Rif,
Reference,Riferimento,
Reference #{0} dated {1},Riferimento # {0} datato {1},
Reference Date,Data di riferimento,
Reference Doctype must be one of {0},Riferimento Doctype deve essere uno dei {0},
Reference Document,Documento di riferimento,
Reference Document Type,Riferimento Tipo di documento,
Reference No & Reference Date is required for {0},N. di riferimento & Reference Data è necessario per {0},
Reference No and Reference Date is mandatory for Bank transaction,Di riferimento e di riferimento Data è obbligatoria per la transazione Bank,
Reference No is mandatory if you entered Reference Date,N. di riferimento è obbligatoria se hai inserito Reference Data,
Reference No.,Numero di riferimento,
Reference Number,Numero di riferimento,
Reference 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,
Register,Registrare,
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,
Report,Report,
Report Type,Tipo Report,
Report Type is mandatory,Tipo di Report è obbligatorio,
Reports,Report,
Reqd By Date,Data di Consegna,
Reqd Qty,Reqd Qty,
Request for Quotation,Richiesta di offerta,
Request for Quotations,Richieste di offerta,
Request for Raw Materials,Richiesta di materie prime,
Request for purchase.,Richiesta di acquisto.,
Request for quotation.,Richiesta di offerta.,
Requested Qty,richiesto Quantità,
"Requested Qty: Quantity requested for purchase, but not ordered.","Richiesto Quantità : Quantità richiesto per l'acquisto , ma non ordinato.",
Requesting Site,Sito richiedente,
Requesting payment against {0} {1} for amount {2},Richiesta di Pagamento contro {0} {1} per quantità {2},
Requestor,Richiedente,
Required On,Richiesto On,
Required Qty,Quantità richiesta,
Required Quantity,Quantità richiesta,
Reschedule,Riprogrammare,
Research,Ricerca,
Research & Development,Ricerca & Sviluppo,
Researcher,Ricercatore,
Resend Payment Email,Invia di nuovo pagamento Email,
Reserve Warehouse,Riserva magazzino,
Reserved Qty,Riservato Quantità,
Reserved Qty for Production,Quantità Riservata per la Produzione,
Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Qtà riservata per la produzione: quantità di materie prime per la produzione di articoli.,
"Reserved Qty: Quantity ordered for sale, but not delivered.","Riservato Quantità : quantità ordinata in vendita , ma non consegnati .",
Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Il magazzino riservato è obbligatorio per l&#39;articolo {0} in materie prime fornite,
Reserved for manufacturing,Riservato per la produzione,
Reserved for sale,Riservato per la vendita,
Reserved for sub contracting,Riservato per il subappalto,
Resistant,Resistente,
Resolve error and upload again.,Risolvi errore e carica di nuovo.,
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,
Rooms Booked,Camere prenotate,
Root Company,Azienda principale,
Root Type,Root Tipo,
Root Type is mandatory,Root Type è obbligatorio,
Root cannot be edited.,Root non può essere modificato .,
Root cannot have a parent cost center,Root non può avere un centro di costo genitore,
Round Off,Arrotondare,
Rounded Total,Totale arrotondato,
Route,Itinerario,
Row # {0}: ,Row # {0}:,
Row # {0}: Batch No must be same as {1} {2},Fila # {0}: Lotto n deve essere uguale a {1} {2},
Row # {0}: Cannot return more than {1} for Item {2},Row # {0}: Impossibile restituire più di {1} per la voce {2},
Row # {0}: Rate cannot be greater than the rate used in {1} {2},Riga # {0}: la velocità non può essere superiore alla velocità utilizzata in {1} {2},
Row # {0}: Serial No is mandatory,Fila # {0}: N. di serie è obbligatoria,
Row # {0}: Serial No {1} does not match with {2} {3},Fila # {0}: N. di serie {1} non corrisponde con {2} {3},
Row #{0} (Payment Table): Amount must be negative,Riga # {0} (Tabella pagamenti): l&#39;importo deve essere negativo,
Row #{0} (Payment Table): Amount must be positive,Riga # {0} (Tabella pagamenti): l&#39;importo deve essere positivo,
Row #{0}: Account {1} does not belong to company {2},Riga n. {0}: l&#39;account {1} non appartiene all&#39;azienda {2},
Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Riga # {0}: L'Importo assegnato non può essere superiore all'importo dovuto.,
"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Row # {0}: Asset {1} non può essere presentata, è già {2}",
Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Riga # {0}: impossibile impostare Tasso se l&#39;importo è maggiore dell&#39;importo fatturato per l&#39;articolo {1}.,
Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Row # {0}: Data di Liquidazione {1} non può essere prima Assegno Data {2},
Row #{0}: Duplicate entry in References {1} {2},Riga # {0}: duplica la voce nei riferimenti {1} {2},
Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Riga # {0}: la Data di Consegna Confermata non può essere precedente all'Ordine di Acquisto,
Row #{0}: Item added,Riga # {0}: elemento aggiunto,
Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Row # {0}: diario {1} non ha conto {2} o già confrontato con un altro buono,
Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Fila # {0}: Non è consentito cambiare il Fornitore quando l'Ordine di Acquisto esiste già,
Row #{0}: Please set reorder quantity,Fila # {0}: Si prega di impostare la quantità di riordino,
Row #{0}: Please specify Serial No for Item {1},Row # {0}: Si prega di specificare Numero d'ordine per la voce {1},
Row #{0}: Qty increased by 1,Riga # {0}: Qtà aumentata di 1,
Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Riga #{0}: il Rapporto deve essere lo stesso di {1}: {2} ({3} / {4}),
Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Riga # {0}: Il tipo di documento di riferimento deve essere uno dei requisiti di spesa o voce del giornale,
"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Row # {0}: Riferimento Tipo di documento deve essere uno di Ordine di Acquisto, fatture di acquisto o diario",
Row #{0}: Rejected Qty can not be entered in Purchase Return,Row # {0}: Rifiutato Quantità non è possibile entrare in acquisto di ritorno,
Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Fila # {0}: Rifiutato Warehouse è obbligatoria per la voce respinto {1},
Row #{0}: Reqd by Date cannot be before Transaction Date,Riga n. {0}: La data di consegna richiesta non può essere precedente alla data della transazione,
Row #{0}: Set Supplier for item {1},Fila # {0}: Impostare Fornitore per Articolo {1},
Row #{0}: Status must be {1} for Invoice Discounting {2},Riga # {0}: lo stato deve essere {1} per lo sconto fattura {2},
"Row #{0}: The batch {1} has only {2} qty. Please select another batch which has {3} qty available or split the row into multiple rows, to deliver/issue from multiple batches","Riga # {0}: Il lotto {1} ha solo {2} qta. Si prega di selezionare un altro lotto che dispone di {3} qta oppure dividere la riga in più righe, per consegnare/emettere da più lotti",
Row #{0}: Timings conflicts with row {1},Row # {0}: conflitti Timings con riga {1},
Row #{0}: {1} can not be negative for item {2},Row # {0}: {1} non può essere negativo per la voce {2},
Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Fila No {0}: Importo non può essere maggiore di attesa Importo contro Rimborso Spese {1}. In attesa importo è {2},
Row {0} : Operation is required against the raw material item {1},Riga {0}: l&#39;operazione è necessaria per l&#39;articolo di materie prime {1},
Row {0}# 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}: Activity Type is mandatory.,Riga {0}: Tipo Attività è obbligatoria.,
Row {0}: Advance against Customer must be credit,Riga {0}: Advance contro il Cliente deve essere di credito,
Row {0}: Advance against Supplier must be debit,Riga {0}: L'anticipo verso Fornitore deve essere un debito,
Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Riga {0}: l'importo assegnato {1} deve essere inferiore o uguale alI'importo del Pagamento {2},
Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Riga {0}: l'importo assegnato {1} deve essere inferiore o uguale alla fatturazione dell'importo dovuto {2},
Row {0}: An Reorder entry already exists for this warehouse {1},Riga {0}: Una voce di riordino esiste già per questo magazzino {1},
Row {0}: Bill of Materials not found for the Item {1},Riga {0}: Distinta materiali non trovato per la voce {1},
Row {0}: Conversion Factor is mandatory,Riga {0}: fattore di conversione è obbligatoria,
Row {0}: Cost center is required for an item {1},Riga {0}: è necessario un centro di costo per un elemento {1},
Row {0}: Credit entry can not be linked with a {1},Riga {0}: ingresso di credito non può essere collegato con un {1},
Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Riga {0}: Valuta del BOM # {1} deve essere uguale alla valuta selezionata {2},
Row {0}: Debit entry can not be linked with a {1},Riga {0}: addebito iscrizione non può essere collegato con un {1},
Row {0}: Depreciation Start Date is required,Riga {0}: è richiesta la Data di inizio ammortamento,
Row {0}: Enter location for the asset item {1},Riga {0}: inserisci la posizione per la voce di bene {1},
Row {0}: Exchange Rate is mandatory,Riga {0}: Tasso di cambio è obbligatorio,
Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Riga {0}: Valore previsto dopo che la vita utile deve essere inferiore all&#39;importo di acquisto lordo,
Row {0}: From Time and To Time is mandatory.,Riga {0}: From Time To Time ed è obbligatoria.,
Row {0}: From Time and To Time of {1} is overlapping with {2},Riga {0}: From Time To Time e di {1} si sovrappone {2},
Row {0}: From time must be less than to time,Riga {0}: da ora deve essere inferiore a ora,
Row {0}: Hours value must be greater than zero.,Riga {0}: valore Ore deve essere maggiore di zero.,
Row {0}: Invalid reference {1},Riga {0}: Riferimento non valido {1},
Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Riga {0}: Partner / Account non corrisponde con {1} / {2} {3} {4},
Row {0}: Party Type and Party is required for Receivable / Payable account {1},Riga {0}: Tipo Partner e Partner sono necessari per conto Crediti / Debiti  {1},
Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Riga {0}: Pagamento contro vendite / ordine di acquisto deve essere sempre contrassegnato come anticipo,
Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,Riga {0}: Abilita 'è Advance' contro Account {1} se questa è una voce di anticipo.,
Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Riga {0}: impostare il motivo dell&#39;esenzione fiscale in Imposte e addebiti,
Row {0}: Please set the Mode of Payment in Payment Schedule,Riga {0}: imposta la Modalità di pagamento in Pianificazione pagamenti,
Row {0}: Please set the correct code on Mode of Payment {1},Riga {0}: imposta il codice corretto su Modalità di pagamento {1},
Row {0}: Qty is mandatory,Riga {0}: Quantità è obbligatorio,
Row {0}: Quality Inspection rejected for item {1},Riga {0}: Ispezione di qualità rifiutata per l&#39;articolo {1},
Row {0}: UOM Conversion Factor is mandatory,Riga {0}: UOM fattore di conversione è obbligatoria,
Row {0}: select the workstation against the operation {1},Riga {0}: seleziona la workstation rispetto all&#39;operazione {1},
Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Riga {0}: {1} Numeri di serie necessari per l&#39;articolo {2}. Hai fornito {3}.,
Row {0}: {1} must be greater than 0,Riga {0}: {1} deve essere maggiore di 0,
Row {0}: {1} {2} does not match with {3},Riga {0}: {1} {2} non corrisponde con {3},
Row {0}:Start Date must be before End Date,Riga {0} : Data di inizio deve essere precedente Data di fine,
Rows with duplicate due dates in other rows were found: {0},Righe con date di scadenza duplicate in altre righe sono state trovate: {0},
Rules for adding shipping costs.,Regole per l'aggiunta di spese di spedizione .,
Rules for applying pricing and discount.,Le modalità di applicazione di prezzi e sconti .,
S.O. No.,S.O. No.,
SGST Amount,Importo SGST,
SO Qty,SO Quantità,
Safety Stock,Scorta di sicurezza,
Salary,Stipendio,
Salary Slip submitted for period from {0} to {1},Salary Slip presentato per il periodo da {0} a {1},
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,
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 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,
Sand,Sabbia,
Saturday,Sabato,
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,
Scorecards,Scorecards,
Scrapped,Demolita,
Search,Cerca,
Search Results,risultati di ricerca,
Search Sub Assemblies,Cerca Sub Assemblies,
"Search by item code, serial number, batch no or barcode","Cerca per codice articolo, numero di serie, numero di lotto o codice a barre",
"Seasonality for setting budgets, targets etc.","Stagionalità per impostare i budget, obiettivi ecc",
Secret Key,Chiave segreta,
Secretary,segretario,
Section Code,Codice di sezione,
Secured Loans,Prestiti garantiti,
Securities & Commodity Exchanges,Securities & borse merci,
Securities and Deposits,I titoli e depositi,
See All Articles,Vedi tutti gli articoli,
See all open tickets,Vedi tutti i biglietti aperti,
See past orders,Vedi gli ordini passati,
See past quotations,Vedi le citazioni precedenti,
Select,Selezionare,
Select Alternate Item,Seleziona elemento alternativo,
Select Attribute Values,Seleziona i valori degli attributi,
Select BOM,Seleziona la Distinta Materiali,
Select BOM and Qty for Production,Selezionare Distinta Materiali e Quantità per la  Produzione,
"Select BOM, Qty and For Warehouse","Selezionare DBA, Qtà e Per magazzino",
Select Batch,Seleziona batch,
Select Batch Numbers,Selezionare i numeri di batch,
Select Brand...,Seleziona Marchio ...,
Select Company,Seleziona Azienda,
Select Company...,Seleziona Company ...,
Select Customer,Seleziona cliente,
Select Days,Seleziona giorni,
Select Default Supplier,Selezionare il Fornitore predefinito,
Select DocType,Selezionare DocType,
Select Fiscal Year...,Selezionare l'anno fiscale ...,
Select Item (optional),Seleziona voce (opzionale),
Select Items based on Delivery Date,Selezionare gli elementi in base alla Data di Consegna,
Select Items to Manufacture,Selezionare gli elementi da Fabbricazione,
Select Loyalty Program,Seleziona il programma fedeltà,
Select Patient,Selezionare Paziente,
Select Possible Supplier,Selezionare il Fornitore Possibile,
Select 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 at least one value from each of the attributes.,Seleziona almeno un valore da ciascuno degli attributi.,
Select change amount account,conto importo Selezionare cambiamento,
Select company first,Seleziona prima la società,
Select students manually for the Activity based Group,Selezionare manualmente gli studenti per il gruppo basato sulle attività,
Select the customer or supplier.,Seleziona il cliente o il fornitore.,
Select the nature of your business.,Selezionare la natura della vostra attività.,
Select the program first,Selezionare prima il programma,
Select to add Serial Number.,Selezionare per aggiungere il numero di serie.,
Select your Domains,Seleziona i tuoi domini,
Selected Price List should have buying and selling fields checked.,Il listino prezzi selezionato deve contenere i campi di acquisto e vendita.,
Sell,Vendere,
Selling,Vendite,
Selling Amount,Importo di vendita,
Selling Price List,Listino prezzi di vendita,
Selling Rate,Tasso di vendita,
"Selling must be checked, if Applicable For is selected as {0}","Vendita deve essere controllato, se applicabile per è selezionato come {0}",
Send Grant Review Email,Invia e-mail di revisione di Grant,
Send Now,Invia Ora,
Send SMS,Invia SMS,
Send mass SMS to your contacts,Invia SMS di massa ai tuoi contatti,
Sensitivity,sensibilità,
Sent,Inviati,
Serial No and Batch,N. di serie e batch,
Serial No is mandatory for Item {0},Numero d'ordine è obbligatorio per la voce {0},
Serial No {0} does not belong to Batch {1},Il numero di serie {0} non appartiene a Batch {1},
Serial No {0} does not belong to Delivery Note {1},Serial No {0} non appartiene alla Consegna Nota {1},
Serial No {0} does not belong to Item {1},Serial No {0} non appartiene alla voce {1},
Serial No {0} does not belong to Warehouse {1},Serial No {0} non appartiene al Warehouse {1},
Serial No {0} does not belong to any Warehouse,N. di serie {0} non appartiene ad alcun magazzino,
Serial No {0} does not exist,Serial No {0} non esiste,
Serial No {0} has already been received,Serial No {0} è già stato ricevuto,
Serial No {0} is under maintenance contract upto {1},Serial No {0} è sotto contratto di manutenzione fino a {1},
Serial No {0} is under warranty upto {1},Serial No {0} è in garanzia fino a {1},
Serial No {0} not found,Serial No {0} non trovato,
Serial No {0} not in stock,Serial No {0} non in magazzino,
Serial No {0} quantity {1} cannot be a fraction,Serial No {0} {1} quantità non può essere una frazione,
Serial Nos Required for Serialized Item {0},Serial Nos Obbligatorio per la voce Serialized {0},
Serial Number: {0} is already referenced in Sales Invoice: {1},Numero di serie: {0} è già indicato nella fattura di vendita: {1},
Serial Numbers,Numeri seriali,
Serial Numbers in row {0} does not match with Delivery Note,I numeri seriali nella riga {0} non corrispondono alla nota di consegna,
Serial no {0} has been already returned,Il numero di serie {0} è già stato restituito,
Serial number {0} entered more than once,Numero di serie {0} è entrato più di una volta,
Serialized Inventory,Serialized Inventario,
Series Updated,Serie aggiornata,
Series Updated Successfully,Serie aggiornata con successo,
Series is mandatory,La serie è obbligatoria,
Service,servizio,
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 Lost,Imposta come persa,
Set as Open,Imposta come aperto,
Set default inventory account for perpetual inventory,Imposta l&#39;account di inventario predefinito per l&#39;inventario perpetuo,
Set this if the customer is a Public Administration company.,Impostare questo se il cliente è una società della pubblica amministrazione.,
Set {0} in asset category {1} or company {2},Imposta {0} nella categoria di asset {1} o nella società {2},
"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Impostazione Eventi a {0}, in quanto il dipendente attaccato al di sotto personale di vendita non dispone di un ID utente {1}",
Setting defaults,Impostazione delle impostazioni predefinite,
Setting up Email,Configurazione della posta elettronica,
Setting up Email Account,Impostazione di account e-mail,
Setting up Employees,Impostazione dipendenti,
Setting up Taxes,Impostazione Tasse,
Setting up company,Costituzione di società,
Settings,Impostazioni,
"Settings for online shopping cart such as shipping rules, price list etc.","Impostazioni carrello della spesa, come Tipi di Spedizione, Listino Prezzi ecc",
Settings for website homepage,Impostazioni per homepage del sito,
Settings for website product listing,Impostazioni per l&#39;elenco dei prodotti del sito web,
Settled,sistemato,
Setup Gateway accounts.,Conti Gateway Setup.,
Setup SMS gateway settings,Configura impostazioni gateway SMS,
Setup cheque dimensions for printing,Configurazione Dimensioni Assegno per la stampa,
Setup default values for POS Invoices,Imposta i valori predefiniti per le fatture POS,
Setup mode of POS (Online / Offline),Imposta modalità del POS (Online / Offline),
Setup your Institute in ERPNext,Imposta il tuo istituto in ERPNext,
Share Balance,Condividi saldo,
Share Ledger,Condividi libro mastro,
Share Management,Gestione delle azioni,
Share Transfer,Condividi trasferimento,
Share Type,Condividi tipo,
Shareholder,Azionista,
Ship To State,Spedire allo stato,
Shipments,Spedizioni,
Shipping 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 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 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,
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}",
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,
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 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 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,
Student,Alunno,
Student Activity,Attività studentesca,
Student Address,Indirizzo studente,
Student Admissions,Ammissioni di studenti,
Student Attendance,La partecipazione degli studenti,
"Student Batches help you track attendance, assessments and fees for students","I lotti degli studenti aiutano a tenere traccia di presenza, le valutazioni e le tasse per gli studenti",
Student Email Address,Student Indirizzo e-mail,
Student Email ID,Student Email ID,
Student Group,Gruppo Student,
Student Group Strength,Forza del gruppo studente,
Student Group is already updated.,Il gruppo studente è già aggiornato.,
Student Group: ,Gruppo di studenti:,
Student ID,Student ID,
Student ID: ,ID studente:,
Student LMS Activity,Attività LMS per studenti,
Student Mobile No.,No. studente in mobilità,
Student Name,Nome dello studente,
Student Name: ,Nome dello studente:,
Student Report Card,Student Report Card,
Student is already enrolled.,Studente è già registrato.,
Student {0} - {1} appears Multiple times in row {2} & {3},Studente {0} - {1} compare più volte nella riga {2} e {3},
Student {0} does not belong to group {1},Lo studente {0} non appartiene al gruppo {1},
Student {0} exist against student applicant {1},Studente {0} esiste contro richiedente studente {1},
"Students are at the heart of the system, add all your students","Gli studenti sono al cuore del sistema, aggiungere tutti gli studenti",
Sub Assemblies,sub Assemblies,
Sub Type,Sottotipo,
Sub-contracting,Subappalto,
Subcontract,Conto lavoro,
Subject,Oggetto,
Submit,Conferma,
Submit this Work Order for further processing.,Invia questo ordine di lavoro per ulteriori elaborazioni.,
Subscription,Sottoscrizione,
Subscription Management,Gestione delle iscrizioni,
Subscriptions,Sottoscrizioni,
Subtotal,Sub Totale,
Successful,Riuscito,
Successfully Reconciled,Riconciliati correttamente,
Successfully Set Supplier,Impostare correttamente il fornitore,
Successfully created payment entries,Voci di pagamento create con successo,
Successfully deleted all transactions related to this company!,"Tutte le operazioni relative a questa società, sono state cancellate con successo!",
Sum of Scores of Assessment Criteria needs to be {0}.,Somma dei punteggi di criteri di valutazione deve essere {0}.,
Sum of points for all goals should be 100. It is {0},Somma dei punti per tutti gli obiettivi dovrebbero essere 100. E &#39;{0},
Summary,Sommario,
Summary for this month and pending activities,Riepilogo per questo mese e le attività in corso,
Summary for this week and pending activities,Riepilogo per questa settimana e le attività in corso,
Sunday,Domenica,
Suplier,suplier,
Supplier,Fornitore,
Supplier Group,Gruppo di fornitori,
Supplier Group master.,Gruppo di fornitori master.,
Supplier Id,ID fornitore,
Supplier Invoice Date cannot be greater than Posting Date,La data Fattura Fornitore non può essere superiore della Data Registrazione,
Supplier Invoice No,Fattura Fornitore N.,
Supplier Invoice No exists in Purchase Invoice {0},La Fattura Fornitore non esiste nella Fattura di Acquisto {0},
Supplier Name,Nome Fornitore,
Supplier Part No,Articolo Fornitore No,
Supplier Quotation,Preventivo Fornitore,
Supplier Scorecard,Scorecard dei fornitori,
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Magazzino Fornitore obbligatorio per ricevuta d'acquisto del conto lavoro,
Supplier database.,Database dei fornitori.,
Supplier {0} not found in {1},Fornitore {0} non trovato in {1},
Supplier(s),Fornitore(i),
Supplies made to UIN holders,Forniture effettuate ai possessori di UIN,
Supplies made to Unregistered Persons,Forniture effettuate a persone non registrate,
Suppliies made to Composition Taxable Persons,Supplementi fatti ai soggetti passivi di composizione,
Supply Type,Tipo di fornitura,
Support,Post Vendita,
Support Analytics,Analytics Support,
Support Settings,Impostazioni di supporto,
Support Tickets,Supporta i biglietti,
Support queries from customers.,Supportare le query da parte dei clienti.,
Susceptible,suscettibile,
Sync has been temporarily disabled because maximum retries have been exceeded,La sincronizzazione è stata temporaneamente disabilitata perché sono stati superati i tentativi massimi,
Syntax error in condition: {0},Errore di sintassi nella condizione: {0},
Syntax error in formula or condition: {0},Errore di sintassi nella formula o una condizione: {0},
System Manager,System Manager,
TDS Rate %,Tasso TDS%,
Tap items to add them here,Tocca gli elementi da aggiungere qui,
Target,Obiettivo,
Target ({}),Bersaglio ({}),
Target On,obiettivo On,
Target Warehouse,Magazzino di Destinazione,
Target warehouse is mandatory for row {0},Il Magazzino di Destinazione per il rigo {0},
Task,Attività,
Tasks,Attività,
Tasks have been created for managing the {0} disease (on row {1}),Le attività sono state create per la gestione della {0} malattia (sulla riga {1}),
Tax,Tassa,
Tax Assets,Assetti fiscali,
Tax Category,Categoria fiscale,
Tax Category for overriding tax rates.,Categoria fiscale per aliquote fiscali prevalenti.,
"Tax Category has been changed to ""Total"" because all the Items are non-stock items",La categoria fiscale è stata modificata in &quot;Totale&quot; perché tutti gli articoli sono oggetti non in magazzino,
Tax ID,P. IVA / Cod. Fis.,
Tax Id: ,ID fiscale:,
Tax Rate,Aliquota fiscale,
Tax Rule Conflicts with {0},Conflitti norma fiscale con {0},
Tax Rule for transactions.,Regola fiscale per le operazioni.,
Tax Template is mandatory.,Tax modello è obbligatoria.,
Tax Withholding rates to be applied on transactions.,Tassi ritenuti alla fonte da applicare sulle transazioni.,
Tax template for buying transactions.,Modelli fiscali per le transazioni di acquisto.,
Tax template for item tax rates.,Modello fiscale per le aliquote fiscali dell&#39;articolo.,
Tax template for selling transactions.,Modelli fiscali per le transazioni di vendita.,
Taxable Amount,Imponibile,
Taxes,Tasse,
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,
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 field From Shareholder cannot be blank,Il campo Dall&#39;Azionista non può essere vuoto,
The field To Shareholder cannot be blank,Il campo per l&#39;azionista non può essere vuoto,
The fields From Shareholder and To Shareholder cannot be blank,I campi Dall&#39;Azionista e All&#39;Azionista non possono essere vuoti,
The folio numbers are not matching,I numeri del folio non corrispondono,
The holiday on {0} is not between From Date and To Date,La vacanza su {0} non è tra da Data e A Data,
The name of the institute for which you are setting up this system.,Il nome dell&#39;istituto per il quale si sta impostando questo sistema.,
The name of your company for which you are setting up this system.,Il nome dell'azienda per la quale si sta configurando questo sistema.,
The number of shares and the share numbers are inconsistent,Il numero di condivisioni e i numeri di condivisione sono incoerenti,
The payment gateway account in plan {0} is different from the payment gateway account in this payment request,L&#39;account del gateway di pagamento nel piano {0} è diverso dall&#39;account del gateway di pagamento in questa richiesta di pagamento,
The selected BOMs are not for the same item,Le distinte materiali selezionati non sono per la stessa voce,
The selected item cannot have Batch,La voce selezionata non può avere Batch,
The seller and the buyer cannot be the same,Il venditore e l&#39;acquirente non possono essere uguali,
The shareholder does not belong to this company,L&#39;azionista non appartiene a questa società,
The shares already exist,Le azioni esistono già,
The shares don't exist with the {0},Le condivisioni non esistono con {0},
"The task has been enqueued as a background job. In case there is any issue on processing in background, the system will add a comment about the error on this Stock Reconciliation and revert to the Draft stage","L&#39;attività è stata accodata come processo in background. Nel caso in cui si verifichino problemi durante l&#39;elaborazione in background, il sistema aggiungerà un commento sull&#39;errore in questa Riconciliazione di magazzino e tornerà alla fase Bozza",
"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Quindi le Regole dei prezzi vengono filtrate in base a cliente, Gruppo Cliente, Territorio, Fornitore, Tipo Fornitore, Campagna, Partner di vendita ecc",
"There are inconsistencies between the rate, no of shares and the amount calculated","Ci sono incongruenze tra il tasso, no delle azioni e l&#39;importo calcolato",
There 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 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 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 {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 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 Achieved,Totale raggiunto,
Total Actual,Totale Actual,
Total Amount,Totale Importo,
Total Amount Credited,Importo totale accreditato,
Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Totale oneri addebitati in Acquisto tabella di carico Gli articoli devono essere uguale Totale imposte e oneri,
Total Budget,Budget totale,
Total Collected: {0},Totale raccolto: {0},
Total Commission,Commissione totale,
Total Contribution Amount: {0},Importo totale del contributo: {0},
Total Credit/ Debit Amount should be same as linked Journal Entry,L&#39;importo totale del credito / debito dovrebbe essere uguale a quello del giorno di registrazione collegato,
Total Debit must be equal to Total Credit. The difference is {0},Debito totale deve essere pari al totale credito .,
Total Invoiced Amount,Importo Totale Fatturato,
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 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 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 hours: {0},Ore totali: {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à,
Track Leads by Lead Source.,Monitora lead per lead source.,
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 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 exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Impossibile trovare il tasso di cambio per {0} a {1} per la data chiave {2}. Si prega di creare un record Exchange Exchange manualmente,
Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,Impossibile trovare il punteggio partendo da {0}. È necessario avere punteggi in piedi che coprono 0 a 100,
Unable to find variable: ,Impossibile trovare la variabile:,
Unblock Invoice,Sblocca fattura,
Uncheck all,Deseleziona tutto,
Unclosed Fiscal Years Profit / Loss (Credit),Anni fiscali non chiusi - Utile/Perdita (credito),
Unit,Unità,
Unit of Measure,Unità di misura,
Unit of Measure {0} has been entered more than once in Conversion Factor Table,Unità di misura {0} è stata inserita più volte nella tabella di conversione,
Unknown,Sconosciuto,
Unpaid,Non pagata,
Unsecured Loans,Prestiti non garantiti,
Unsubscribe from this Email Digest,Disiscriviti da questo Email Digest,
Unsubscribed,Disiscritto,
Until,Fino a,
Unverified Webhook Data,Dati Webhook non verificati,
Update Account Name / Number,Aggiorna nome / numero account,
Update Account Number / Name,Aggiorna numero / nome account,
Update Cost,Aggiorna il Costo,
Update Items,Aggiorna articoli,
Update Print Format,Aggiornamento Formato di Stampa,
Update 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,
User,Utente,
User ID,ID utente,
User ID not set for Employee {0},ID utente non impostato per Dipedente {0},
User Remark,Osservazioni dell'utente,
User has not applied rule on the invoice {0},L&#39;utente non ha applicato la regola sulla fattura {0},
User {0} already exists,L&#39;&#39;utente {0} esiste già,
User {0} created,Utente {0} creato,
User {0} does not exist,Utente {0} non esiste,
User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,L&#39;utente {0} non ha alcun profilo POS predefinito. Controlla predefinito alla riga {1} per questo utente.,
User {0} is already assigned to Employee {1},Utente {0} è già assegnato a Employee {1},
User {0} is already assigned to Healthcare Practitioner {1},L&#39;utente {0} è già assegnato a Healthcare Practitioner {1},
Users,utenti,
Utility Expenses,Spese di utenza,
Valid From Date must be lesser than Valid Upto Date.,Valido dalla data deve essere minore di Valido fino alla data.,
Valid Till,Valido fino a,
Valid from and valid upto fields are mandatory for the cumulative,I campi validi da e validi fino a sono obbligatori per l&#39;accumulatore,
Valid from date must be less than valid upto date,Valido dalla data deve essere inferiore a valido fino alla data,
Valid till date cannot be before transaction date,Valida fino alla data non può essere prima della data della transazione,
Validity,Validità,
Validity period of this quotation has ended.,Il periodo di validità di questa quotazione è terminato.,
Valuation Rate,Tasso di Valorizzazione,
Valuation Rate is mandatory if Opening Stock entered,La valorizzazione è obbligatoria se si tratta di una disponibilità iniziale di magazzino,
Valuation type charges can not marked as Inclusive,Spese tipo di valutazione non possono contrassegnata come Inclusive,
Value Or Qty,Valore o Quantità,
Value Proposition,Proposta di valore,
Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Valore per l&#39;attributo {0} deve essere all&#39;interno della gamma di {1} a {2} nei incrementi di {3} per la voce {4},
Value 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",
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,
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: 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 Manager,Responsabile sito web,
Website Settings,Impostazioni Sito,
Wednesday,Mercoledì,
Week,Settimana,
Weekly,Settimanale,
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Il peso è menzionato, \n prega di citare ""Peso UOM"" troppo",
Welcome email sent,Email di benvenuto inviata con successo,
Welcome to ERPNext,Benvenuti in ERPNext,
What do you need help with?,Con cosa hai bisogno di aiuto?,
What does it do?,Che cosa fa ?,
Where manufacturing operations are carried.,Dove si svolgono le operazioni di fabbricazione.,
White,Bianco,
Wire Transfer,Bonifico bancario,
WooCommerce Products,Prodotti WooCommerce,
Work In Progress,Lavori in corso,
Work Order,Ordine di lavoro,
Work Order already created for all items with BOM,Ordine di lavorazione già creato per tutti gli articoli con BOM,
Work Order cannot be raised against a Item Template,L&#39;ordine di lavoro non può essere aumentato rispetto a un modello di oggetto,
Work Order has been {0},L&#39;ordine di lavoro è stato {0},
Work Order not created,Ordine di lavoro non creato,
Work Order {0} must be cancelled before cancelling this Sales Order,L&#39;ordine di lavoro {0} deve essere annullato prima di annullare questo ordine cliente,
Work Order {0} must be submitted,L&#39;ordine di lavoro {0} deve essere inviato,
Work Orders Created: {0},Ordini di lavoro creati: {0},
Work-in-Progress Warehouse is required before Submit,Specificare il magazzino Work- in- Progress prima della Conferma,
Working,Lavorando,
Working Hours,Orari di lavoro,
Workstation,stazione di lavoro,
Workstation is closed on the following dates as per Holiday List: {0},Stazione di lavoro chiusa nei seguenti giorni secondo la lista delle vacanze: {0},
Wrapping up,Avvolgendo,
Wrong Password,Password errata,
Year start date or end date is overlapping with {0}. To avoid please set company,La data di inizio o di fine Anno si sovrappone con {0}. Per risolvere questo problema impostare l'Azienda,
You are not authorized to add or update entries before {0},Non sei autorizzato ad aggiungere o aggiornare le voci prima di {0},
You are not authorized to set Frozen value,Non sei autorizzato a impostare il valore bloccato,
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'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 enough 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 enable Shopping Cart,È necessario abilitare Carrello,
You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Perderai i record delle fatture generate in precedenza. Sei sicuro di voler riavviare questo abbonamento?,
Your Organization,La tua organizzazione,
Your cart is Empty,Il tuo carrello è vuoto,
Your email address...,Il tuo indirizzo di posta elettronica...,
Your order is out for delivery!,Il tuo ordine è fuori consegna!,
Your tickets,I tuoi biglietti,
ZIP Code,Cap,
[Error],[Errore],
[{0}](#Form/Item/{0}) is out of stock,[{0}](#Form/Item/{0}) è esaurito,
`Freeze Stocks Older Than` should be smaller than %d days.,`Blocca Scorte più vecchie di` dovrebbero essere inferiori %d giorni .,
based_on,basato su,
cannot be greater than 100,non può essere superiore a 100,
disabled user,utente disabilitato,
"e.g. ""Build tools for builders""","p. es. "" Costruire strumenti per i costruttori """,
"e.g. ""Primary School"" or ""University""","ad esempio, ""Scuola Elementare"" o ""Università""",
"e.g. Bank, Cash, Credit Card","p. es. Banca, Bonifico, Contanti, Carta di credito",
hidden,nascosto,
modified,modificata,
old_parent,old_parent,
on,On,
{0} '{1}' is disabled,{0} '{1}' è disabilitato,
{0} '{1}' not in Fiscal Year {2},{0} '{1}' non in anno fiscale {2},
{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) non può essere maggiore della quantità pianificata ({2}) nell'ordine di lavoro {3},
{0} - {1} is inactive student,{0} - {1} è uno studente inattivo,
{0} - {1} is not enrolled in the Batch {2},{0} - {1} non è incluso nel lotto {2},
{0} - {1} is not enrolled in the Course {2},{0} - {1} non è iscritto al corso {2},
{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} budget per l'account {1} contro {2} {3} è {4}. Si supererà di {5},
{0} Digest,{0} Digest,
{0} Request for {1},{0} Richiesta per {1},
{0} Result submittted,{0} Risultato inviato,
{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} numeri di serie necessari per la voce {1}. Lei ha fornito {2}.,
{0} Student Groups created.,{0} Gruppo Studenti creato.,
{0} Students have been enrolled,{0} Gli studenti sono stati iscritti,
{0} against Bill {1} dated {2},{0} per fattura {1} in data {2},
{0} against Purchase Order {1},{0} contro ordine di acquisto {1},
{0} against Sales Invoice {1},{0} per fattura di vendita {1},
{0} against Sales Order {1},{0} per ordine di vendita {1},
{0} 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 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} not allowed to transact with {1}. Please change the Company.,{0} non è consentito effettuare transazioni con {1}. Per favore cambia la compagnia.,
{0} not found for item {1},{0} non trovato per l&#39;articolo {1},
{0} parameter is invalid,Il parametro {0} non è valido,
{0} payment entries can not be filtered by {1},{0} I Pagamenti non possono essere filtrati per {1},
{0} should be a value between 0 and 100,{0} dovrebbe essere un valore compreso tra 0 e 100,
{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} unità di [{1}](#Form/Item/{1}) trovate in [{2}](#Form/Warehouse/{2}),
{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} unità di {1} necessarie in {2} su {3} {4} di {5} per completare la transazione.,
{0} units of {1} needed in {2} to complete this transaction.,{0} unità di {1} necessarie in {2} per completare la transazione.,
{0} valid serial nos for Item {1},{0} numeri di serie validi per l'articolo {1},
{0} variants created.,{0} varianti create.,
{0} {1} created,{0} {1} creato,
{0} {1} does not exist,{0} {1} non esiste,
{0} {1} has been modified. Please refresh.,{0} {1} è stato modificato. Aggiornare prego.,
{0} {1} has not been submitted so the action cannot be completed,{0} {1} non è stato inviato perciò l'azione non può essere completata,
"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} è associato a {2}, ma il conto partito è {3}",
{0} {1} is cancelled or closed,{0} {1} è stato chiuso o eliminato,
{0} {1} is cancelled or stopped,{0} {1} viene cancellato o fermato,
{0} {1} is cancelled so the action cannot be completed,{0} {1} è cancellato perciò l'azione non può essere completata,
{0} {1} is closed,{0} {1} è stato chiuso,
{0} {1} is disabled,{0} {1} è disabilitato,
{0} {1} is frozen,{0} {1} è bloccato,
{0} {1} is fully billed,{0} {1} è completamente fatturato,
{0} {1} is not active,{0} {1} non è attivo,
{0} {1} is not associated with {2} {3},{0} {1} non è associato a {2} {3},
{0} {1} is not present in the parent company,{0} {1} non è presente nella società madre,
{0} {1} is not submitted,{0} {1} non è confermato,
{0} {1} is {2},{0} {1} è {2},
{0} {1} must be submitted,{0} {1} deve essere confermato,
{0} {1} not in any active Fiscal Year.,{0} {1} non presente in alcun Anno Fiscale attivo.,
{0} {1} status is {2},{0} {1} stato è {2},
{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,{0} {1}: Conto economico {2} non ammesso nelle registrazioni di apertura,
{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Il conto {2} non appartiene alla società {3},
{0} {1}: Account {2} is inactive,{0} {1}: Il conto {2} è inattivo,
{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: La scrittura contabile {2} può essere effettuate solo in : {3},
{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: centro di costo è obbligatorio per la voce {2},
{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,{0} {1}: E' richiesto il Centro di Costo per il Conto Economico {2}. Configura un Centro di Costo di default per l'azienda,
{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: Il Centro di Costo {2} non appartiene all'azienda {3},
{0} {1}: Customer is required against Receivable account {2},{0} {1}:Per la Contabilità Clienti è necessario specificare un Cliente  {2},
{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Un importo a debito o a credito è richiesto per {2},
{0} {1}: Supplier is required against Payable account {2},{0} {1}: Il campo Fornitore è richiesto per il conto di debito  {2},
{0}% Billed,{0}% Fatturato,
{0}% Delivered,{0}% consegnato,
{0}: From {1},{0}: da {1},
{0}: {1} does not exists,{0}: {1} non esiste,
{0}: {1} not found in Invoice Details table,{0}: {1} non trovato in tabella Dettagli Fattura,
{} of {},{} di {},
Assigned To,Assegnato a,
Chat,Chat,
Completed By,Completato da,
Day of Week,Giorno della settimana,
"Dear System Manager,","Spettabile Responsabile di Sistema,",
Default Value,Valore Predefinito,
Email Group,Email Group,
Email Settings,Impostazioni E-mail,
Email not sent to {0} (unsubscribed / disabled),E-mail non inviato a {0} (sottoscritte / disabilitato),
Error Message,Messaggio di errore,
Fieldtype,Tipo di campo,
Help Articles,Aiuto articoli,
ID,ID,
Import,Importazione,
Language,Lingua,
Likes,Piace,
Merge with existing,Unisci con esistente,
Orientation,Orientamento,
Parent,Genitore,
Payment Failed,Pagamento fallito,
Personal,Personale,
Post,Messaggio,
Postal Code,Codice Postale,
Provider,Provider,
Read Only,Solo lettura,
Recipient,Destinatario,
Reviews,Recensioni,
Sender,Mittente,
There were errors while sending email. Please try again.,Ci sono stati errori durante l'invio email. Riprova.,
Values Changed,valori modificati,
or,oppure,
Ageing Range 4,Intervallo di invecchiamento 4,
Allocated amount cannot be greater than unadjusted amount,L&#39;importo assegnato non può essere superiore all&#39;importo non rettificato,
Allocated amount cannot be negative,L&#39;importo assegnato non può essere negativo,
"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Il Conto differenze deve essere un account di tipo Attivo / Responsabilità, poiché questa Voce di magazzino è una Voce iniziale",
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;,
Budgets,i bilanci,
Bundle Qty,Qtà del pacco,
Company GSTIN,Azienda GSTIN,
Company field is required,È richiesto il campo dell&#39;azienda,
Creating Dimensions...,Creazione di quote ...,
Duplicate entry against the item code {0} and manufacturer {1},Voce duplicata rispetto al codice articolo {0} e al produttore {1},
Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,GSTIN non valido! L&#39;input inserito non corrisponde al formato GSTIN per titolari UIN o provider di servizi OIDAR non residenti,
Invoice Grand Total,Totale totale fattura,
Last carbon check date cannot be a future date,La data dell&#39;ultima verifica del carbonio non può essere una data futura,
Make Stock Entry,Effettuare una registrazione di magazzino,
Quality Feedback,Feedback sulla qualità,
Quality Feedback Template,Modello di feedback sulla qualità,
Rules for applying different promotional schemes.,Regole per l&#39;applicazione di diversi schemi promozionali.,
Show {0},Mostra {0},
Target Details,Dettagli target,
{0} already has a Parent Procedure {1}.,{0} ha già una procedura padre {1}.,
API,API,
Annual,Annuale,
Change,Cambia,
Contact Email,Email Contatto,
From Date,Da Data,
Group By,Raggruppare per,
Invalid URL,URL non valido,
Landscape,Paesaggio,
Naming Series,Denominazione Serie,
No data to export,Nessun dato da esportare,
Portrait,Ritratto,
Print Heading,Intestazione di stampa,
Scheduler Inactive,Scheduler inattivo,
Scheduler is inactive. Cannot import data.,Lo scheduler non è attivo. Impossibile importare i dati.,
Show Document,Mostra documento,
Show Traceback,Mostra traccia,
Video,video,
% Of Grand Total,% Del totale complessivo,
<b>Company</b> is a mandatory filter.,<b>La società</b> è un filtro obbligatorio.,
<b>From Date</b> is a mandatory filter.,<b>Dalla data</b> è un filtro obbligatorio.,
<b>From Time</b> cannot be later than <b>To Time</b> for {0},<b>From Time</b> non può essere successivo a <b>To Time</b> per {0},
<b>To Date</b> is a mandatory filter.,<b>Ad oggi</b> è un filtro obbligatorio.,
A new appointment has been created for you with {0},Un nuovo appuntamento è stato creato per te con {0},
Account Value,Valore del conto,
Account is mandatory to get payment entries,L&#39;account è obbligatorio per ottenere voci di pagamento,
Account is not set for the dashboard chart {0},L&#39;account non è impostato per il grafico del dashboard {0},
Account {0} does not exists in the dashboard chart {1},L&#39;account {0} non esiste nel grafico del dashboard {1},
Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Conto: <b>{0}</b> è capitale Lavori in corso e non può essere aggiornato dalla registrazione prima nota,
Account: {0} is not permitted under Payment Entry,Account: {0} non è consentito in Voce pagamento,
Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,La dimensione contabile <b>{0}</b> è richiesta per il conto &quot;Bilancio&quot; {1}.,
Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,La dimensione contabile <b>{0}</b> è richiesta per l&#39;account &quot;Profitti e perdite&quot; {1}.,
Accounting Masters,Master in contabilità,
Accounting Period overlaps with {0},Il periodo contabile si sovrappone a {0},
Activity,Attività,
Add / Manage Email Accounts.,Aggiungere / Gestire accounts email.,
Add Child,Aggiungi una sottovoce,
Add Multiple,Aggiunta multipla,
Add Participants,Aggiungi partecipanti,
Add to Featured Item,Aggiungi all&#39;elemento in evidenza,
Add your review,Aggiungi la tua recensione,
Add/Edit Coupon Conditions,Aggiungi / Modifica condizioni coupon,
Added to Featured Items,Aggiunto agli articoli in evidenza,
Added {0} ({1}),Aggiunti {0} ({1}),
Address Line 1,Indirizzo,
Addresses,Indirizzi,
Admission End Date should be greater than Admission Start Date.,La data di fine dell&#39;ammissione deve essere maggiore della data di inizio dell&#39;ammissione.,
All,Tutti,
All bank transactions have been created,Tutte le transazioni bancarie sono state create,
All the depreciations has been booked,Tutti gli ammortamenti sono stati registrati,
Allow Resetting Service Level Agreement from Support Settings.,Consenti il ripristino del contratto sul livello di servizio dalle impostazioni di supporto.,
Amount of {0} is required for Loan closure,Per la chiusura del prestito è richiesto un importo di {0},
Applied Coupon Code,Codice coupon applicato,
Apply Coupon Code,Applica il codice coupon,
Appointment Booking,Prenotazione appuntamenti,
"As there are existing transactions against item {0}, you can not change the value of {1}","Poiché esistono transazioni esistenti rispetto all'oggetto {0}, non è possibile modificare il valore di {1}",
Asset Id,ID risorsa,
Asset Value,Valore patrimoniale,
Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,La rettifica del valore degli asset non può essere registrata prima della data di acquisto dell&#39;asset <b>{0}</b> .,
Asset {0} does not belongs to the custodian {1},L&#39;asset {0} non appartiene al custode {1},
Asset {0} does not belongs to the location {1},L&#39;asset {0} non appartiene alla posizione {1},
At least one of the Applicable Modules should be selected,È necessario selezionare almeno uno dei moduli applicabili,
Atleast one asset has to be selected.,È necessario selezionare almeno una risorsa.,
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 Messages,Torna ai messaggi,
Bank Data mapper doesn't exist,Il mappatore dei dati bancari non esiste,
Bank Details,Coordinate bancarie,
Bank account '{0}' has been synchronized,Il conto bancario &quot;{0}&quot; è stato sincronizzato,
Bank account {0} already exists and could not be created again,Il conto bancario {0} esiste già e non è stato possibile crearlo nuovamente,
Bank accounts added,Conti bancari aggiunti,
Batch no is required for batched item {0},Il numero di lotto non è richiesto per l&#39;articolo in batch {0},
Billing Date,Data di fatturazione,
Billing Interval Count cannot be less than 1,Il conteggio degli intervalli di fatturazione non può essere inferiore a 1,
Blue,Blu,
Book,Libro,
Book Appointment,Prenota un appuntamento,
Brand,Marca,
Browse,Sfoglia,
Call Connected,Chiama connessa,
Call Disconnected,Chiamata disconnessa,
Call Missed,Chiamata persa,
Call Summary,Riepilogo chiamate,
Call Summary Saved,Riepilogo chiamate salvato,
Cancelled,Annullato,
Cannot Calculate Arrival Time as Driver Address is Missing.,Impossibile calcolare l&#39;orario di arrivo poiché l&#39;indirizzo del conducente è mancante.,
Cannot Optimize Route as Driver Address is Missing.,Impossibile ottimizzare il percorso poiché manca l&#39;indirizzo del driver.,
Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,Impossibile completare l&#39;attività {0} poiché l&#39;attività dipendente {1} non è stata completata / annullata.,
Cannot find a matching Item. Please select some other value for {0}.,Non riesco a trovare un prodotto trovato. Si prega di selezionare un altro valore per {0}.,
"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Impossibile eseguire l&#39;overbilling per l&#39;articolo {0} nella riga {1} più di {2}. Per consentire l&#39;eccessiva fatturazione, imposta l&#39;indennità in Impostazioni account",
"Capacity Planning Error, planned start time can not be same as end time","Errore di pianificazione della capacità, l&#39;ora di inizio pianificata non può coincidere con l&#39;ora di fine",
Categories,categorie,
Changes in {0},Modifiche in {0},
Chart,Grafico,
Choose a corresponding payment,Scegli un pagamento corrispondente,
Click on the link below to verify your email and confirm the appointment,Fai clic sul link in basso per verificare la tua email e confermare l&#39;appuntamento,
Close,Chiudi,
Communication,Comunicazione,
Compact Item Print,Compact elemento di stampa,
Company,Azienda,
Company of asset {0} and purchase document {1} doesn't matches.,La società dell&#39;asset {0} e il documento di acquisto {1} non corrispondono.,
Compare BOMs for changes in Raw Materials and Operations,Confronta le distinte base per le modifiche alle materie prime e alle operazioni,
Compare List function takes on list arguments,La funzione Confronta elenco accetta argomenti dell&#39;elenco,
Complete,Completare,
Completed,Completato,
Completed Quantity,Quantità completata,
Connect your Exotel Account to ERPNext and track call logs,Collega il tuo account Exotel a ERPNext e traccia i registri delle chiamate,
Connect your bank accounts to ERPNext,Collega i tuoi conti bancari a ERPNext,
Contact Seller,Contatta il venditore,
Continue,Continuare,
Cost Center: {0} does not exist,Centro di costo: {0} non esiste,
Couldn't Set Service Level Agreement {0}.,Impossibile impostare l&#39;accordo sul livello di servizio {0}.,
Country,Paese,
Country Code in File does not match with country code set up in the system,Il codice paese nel file non corrisponde al codice paese impostato nel sistema,
Create New Contact,Crea nuovo contatto,
Create New Lead,Crea nuovo lead,
Create Pick List,Crea elenco di prelievo,
Create Quality Inspection for Item {0},Crea controllo di qualità per l&#39;articolo {0},
Creating Accounts...,Creazione di account ...,
Creating bank entries...,Creazione di registrazioni bancarie ...,
Credit limit is already defined for the Company {0},Il limite di credito è già definito per la società {0},
Ctrl + Enter to submit,Ctrl + Invio per inviare,
Ctrl+Enter to submit,Ctrl + Invio per inviare,
Currency,Valuta,
Current Status,Stato Corrente,
Customer PO,PO cliente,
Daily,Giornaliero,
Date,Data,
Date of Birth cannot be greater than Joining Date.,La data di nascita non può essere superiore alla data di iscrizione.,
Dear,Gentile,
Default,Predefinito,
Define coupon codes.,Definire i codici coupon.,
Delayed Days,Giorni in ritardo,
Delete,Elimina,
Delivered Quantity,Quantità consegnata,
Delivery Notes,Bolle di consegna,
Depreciated Amount,Ammortamento,
Description,Descrizione,
Designation,Designazione,
Difference Value,Differenza Valore,
Dimension Filter,Filtro dimensionale,
Disabled,Disabilitato,
Disbursement and Repayment,Esborso e rimborso,
Distance cannot be greater than 4000 kms,La distanza non può essere superiore a 4000 km,
Do you want to submit the material request,Vuoi inviare la richiesta materiale,
Doctype,Doctype,
Document {0} successfully uncleared,Documento {0} non chiarito correttamente,
Download Template,Scarica Modello,
Dr,Dr,
Due Date,Data di scadenza,
Duplicate,Duplica,
Duplicate Project with Tasks,Progetto duplicato con attività,
Duplicate project has been created,È stato creato un progetto duplicato,
E-Way Bill JSON can only be generated from a submitted document,E-Way Bill JSON può essere generato solo da un documento inviato,
E-Way Bill JSON can only be generated from submitted document,E-Way Bill JSON può essere generato solo dal documento inviato,
E-Way Bill JSON cannot be generated for Sales Return as of now,e-Way Bill JSON non può essere generato per il ritorno vendite al momento,
ERPNext could not find any matching payment entry,ERPNext non è stato possibile trovare alcuna voce di pagamento corrispondente,
Earliest Age,Prima età,
Edit Details,Modifica i dettagli,
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,
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,
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,
Filters,Filtri,
Finding linked payments,Trovare pagamenti collegati,
Fleet Management,Gestione della flotta,
Following fields are mandatory to create address:,I seguenti campi sono obbligatori per creare l&#39;indirizzo:,
For Month,Per mese,
"For item {0} at row {1}, count of serial numbers does not match with the picked quantity","Per l&#39;articolo {0} alla riga {1}, il conteggio dei numeri di serie non corrisponde alla quantità selezionata",
For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Per l&#39;operazione {0}: la quantità ({1}) non può essere inferiore rispetto alla quantità in sospeso ({2}),
For quantity {0} should not be greater than work order quantity {1},Per quantità {0} non dovrebbe essere maggiore della quantità ordine di lavoro {1},
Free item not set in the pricing rule {0},Articolo gratuito non impostato nella regola dei prezzi {0},
From Date and To Date are Mandatory,Dalla data e fino alla data sono obbligatori,
From employee is required while receiving Asset {0} to a target location,Da dipendente è richiesto durante la ricezione di attività {0} in una posizione target,
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,
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,
Issue Priority.,Priorità al problema.,
Issue Type.,Tipo di problema.,
"It seems that there is an issue with the server's stripe configuration. In case of failure, the amount will get refunded to your account.","Sembra che ci sia un problema con la configurazione delle strisce del server. In caso di fallimento, l&#39;importo verrà rimborsato sul tuo conto.",
Item Reported,Articolo segnalato,
Item listing removed,Elenco degli articoli rimosso,
Item quantity can not be zero,La quantità dell&#39;articolo non può essere zero,
Item taxes updated,Imposte sugli articoli aggiornate,
Item {0}: {1} qty produced. ,Articolo {0}: {1} qtà prodotta.,
Joining Date can not be greater than Leaving Date,La data di iscrizione non può essere superiore alla data di fine,
Lab Test Item {0} already exist,L&#39;articolo del test di laboratorio {0} esiste già,
Last Issue,Ultima emissione,
Latest Age,Fase avanzata,
Leaves Taken,Foglie prese,
Less Than Amount,Meno dell&#39;importo,
Liabilities,passivo,
Loading...,Caricamento in corso ...,
Loan Applications from customers and employees.,Domande di prestito da parte di clienti e dipendenti.,
Loan Processes,Processi di prestito,
Loan Type for interest and penalty rates,Tipo di prestito per tassi di interesse e penalità,
Loans,prestiti,
Loans provided to customers and employees.,Prestiti erogati a clienti e dipendenti.,
Location,Posizione,
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,
No Account matched these filters: {},Nessun account corrisponde a questi filtri: {},
No communication found.,Nessuna comunicazione trovata.,
No correct answer is set for {0},Non è stata impostata una risposta corretta per {0},
No description,Nessuna descrizione,
No issue has been raised by the caller.,Nessun problema è stato sollevato dal chiamante.,
No items to publish,Nessun articolo da pubblicare,
No outstanding invoices found,Non sono state trovate fatture in sospeso,
No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,Non sono state trovate fatture in sospeso per {0} {1} che qualificano i filtri specificati.,
No outstanding invoices require exchange rate revaluation,Nessuna fattura in sospeso richiede una rivalutazione del tasso di cambio,
No reviews yet,Ancora nessuna recensione,
No views yet,Ancora nessuna vista,
Non stock items,Articoli non disponibili,
Not Allowed,Non ammessi,
Not allowed to create accounting dimension for {0},Non è consentito creare una dimensione contabile per {0},
Not permitted. Please disable the Lab Test Template,Non consentito. Disabilitare il modello di test di laboratorio,
Note,Nota,
Notes: ,Note:,
On Converting Opportunity,Sulla conversione di opportunità,
On Purchase Order Submission,Alla presentazione dell&#39;ordine d&#39;acquisto,
On Sales Order Submission,All&#39;invio dell&#39;ordine cliente,
On Task Completion,Al completamento dell&#39;attività,
On {0} Creation,Su {0} Creazione,
Only .csv and .xlsx files are supported currently,Attualmente sono supportati solo i file .csv e .xlsx,
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,
Patient History,Storia del paziente,
Pause,Pausa,
Pay,Paga,
Payment Document Type,Tipo di documento di pagamento,
Payment Name,Nome pagamento,
Pending,In attesa,
Performance,Prestazione,
Period based On,Periodo basato su,
Perpetual inventory required for the company {0} to view this report.,Spazio pubblicitario perpetuo richiesto per la società {0} per visualizzare questo rapporto.,
Phone,Telefono,
Pick List,Lista da cui scegliere,
Plaid authentication error,Errore di autenticazione plaid,
Plaid public token error,Errore token pubblico plaid,
Plaid transactions sync error,Errore di sincronizzazione delle transazioni del plaid,
Please check the error log for details about the import errors,Controllare il registro degli errori per i dettagli sugli errori di importazione,
Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Crea le <b>impostazioni DATEV</b> per l&#39;azienda <b>{}</b> .,
Please create adjustment Journal Entry for amount {0} ,Crea una registrazione prima nota di rettifica per l&#39;importo {0},
Please do not create more than 500 items at a time,Non creare più di 500 elementi alla volta,
Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Inserisci un <b>Conto differenze</b> o imposta un <b>Conto di adeguamento stock</b> predefinito per la società {0},
Please enter GSTIN and state for the Company Address {0},Inserisci GSTIN e indica l&#39;indirizzo dell&#39;azienda {0},
Please enter Item Code to get item taxes,Inserisci il codice articolo per ottenere le tasse articolo,
Please enter Warehouse and Date,Inserisci il magazzino e la data,
Please login as a Marketplace User to edit this item.,Effettua il login come utente del marketplace per modificare questo elemento.,
Please login as a Marketplace User to report this item.,Effettua il login come utente del marketplace per segnalare questo articolo.,
Please select <b>Template Type</b> to download template,Seleziona <b>Tipo</b> di modello per scaricare il modello,
Please select Customer first,Seleziona prima il cliente,
Please select Item Code first,Seleziona prima il codice articolo,
Please select a Delivery Note,Seleziona una bolla di consegna,
Please select a Sales Person for item: {0},Seleziona un addetto alle vendite per l&#39;articolo: {0},
Please select another payment method. Stripe does not support transactions in currency '{0}',Seleziona un altro metodo di pagamento. Stripe non supporta transazioni in valuta &#39;{0}&#39;,
Please select the customer.,Seleziona il cliente,
Please set a Supplier against the Items to be considered in the Purchase Order.,Si prega di impostare un fornitore rispetto agli articoli da prendere in considerazione nell&#39;ordine di acquisto.,
Please set account heads in GST Settings for Compnay {0},Imposta le intestazioni account in Impostazioni GST per Compnay {0},
Please set an email id for the Lead {0},Imposta un ID email per il lead {0},
Please set default UOM in Stock Settings,Si prega di impostare UOM predefinito in Impostazioni stock,
Please set filter based on Item or Warehouse due to a large amount of entries.,Si prega di impostare il filtro in base all&#39;articolo o al magazzino a causa di una grande quantità di voci.,
Please set up the Campaign Schedule in the Campaign {0},Imposta il programma della campagna nella campagna {0},
Please set valid GSTIN No. in Company Address for company {0},Imposta un numero GSTIN valido nell&#39;indirizzo dell&#39;azienda per la società {0},
Please set {0},Si prega di impostare {0},customer
Please setup a default bank account for company {0},Configura un conto bancario predefinito per la società {0},
Please specify,Si prega di specificare,
Please specify a {0},Si prega di specificare un {0},lead
Priority,Priorità,
Priority has been changed to {0}.,La priorità è stata cambiata in {0}.,
Priority {0} has been repeated.,La priorità {0} è stata ripetuta.,
Processing XML Files,Elaborazione di file XML,
Profitability,Redditività,
Project,Progetto,
Provide the academic year and set the starting and ending date.,Fornire l&#39;anno accademico e impostare la data di inizio e di fine.,
Public token is missing for this bank,Token pubblico mancante per questa banca,
Publish 1 Item,Pubblica 1 oggetto,
Publish Items,Pubblica articoli,
Publish More Items,Pubblica più articoli,
Publish Your First Items,Pubblica i tuoi primi articoli,
Publish {0} Items,Pubblica {0} elementi,
Published Items,Articoli pubblicati,
Purchase Invoice cannot be made against an existing asset {0},La fattura di acquisto non può essere effettuata su un bene esistente {0},
Purchase Invoices,Acquista fatture,
Purchase Orders,Ordini di acquisto,
Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,La ricevuta di acquisto non ha articoli per i quali è abilitato Conserva campione.,
Purchase Return,Acquisto Ritorno,
Qty of Finished Goods Item,Qtà di articoli finiti,
Quality Inspection required for Item {0} to submit,Ispezione di qualità richiesta per l&#39;invio dell&#39;articolo {0},
Quantity to Manufacture,Quantità da produrre,
Quantity to Manufacture can not be zero for the operation {0},La quantità da produrre non può essere zero per l&#39;operazione {0},
Quarterly,Trimestralmente,
Queued,In coda,
Quick Entry,Inserimento rapido,
Quiz {0} does not exist,Il quiz {0} non esiste,
Quotation Amount,Importo dell&#39;offerta,
Rate or Discount is required for the price discount.,Tasso o sconto è richiesto per lo sconto sul prezzo.,
Reason,Motivo,
Reconcile Entries,Riconcilia voci,
Reconcile this account,Riconcilia questo account,
Reconciled,riconciliati,
Recruitment,Reclutamento,
Red,Rosso,
Release date must be in the future,La data di uscita deve essere in futuro,
Relieving Date must be greater than or equal to Date of Joining,La data di rilascio deve essere maggiore o uguale alla data di iscrizione,
Rename,Rinomina,
Rename Not Allowed,Rinomina non consentita,
Report Item,Segnala articolo,
Report this Item,Segnala questo elemento,
Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Qtà riservata per conto lavoro: quantità di materie prime per la fabbricazione di articoli in conto lavoro.,
Reset,Reset,
Reset Service Level Agreement,Ripristina accordo sul livello di servizio,
Resetting Service Level Agreement.,Ripristino dell&#39;accordo sul livello di servizio.,
Return amount cannot be greater unclaimed amount,L&#39;importo del reso non può essere un importo non riscosso maggiore,
Review,Revisione,
Room,Camera,
Room Type,Tipo di stanza,
Row # ,Row #,
Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Riga # {0}: il magazzino accettato e il magazzino fornitori non possono essere uguali,
Row #{0}: Cannot delete item {1} which has already been billed.,Riga # {0}: impossibile eliminare l&#39;elemento {1} che è già stato fatturato.,
Row #{0}: Cannot delete item {1} which has already been delivered,Riga # {0}: impossibile eliminare l&#39;articolo {1} che è già stato consegnato,
Row #{0}: Cannot delete item {1} which has already been received,Riga # {0}: impossibile eliminare l&#39;elemento {1} che è già stato ricevuto,
Row #{0}: Cannot delete item {1} which has work order assigned to it.,Riga # {0}: impossibile eliminare l&#39;elemento {1} a cui è assegnato un ordine di lavoro.,
Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,Riga # {0}: impossibile eliminare l&#39;articolo {1} assegnato all&#39;ordine di acquisto del cliente.,
Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Riga n. {0}: impossibile selezionare il magazzino del fornitore mentre fornisce materie prime al subappaltatore,
Row #{0}: Cost Center {1} does not belong to company {2},Riga # {0}: Cost Center {1} non appartiene alla società {2},
Row #{0}: Operation {1} is not completed for {2} qty of finished goods in Work Order {3}. Please update operation status via Job Card {4}.,Riga n. {0}: l&#39;operazione {1} non è stata completata per {2} quantità di prodotti finiti nell&#39;ordine di lavoro {3}. Aggiorna lo stato dell&#39;operazione tramite la Job Card {4}.,
Row #{0}: Payment document is required to complete the transaction,Riga # {0}: per completare la transazione è richiesto un documento di pagamento,
Row #{0}: Serial No {1} does not belong to Batch {2},Riga # {0}: il numero di serie {1} non appartiene a Batch {2},
Row #{0}: Service End Date cannot be before Invoice Posting Date,Riga n. {0}: la data di fine del servizio non può essere precedente alla data di registrazione della fattura,
Row #{0}: Service Start Date cannot be greater than Service End Date,Riga # {0}: la data di inizio del servizio non può essere superiore alla data di fine del servizio,
Row #{0}: Service Start and End Date is required for deferred accounting,Riga # {0}: la data di inizio e fine del servizio è richiesta per la contabilità differita,
Row {0}: Invalid Item Tax Template for item {1},Riga {0}: modello fiscale articolo non valido per l&#39;articolo {1},
Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Riga {0}: quantità non disponibile per {4} nel magazzino {1} al momento della registrazione della voce ({2} {3}),
Row {0}: user has not applied the rule {1} on the item {2},Riga {0}: l&#39;utente non ha applicato la regola {1} sull&#39;elemento {2},
Row {0}:Sibling Date of Birth cannot be greater than today.,Riga {0}: la data di nascita del fratello non può essere maggiore di oggi.,
Row({0}): {1} is already discounted in {2},Riga ({0}): {1} è già scontato in {2},
Rows Added in {0},Righe aggiunte in {0},
Rows Removed in {0},Righe rimosse in {0},
Save,Salva,
Save Item,Salva articolo,
Saved Items,Articoli salvati,
Search Items ...,Cerca articoli ...,
Search for a payment,Cerca un pagamento,
Search for anything ...,Cerca qualcosa ...,
Search results for,cerca risultati per,
Select Difference Account,Seleziona Conto differenze,
Select a Default Priority.,Seleziona una priorità predefinita.,
Select a company,Seleziona un&#39;azienda,
Select finance book for the item {0} at row {1},Seleziona il libro finanziario per l&#39;articolo {0} alla riga {1},
Select only one Priority as Default.,Seleziona solo una priorità come predefinita.,
Seller Information,Informazioni del venditore,
Send,Invia,
Send a message,Mandare un messaggio,
Sending,invio,
Sends Mails to lead or contact based on a Campaign schedule,Invia email per guidare o contattare in base a una pianificazione della campagna,
Serial Number Created,Numero di serie creato,
Serial Numbers Created,Numeri di serie creati,
Serial no(s) required for serialized item {0},Numero (i) seriale (i) richiesto (i) per l&#39;articolo serializzato {0},
Series,Serie,
Server Error,Errore del server,
Service Level Agreement has been changed to {0}.,L&#39;accordo sul livello di servizio è stato modificato in {0}.,
Service Level Agreement was reset.,L&#39;accordo sul livello di servizio è stato ripristinato.,
Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Accordo sul livello di servizio con il tipo di entità {0} e l&#39;entità {1} esiste già.,
Set Meta Tags,Imposta meta tag,
Set {0} in company {1},Imposta {0} nella società {1},
Setup,Setup,
Shift Management,Gestione dei turni,
Show Future Payments,Mostra pagamenti futuri,
Show Linked Delivery Notes,Mostra note di consegna collegate,
Show Sales Person,Mostra addetto alle vendite,
Show Stock Ageing Data,Mostra dati di invecchiamento stock,
Show Warehouse-wise Stock,Mostra stock a livello di magazzino,
Size,Taglia,
Something went wrong while evaluating the quiz.,Qualcosa è andato storto durante la valutazione del quiz.,
Sr,sr,
Start,Inizio,
Start Date cannot be before the current date,La data di inizio non può essere precedente alla data corrente,
Start Time,Ora di inizio,
Status,Stato,
Status must be Cancelled or Completed,Lo stato deve essere annullato o completato,
Stock Balance Report,Rapporto sul bilancio azionario,
Stock Entry has been already created against this Pick List,La registrazione titoli è già stata creata in base a questo elenco di selezione,
Stock Ledger ID,ID libro mastro,
Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,Il valore dello stock ({0}) e il saldo del conto ({1}) non sono sincronizzati per l&#39;account {2} ed i relativi magazzini collegati.,
Stores - {0},Negozi - {0},
Student with email {0} does not exist,Lo studente con email {0} non esiste,
Submit Review,invia recensione,
Submitted,Confermato,
Supplier Addresses And Contacts,Indirizzi e contatti Fornitore,
Synchronize this account,Sincronizza questo account,
Tag,Etichetta,
Target Location is required while receiving Asset {0} from an employee,La posizione di destinazione è richiesta quando si riceve l&#39;asset {0} da un dipendente,
Target Location is required while transferring Asset {0},Posizione di destinazione richiesta durante il trasferimento di risorse {0},
Target Location or To Employee is required while receiving Asset {0},Posizione di destinazione o al dipendente è richiesta durante la ricezione dell&#39;attività {0},
Task's {0} End Date cannot be after Project's End Date.,La data di fine {0} dell&#39;attività non può essere successiva alla data di fine del progetto.,
Task's {0} Start Date cannot be after Project's End Date.,La data di inizio {0} dell&#39;attività non può essere successiva alla data di fine del progetto.,
Tax Account not specified for Shopify Tax {0},Conto fiscale non specificato per la tassa Shopify {0},
Tax Total,Totale imposte,
Template,Modelli,
The Campaign '{0}' already exists for the {1} '{2}',La campagna &quot;{0}&quot; esiste già per {1} &quot;{2}&quot;,
The difference between from time and To Time must be a multiple of Appointment,La differenza tra time e To Time deve essere un multiplo di Appointment,
The field Asset Account cannot be blank,Il campo Account asset non può essere vuoto,
The field Equity/Liability Account cannot be blank,Il campo Conto capitale / responsabilità non può essere vuoto,
The following serial numbers were created: <br><br> {0},Sono stati creati i seguenti numeri di serie: <br><br> {0},
The parent account {0} does not exists in the uploaded template,L&#39;account principale {0} non esiste nel modello caricato,
The question cannot be duplicate,La domanda non può essere duplicata,
The selected payment entry should be linked with a creditor bank transaction,La voce di pagamento selezionata deve essere collegata a una transazione bancaria del creditore,
The selected payment entry should be linked with a debtor bank transaction,La voce di pagamento selezionata deve essere collegata a una transazione bancaria del debitore,
The total allocated amount ({0}) is greated than the paid amount ({1}).,L&#39;importo totale assegnato ({0}) è aumentato rispetto all&#39;importo pagato ({1}).,
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 page keeps track of items you want to buy from sellers.,Questa pagina tiene traccia degli articoli che desideri acquistare dai venditori.,
This page keeps track of your items in which buyers have showed some interest.,Questa pagina tiene traccia dei tuoi articoli per i quali gli acquirenti hanno mostrato un certo interesse.,
Thursday,Giovedì,
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.",
Total,Totale,
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,
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 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,
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 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,
Valuation Rate required for Item {0} at row {1},Tasso di valutazione richiesto per l&#39;articolo {0} alla riga {1},
Values Out Of Sync,Valori non sincronizzati,
Vehicle Type is required if Mode of Transport is Road,Il tipo di veicolo è richiesto se la modalità di trasporto è su strada,
Vendor Name,Nome del fornitore,
Verify Email,Verifica Email,
View,Vista,
View all issues from {0},Visualizza tutti i problemi da {0},
View call log,Visualizza registro chiamate,
Warehouse,Magazzino,
Warehouse not found against the account {0},Magazzino non trovato nell&#39;account {0},
Welcome to {0},Benvenuti a {0},
Why do think this Item should be removed?,Perché pensi che questo oggetto debba essere rimosso?,
Work Order {0}: Job Card not found for the operation {1},Ordine di lavoro {0}: scheda lavoro non trovata per l&#39;operazione {1},
Workday {0} has been repeated.,Il giorno lavorativo {0} è stato ripetuto.,
XML Files Processed,File XML elaborati,
Year,Anno,
Yearly,Annuale,
You are not allowed to enroll for this course,Non ti è permesso iscriverti a questo corso,
You are not enrolled in program {0},Non sei iscritto al programma {0},
You can Feature upto 8 items.,Puoi presentare fino a 8 elementi.,
You can also copy-paste this link in your browser,È possibile anche copiare e incollare questo link nel tuo browser,
You can publish upto 200 items.,Puoi pubblicare fino a 200 articoli.,
You have to enable auto re-order in Stock Settings to maintain re-order levels.,È necessario abilitare il riordino automatico nelle Impostazioni di magazzino per mantenere i livelli di riordino.,
You must be a registered supplier to generate e-Way Bill,Devi essere un fornitore registrato per generare la fattura elettronica,
You need to login as a Marketplace User before you can add any reviews.,Devi accedere come utente del marketplace prima di poter aggiungere recensioni.,
Your Featured Items,I tuoi articoli in vetrina,
Your Items,I tuoi articoli,
Your Profile,Il tuo profilo,
Your rating:,Il tuo punteggio:,
and,e,
e-Way Bill already exists for this document,e-Way Bill esiste già per questo documento,
woocommerce - {0},woocommerce - {0},
{0} Coupon used are {1}. Allowed quantity is exhausted,{0} I coupon utilizzati sono {1}. La quantità consentita è esaurita,
{0} Operations: {1},{0} Operazioni: {1},
{0} bank transaction(s) created,{0} transazioni bancarie create,
{0} bank transaction(s) created and {1} errors,{0} transazioni bancarie create e errori {1},
{0} can not be greater than {1},{0} non può essere maggiore di {1},
{0} conversations,{0} conversazioni,
{0} is not a company bank account,{0} non è un conto bancario aziendale,
{0} is not a group node. Please select a group node as parent cost center,{0} non è un nodo del gruppo. Seleziona un nodo del gruppo come centro di costo principale,
{0} is not the default supplier for any items.,{0} non è il fornitore predefinito per nessun articolo.,
{0} is required,{0} è richiesto,
{0}: {1} must be less than {2},{0}: {1} deve essere inferiore a {2},
{} is 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,
Clear,Chiaro,
Comments,Commenti,
DocType,DocType,
Download,Scarica,
Left,Sinistra,
Link,collegamento,
New,Nuovo,
Print,Stampa,
Reference Name,nome di riferimento,
Refresh,Aggiorna,
Success,Successo,
Time,Tempo,
Value,Valore,
Actual,Effettivo,
Add to Cart,Aggiungi al carrello,
Days Since Last Order,Giorni dall&#39;ultimo ordine,
In Stock,In Magazzino,
Mode Of Payment,Modalità di pagamento,
No students Found,Nessuno studente trovato,
Not in Stock,Non in Stock,
Please select a Customer,Si prega di selezionare un cliente,
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,
Yes,sì,
Actual ,Attuale,
Add to cart,Aggiungi al carrello,
Budget,Budget,
Chart of Accounts,Piano dei conti,
Customer database.,Database clienti.,
Days Since Last order,Giorni dall'ultimo ordine,
Download as JSON,Scarica come JSON,
End date can not be less than start date,Data di Fine non può essere inferiore a Data di inizio,
For Default Supplier (Optional),Per fornitore predefinito (facoltativo),
From date cannot be greater than To date,Dalla data non può essere maggiore di Alla data,
Group by,Raggruppa per,
In stock,disponibile,
Item name,Nome Articolo,
Minimum Qty,Qtà minima,
More details,Maggiori dettagli,
Nature of Supplies,Natura dei rifornimenti,
No Items found.,Nessun articolo trovato.,
No students found,Nessun studenti hanno trovato,
Not in stock,Non in magazzino,
Not permitted,Non consentito,
Open Issues ,Problemi Aperti,
Open Projects ,Progetti aperti,
Open To Do ,Aperto per fare,
Operation Id,ID operazione,
Partially ordered,Parzialmente ordinato,
Please select company first,Si prega di selezionare prima la società,
Please select patient,Si prega di selezionare Paziente,
Printed On ,Stampato su,
Projected qty,Qtà proiettata,
Sales person,Addetto alle vendite,
Serial No {0} Created,Serial No {0} creato,
Source Location is required for the Asset {0},La posizione di origine è richiesta per la risorsa {0},
Tax Id,Codice fiscale,
To Time,Per Tempo,
To date cannot be before from date,Ad oggi non può essere precedente a Da data,
Total Taxable value,Totale valore imponibile,
Upcoming Calendar Events ,Prossimi eventi del calendario,
Value or Qty,Valore o Quantità,
Variance ,Varianza,
Variant of,Variante di,
Write off,Svalutazione,
hours,ore,
received from,ricevuto da,
to,A,
Cards,Carte,
Percentage,Percentuale,
Failed to setup defaults for country {0}. Please contact support@erpnext.com,Impossibile impostare i valori predefiniti per il paese {0}. Si prega di contattare support@erpnext.com,
Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Riga # {0}: L&#39;articolo {1} non è un articolo serializzato / in batch. Non può avere un numero di serie / un numero di lotto a fronte di esso.,
Please set {0},Impostare {0},
Please set {0},Si prega di impostare {0},supplier
Draft,Bozza,"docstatus,=,0"
Cancelled,Annullato,"docstatus,=,2"
Please setup Instructor Naming System in Education > Education Settings,Configura il sistema di denominazione dell&#39;istruttore in Istruzione&gt; Impostazioni istruzione,
Please set Naming Series for {0} via Setup > Settings > Naming Series,Impostare Naming Series per {0} tramite Setup&gt; Impostazioni&gt; Naming Series,
UOM Conversion factor ({0} -> {1}) not found for item: {2},Fattore di conversione UOM ({0} -&gt; {1}) non trovato per l&#39;articolo: {2},
Item Code > Item Group > Brand,Codice articolo&gt; Gruppo articoli&gt; Marchio,
Customer > Customer Group > Territory,Cliente&gt; Gruppo di clienti&gt; Territorio,
Supplier > Supplier Type,Fornitore&gt; Tipo di fornitore,
The value of {0} differs between Items {1} and {2},Il valore di {0} è diverso tra Articoli {1} e {2},
Auto Fetch,Recupero automatico,
Fetch Serial Numbers based on FIFO,Recupera numeri di serie basati su FIFO,
"Outward taxable supplies(other than zero rated, nil rated and exempted)","Prestazioni imponibili in uscita (diverse da zero valutate, zero valutate ed esenti)",
"To allow different rates, disable the {0} checkbox in {1}.","Per consentire tariffe diverse, disabilita la {0} casella di controllo in {1}.",
Asset{} {assets_link} created for {},Risorsa {} {assets_link} creata per {},
Row {}: Asset Naming Series is mandatory for the auto creation for item {},Riga {}: la serie di denominazione delle risorse è obbligatoria per la creazione automatica dell&#39;articolo {},
Assets not created for {0}. You will have to create asset manually.,Risorse non create per {0}. Dovrai creare la risorsa manualmente.,
{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} ha voci contabili nella valuta {2} per la società {3}. Seleziona un conto attivo o passivo con valuta {2}.,
Invalid Account,Account non valido,
Purchase Order Required,Ordine di Acquisto Obbligatorio,
Purchase Receipt Required,Ricevuta di Acquisto necessaria,
Account Missing,Account mancante,
Requested,richiesto,
Partially Paid,Parzialmente pagato,
Invalid Account Currency,Valuta dell&#39;account non valida,
"Row {0}: The item {1}, quantity must be positive number","Riga {0}: l&#39;articolo {1}, la quantità deve essere un numero positivo",
"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Impostare {0} per Articolo in batch {1}, che viene utilizzato per impostare {2} su Invia.",
Expiry Date Mandatory,Data di scadenza obbligatoria,
Variant Item,Articolo variante,
BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} e BOM 2 {1} non devono essere uguali,
Note: Item {0} added multiple times,Nota: elemento {0} aggiunto più volte,
YouTube,Youtube,
Vimeo,Vimeo,
Publish Date,Data di pubblicazione,
Duration,Durata,
Advanced Settings,Impostazioni avanzate,
Path,Percorso,
Components,componenti,
Verified By,Verificato da,
Invalid naming series (. missing) for {0},Serie di denominazione non valida (. Mancante) per {0},
Filter Based On,Filtro basato su,
Reqd by date,Richiesto per data,
Manufacturer Part Number <b>{0}</b> is invalid,Il numero di parte del produttore <b>{0}</b> non è valido,
Invalid Part Number,Numero di parte non valido,
Select atleast one Social Media from Share on.,Seleziona almeno un social media da Condividi su.,
Invalid Scheduled Time,Orario programmato non valido,
Length Must be less than 280.,La lunghezza deve essere inferiore a 280.,
Error while POSTING {0},Errore durante il POSTING {0},
"Session not valid, Do you want to login?","Sessione non valida, vuoi effettuare il login?",
Session Active,Sessione attiva,
Session Not Active. Save doc to login.,Sessione non attiva. Salva documento per accedere.,
Error! Failed to get request token.,Errore! Impossibile ottenere il token di richiesta.,
Invalid {0} or {1},{0} o {1} non valido,
Error! Failed to get access token.,Errore! Impossibile ottenere il token di accesso.,
Invalid Consumer Key or Consumer Secret Key,Chiave consumatore o chiave segreta consumatore non valida,
Your Session will be expire in ,La tua sessione scadrà tra,
 days.,giorni.,
Session is expired. Save doc to login.,La sessione è scaduta. Salva documento per accedere.,
Error While Uploading Image,Errore durante il caricamento dell&#39;immagine,
You Didn't have permission to access this API,Non disponi dell&#39;autorizzazione per accedere a questa API,
Valid Upto date cannot be before Valid From date,La data di aggiornamento valido non può essere precedente alla data di inizio validità,
Valid From date not in Fiscal Year {0},Valido da data non nell&#39;anno fiscale {0},
Valid Upto date not in Fiscal Year {0},Data di aggiornamento valida non nell&#39;anno fiscale {0},
Group Roll No,Rotolo di gruppo n,
Maintain Same Rate Throughout Sales Cycle,Mantenere lo stesso prezzo per tutto il ciclo di vendita,
"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Riga {1}: la quantità ({0}) non può essere una frazione. Per consentire ciò, disabilita &quot;{2}&quot; in UOM {3}.",
Must be Whole Number,Deve essere un Numero Intero,
Please setup Razorpay Plan ID,Si prega di impostare l&#39;ID del piano Razorpay,
Contact Creation Failed,Creazione contatto non riuscita,
Leaves Expired,Foglie scadute,
Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Riga n. {}: {} Di {} dovrebbe essere {}. Modifica l&#39;account o seleziona un altro account.,
Row #{}: Please asign task to a member.,Riga # {}: assegna un&#39;attività a un membro.,
Process Failed,Processo non riuscito,
Tally Migration Error,Tally Migration Error,
Please set Warehouse in Woocommerce Settings,Si prega di impostare Magazzino nelle impostazioni di Woocommerce,
Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Riga {0}: il magazzino consegne ({1}) e il magazzino clienti ({2}) non possono essere uguali,
Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Riga {0}: la data di scadenza nella tabella Termini di pagamento non può essere precedente alla data di registrazione,
Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Impossibile trovare {} per l&#39;elemento {}. Si prega di impostare lo stesso in Anagrafica articolo o Impostazioni scorte.,
Row #{0}: The batch {1} has already expired.,Riga # {0}: il batch {1} è già scaduto.,
Start Year and End Year are mandatory,L&#39;anno di inizio e l&#39;anno di fine sono obbligatori,
GL Entry,GL Entry,
Cannot allocate more than {0} against payment term {1},Impossibile allocare più di {0} in base al termine di pagamento {1},
The root account {0} must be a group,L&#39;account root {0} deve essere un gruppo,
Shipping rule not applicable for country {0} in Shipping Address,Regola di spedizione non applicabile per il paese {0} nell&#39;indirizzo di spedizione,
Get Payments from,Ricevi pagamenti da,
Set Shipping Address or Billing Address,Imposta indirizzo di spedizione o indirizzo di fatturazione,
Consultation Setup,Configurazione della consultazione,
Fee Validity,Validità della tariffa,
Laboratory Setup,Configurazione del laboratorio,
Dosage Form,Forma di dosaggio,
Records and History,Record e storia,
Patient Medical Record,Registro medico paziente,
Rehabilitation,Riabilitazione,
Exercise Type,Tipo di esercizio,
Exercise Difficulty Level,Livello di difficoltà dell&#39;esercizio,
Therapy Type,Tipo di terapia,
Therapy Plan,Piano terapeutico,
Therapy Session,Sessione di terapia,
Motor Assessment Scale,Scala di valutazione motoria,
[Important] [ERPNext] Auto Reorder Errors,[Importante] [ERPNext] Errori di riordino automatico,
"Regards,","Saluti,",
The following {0} were created: {1},Sono stati creati i seguenti {0}: {1},
Work Orders,Ordini di lavoro,
The {0} {1} created sucessfully,Il {0} {1} è stato creato correttamente,
Work Order cannot be created for following reason: <br> {0},Impossibile creare l&#39;ordine di lavoro per i seguenti motivi:<br> {0},
Add items in the Item Locations table,Aggiungi articoli nella tabella Posizioni articolo,
Update Current Stock,Aggiorna scorta attuale,
"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Conserva campione è basato sul batch, seleziona Ha numero batch per conservare il campione dell&#39;articolo",
Empty,Vuoto,
Currently no stock available in any warehouse,Attualmente non ci sono stock disponibili in nessun magazzino,
BOM Qty,Qtà BOM,
Time logs are required for {0} {1},I registri orari sono obbligatori per {0} {1},
Total Completed Qty,Qtà totale completata,
Qty to Manufacture,Qtà da Produrre,
Social Media Campaigns,Campagne sui social media,
From Date can not be greater than To Date,Dalla data non può essere maggiore di Alla data,
Please set a Customer linked to the Patient,Impostare un cliente collegato al paziente,
Customer Not Found,Cliente non trovato,
Please Configure Clinical Procedure Consumable Item in ,Configurare l&#39;elemento consumabile per procedura clinica in,
Missing Configuration,Configurazione mancante,
Out Patient Consulting Charge Item,Out Charge Item di consulenza per il paziente,
Inpatient Visit Charge Item,Visita in carica del paziente,
OP Consulting Charge,Carica di consulenza OP,
Inpatient Visit Charge,Addebito per visita stazionaria,
Appointment Status,Stato dell&#39;appuntamento,
Test: ,Test:,
Collection Details: ,Dettagli della raccolta:,
{0} out of {1},{0} su {1},
Select Therapy Type,Seleziona il tipo di terapia,
{0} sessions completed,{0} sessioni completate,
{0} session completed,{0} sessione completata,
 out of {0},su {0},
Therapy Sessions,Sessioni di terapia,
Add Exercise Step,Aggiungi fase di esercizio,
Edit Exercise Step,Modifica fase esercizio,
Patient Appointments,Appuntamenti dei pazienti,
Item with Item Code {0} already exists,Articolo con codice articolo {0} già esistente,
Registration Fee cannot be negative or zero,La quota di registrazione non può essere negativa o zero,
Configure a service Item for {0},Configura un articolo di servizio per {0},
Temperature: ,Temperatura:,
Pulse: ,Impulso:,
Respiratory Rate: ,Frequenza respiratoria:,
BP: ,BP:,
BMI: ,BMI:,
Note: ,Nota:,
Check Availability,Verificare la disponibilità,
Please select Patient first,Selezionare prima il paziente,
Please select a Mode of Payment first,Seleziona prima una modalità di pagamento,
Please set the Paid Amount first,Si prega di impostare prima l&#39;importo pagato,
Not Therapies Prescribed,Non sono prescritte terapie,
There are no Therapies prescribed for Patient {0},Non ci sono terapie prescritte per il paziente {0},
Appointment date and Healthcare Practitioner are Mandatory,La data di nomina e l&#39;operatore sanitario sono obbligatori,
No Prescribed Procedures found for the selected Patient,Nessuna procedura prescritta trovata per il paziente selezionato,
Please select a Patient first,Seleziona prima un paziente,
There are no procedure prescribed for ,Non ci sono procedure prescritte per,
Prescribed Therapies,Terapie prescritte,
Appointment overlaps with ,L&#39;appuntamento si sovrappone a,
{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} ha un appuntamento programmato con {1} alle {2} della durata di {3} minuti.,
Appointments Overlapping,Appuntamenti sovrapposti,
Consulting Charges: {0},Spese di consulenza: {0},
Appointment Cancelled. Please review and cancel the invoice {0},Appuntamento annullato. Controlla e annulla la fattura {0},
Appointment Cancelled.,Appuntamento annullato.,
Fee Validity {0} updated.,Validità della commissione {0} aggiornata.,
Practitioner Schedule Not Found,Programma praticante non trovato,
{0} is on a Half day Leave on {1},{0} è in ferie di mezza giornata il {1},
{0} is on Leave on {1},{0} è in ferie {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} non dispone di un programma per operatori sanitari. Aggiungilo in Healthcare Practitioner,
Healthcare Service Units,Unità di servizio sanitario,
Complete and Consume,Completa e consuma,
Complete {0} and Consume Stock?,Completare {0} e consumare scorte?,
Complete {0}?,Completare {0}?,
Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,La quantità di scorta per avviare la procedura non è disponibile nel magazzino {0}. Vuoi registrare una voce di borsa?,
{0} as on {1},{0} come su {1},
Clinical Procedure ({0}):,Procedura clinica ({0}):,
Please set Customer in Patient {0},Imposta Cliente in Paziente {0},
Item {0} is not active,L&#39;articolo {0} non è attivo,
Therapy Plan {0} created successfully.,Piano terapeutico {0} creato correttamente.,
Symptoms: ,Sintomi:,
No Symptoms,Nessun sintomo,
Diagnosis: ,Diagnosi:,
No Diagnosis,Nessuna diagnosi,
Drug(s) Prescribed.,Farmaco (i) prescritto.,
Test(s) Prescribed.,Test prescritti.,
Procedure(s) Prescribed.,Procedure prescritte.,
Counts Completed: {0},Conteggi completati: {0},
Patient Assessment,Valutazione del paziente,
Assessments,Valutazioni,
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Soci (o società) per le quali le scritture contabili sono fatte e i saldi vengono mantenuti.,
Account Name,Nome account,
Inter Company Account,Conto Inter Inter,
Parent Account,Account genitore,
Setting Account Type helps in selecting this Account in transactions.,Impostazione Tipo di account aiuta nella scelta questo account nelle transazioni.,
Chargeable,Addebitabile,
Rate at which this tax is applied,Tasso a cui viene applicata questa tassa,
Frozen,Congelato,
"If the account is frozen, entries are allowed to restricted users.","Se l'account viene bloccato , le voci sono autorizzati a utenti con restrizioni .",
Balance must be,Il saldo deve essere,
Lft,Lft,
Rgt,Rgt,
Old Parent,Vecchio genitore,
Include in gross,Includi in lordo,
Auditor,Ispettore,
Accounting Dimension,Dimensione contabile,
Dimension Name,Nome dimensione,
Dimension Defaults,Valori predefiniti,
Accounting Dimension Detail,Dettaglio dimensione contabile,
Default Dimension,Dimensione predefinita,
Mandatory For Balance Sheet,Obbligatorio per il bilancio,
Mandatory For Profit and Loss Account,Conto profitti e perdite obbligatorio,
Accounting Period,Periodo contabile,
Period Name,Nome del periodo,
Closed Documents,Documenti chiusi,
Accounts Settings,Impostazioni Conti,
Settings for Accounts,Impostazioni per gli account,
Make Accounting Entry For Every Stock Movement,Crea una voce contabile per ogni movimento di scorta,
Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Gli utenti con questo ruolo sono autorizzati a impostare conti congelati e creare / modificare le voci contabili nei confronti di conti congelati,
Determine Address Tax Category From,Determinare la categoria di imposta indirizzo da,
Over Billing Allowance (%),Indennità di fatturazione eccessiva (%),
Credit Controller,Controllare Credito,
Check Supplier Invoice Number Uniqueness,Controllare l'unicità del numero fattura fornitore,
Make Payment via Journal Entry,Effettua il pagamento tramite Registrazione Contabile,
Unlink Payment on Cancellation of Invoice,Scollegare il pagamento per la cancellazione della fattura,
Book Asset Depreciation Entry Automatically,Apprendere automaticamente l&#39;ammortamento dell&#39;attivo,
Automatically Add Taxes and Charges from Item Tax Template,Aggiungi automaticamente imposte e addebiti dal modello imposta articolo,
Automatically Fetch Payment Terms,Recupera automaticamente i termini di pagamento,
Show Payment Schedule in Print,Mostra programma pagamenti in stampa,
Currency Exchange Settings,Impostazioni di cambio valuta,
Allow Stale Exchange Rates,Consenti tariffe scadenti,
Stale Days,Giorni Stalli,
Report Settings,Segnala Impostazioni,
Use Custom Cash Flow Format,Usa il formato del flusso di cassa personalizzato,
Allowed To Transact With,Autorizzato a effettuare transazioni con,
SWIFT number,Numero rapido,
Branch Code,Codice della filiale,
Address and Contact,Indirizzo e contatto,
Address HTML,Indirizzo HTML,
Contact HTML,Contatto HTML,
Data Import Configuration,Configurazione importazione dati,
Bank Transaction Mapping,Mappatura delle transazioni bancarie,
Plaid Access Token,Token di accesso al plaid,
Company Account,Conto aziendale,
Account Subtype,Sottotipo di account,
Is Default Account,È un account predefinito,
Is Company Account,È un account aziendale,
Party Details,Partito Dettagli,
Account Details,Dettagli Account,
IBAN,IBAN,
Bank Account No,Conto bancario N.,
Integration Details,Dettagli di integrazione,
Integration ID,ID integrazione,
Last Integration Date,Ultima data di integrazione,
Change this date manually to setup the next synchronization start date,Modificare questa data manualmente per impostare la prossima data di inizio della sincronizzazione,
Mask,Maschera,
Bank Account Subtype,Sottotipo di conto bancario,
Bank Account Type,Tipo di conto bancario,
Bank Guarantee,Garanzia bancaria,
Bank Guarantee Type,Tipo di garanzia bancaria,
Receiving,ricevente,
Providing,fornitura,
Reference Document Name,Nome del documento di riferimento,
Validity in Days,Validità in giorni,
Bank Account Info,Informazioni sul conto bancario,
Clauses and Conditions,Clausole e condizioni,
Other Details,Altri dettagli,
Bank Guarantee Number,Numero di garanzia bancaria,
Name of Beneficiary,Nome del beneficiario,
Margin Money,Margine in denaro,
Charges Incurred,Spese incorse,
Fixed Deposit Number,Numero di deposito fisso,
Account Currency,Valuta del saldo,
Select the Bank Account to reconcile.,Seleziona il conto bancario da riconciliare.,
Include Reconciled Entries,Includi Voci riconciliati,
Get Payment Entries,Ottenere i Pagamenti,
Payment Entries,Pagamenti,
Update Clearance Date,Aggiornare Liquidazione Data,
Bank Reconciliation Detail,Dettaglio Riconciliazione Banca,
Cheque Number,Numero Assegno,
Cheque Date,Data Assegno,
Statement Header Mapping,Mappatura dell&#39;intestazione dell&#39;istruzione,
Statement Headers,Intestazioni di dichiarazione,
Transaction Data Mapping,Mappatura dei dati di transazione,
Mapped Items,Elementi mappati,
Bank Statement Settings Item,Elemento Impostazioni conto bancario,
Mapped Header,Intestazione mappata,
Bank Header,Intestazione della banca,
Bank Statement Transaction Entry,Voce di transazione conto bancario,
Bank Transaction Entries,Transazioni bancarie,
New Transactions,Nuove transazioni,
Match Transaction to Invoices,Abbina la transazione alle fatture,
Create New Payment/Journal Entry,Crea nuovo pagamento / registrazione prima nota,
Submit/Reconcile Payments,Invia / riconcilia pagamenti,
Matching Invoices,Fatture corrispondenti,
Payment Invoice Items,Pagamento delle fatture,
Reconciled Transactions,Transazioni riconciliate,
Bank Statement Transaction Invoice Item,Elemento fattura transazione conto bancario,
Payment Description,Descrizione del pagamento,
Invoice Date,Data Fattura,
invoice,fattura,
Bank Statement Transaction Payment Item,Articolo pagamento transazione conto bancario,
outstanding_amount,outstanding_amount,
Payment Reference,Referenza di pagamento,
Bank Statement Transaction Settings Item,Elemento Impostazioni transazioni conto bancario,
Bank Data,Dati bancari,
Mapped Data Type,Tipo di dati mappati,
Mapped Data,Dati mappati,
Bank Transaction,Transazione bancaria,
ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
Transaction ID,ID transazione,
Unallocated Amount,Importo non assegnato,
Field in Bank Transaction,Campo nella transazione bancaria,
Column in Bank File,Colonna nel file banca,
Bank Transaction Payments,Pagamenti per transazioni bancarie,
Control Action,Azione di controllo,
Applicable on Material Request,Applicabile su richiesta materiale,
Action if Annual Budget Exceeded on MR,Azione se il budget annuale è scaduto per MR,
Warn,Avvisa,
Ignore,Ignora,
Action if Accumulated Monthly Budget Exceeded on MR,Aziona se il Budget mensile accumulato supera MR,
Applicable on Purchase Order,Applicabile su ordine d&#39;acquisto,
Action if Annual Budget Exceeded on PO,Azione se il budget annuale è scaduto in ordine di PO,
Action if Accumulated Monthly Budget Exceeded on PO,Azione se il budget mensile accumulato è stato superato su PO,
Applicable on booking actual expenses,Applicabile alla prenotazione delle spese effettive,
Action if Annual Budget Exceeded on Actual,Azione in caso di superamento del budget annuale effettivo,
Action if Accumulated Monthly Budget Exceeded on Actual,Aziona se il Budget mensile accumulato supera l'effettivo,
Budget Accounts,Bilancio Contabile,
Budget Account,Bilancio Contabile,
Budget Amount,Importo Bilancio,
C-Form,C-Form,
ACC-CF-.YYYY.-,ACC-CF-.YYYY.-,
C-Form No,C-Form N.,
Received Date,Data Received,
Quarter,Trimestrale,
I,io,
II,II,
III,III,
IV,IV,
C-Form Invoice Detail,C-Form Dettagli Fattura,
Invoice No,Fattura N,
Cash Flow Mapper,Cash Flow Mapper,
Section Name,Nome della sezione,
Section Header,Intestazione di sezione,
Section Leader,Capo sezione,
e.g Adjustments for:,Ad es. regolazioni per:,
Section Subtotal,Sezione Totale parziale,
Section Footer,Sezione piè di pagina,
Cash Flow Mapping,Mappatura del flusso di cassa,
Select Maximum Of 1,Seleziona Massimo di 1,
Is Finance Cost,È il costo finanziario,
Is Working Capital,È il capitale circolante,
Is Finance Cost Adjustment,È l&#39;adeguamento dei costi finanziari,
Is Income Tax Liability,È responsabilità di imposta sul reddito,
Is Income Tax Expense,È l&#39;esenzione dall&#39;imposta sul reddito,
Cash Flow Mapping Accounts,Conti di mappatura del flusso di cassa,
account,Account,
Cash Flow Mapping Template,Modello di mappatura del flusso di cassa,
Cash Flow Mapping Template Details,Dettagli del modello di mappatura del flusso di cassa,
POS-CLO-,POS-CLO-,
Custody,Custodia,
Net Amount,Importo Netto,
Cashier Closing Payments,Pagamento di chiusura del cassiere,
Chart of Accounts Importer,Piano dei conti importatore,
Import Chart of Accounts from a csv file,Importa piano dei conti da un file CSV,
Attach custom Chart of Accounts file,Allegare il file del piano dei conti personalizzato,
Chart Preview,Anteprima del grafico,
Chart Tree,Albero grafico,
Cheque Print Template,Modello di stampa dell'Assegno,
Has Print Format,Ha formato di stampa,
Primary Settings,Impostazioni primarie,
Cheque Size,Dimensione Assegno,
Regular,Regolare,
Starting position from top edge,posizione dal bordo superiore Avvio,
Cheque Width,Larghezza Assegno,
Cheque Height,Altezza Assegno,
Scanned Cheque,Assegno scansionato,
Is Account Payable,E' un Conto Fornitore,
Distance from top edge,Distanza dal bordo superiore,
Distance from left edge,Distanza dal bordo sinistro,
Message to show,Messaggio da mostrare,
Date Settings,Impostazioni della data,
Starting location from left edge,A partire da posizione bordo sinistro,
Payer Settings,Impostazioni Pagatore,
Width of amount in word,Importo in parole,
Line spacing for amount in words,interlinea per importo in lettere,
Amount In Figure,Importo Nella figura,
Signatory Position,Posizione firmatario,
Closed Document,Documento chiuso,
Track separate Income and Expense for product verticals or divisions.,Traccia reddito separata e spesa per verticali di prodotto o divisioni.,
Cost Center Name,Nome Centro di Costo,
Parent Cost Center,Centro di costo padre,
lft,LFT,
rgt,rgt,
Coupon Code,codice coupon,
Coupon Name,Nome del coupon,
"e.g. ""Summer Holiday 2019 Offer 20""",ad es. &quot;Offerta vacanze estive 2019 20&quot;,
Coupon Type,Tipo di coupon,
Promotional,promozionale,
Gift Card,Carta regalo,
unique e.g. SAVE20  To be used to get discount,unico ad es. SAVE20 Da utilizzare per ottenere lo sconto,
Validity and Usage,Validità e utilizzo,
Valid From,Valido dal,
Valid Upto,Valido fino a,
Maximum Use,Massimo utilizzo,
Used,Usato,
Coupon Description,Descrizione del coupon,
Discounted Invoice,Fattura scontata,
Debit to,Addebito a,
Exchange Rate Revaluation,Rivalutazione del tasso di cambio,
Get Entries,Ottieni voci,
Exchange Rate Revaluation Account,Conto di rivalutazione del tasso di cambio,
Total Gain/Loss,Guadagno / perdita totale,
Balance In Account Currency,Saldo nella valuta dell&#39;account,
Current Exchange Rate,Tasso di cambio corrente,
Balance In Base Currency,Saldo in valuta base,
New Exchange Rate,Nuovo tasso di cambio,
New Balance In Base Currency,Nuovo saldo nella valuta di base,
Gain/Loss,Utile / Perdita,
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,**Anno Fiscale** rappresenta un anno contabile. Tutte le voci contabili e le altre operazioni importanti sono tracciati per **Anno Fiscale**.,
Year Name,Nome Anno,
"For e.g. 2012, 2012-13","Per es. 2012, 2012-13",
Year Start Date,Data di inizio anno,
Year End Date,Data di fine anno,
Companies,Aziende,
Auto Created,Creato automaticamente,
Stock User,Utente Giacenze,
Fiscal Year Company,Anno Fiscale Società,
Debit Amount,Importo Debito,
Credit Amount,Ammontare del credito,
Debit Amount in Account Currency,Importo Debito Account Valuta,
Credit Amount in Account Currency,Importo del credito Account Valuta,
Voucher Detail No,Voucher Detail No,
Is Opening,Sta aprendo,
Is Advance,È Advance,
To Rename,Rinominare,
GST Account,Account GST,
CGST Account,Conto CGST,
SGST Account,Account SGST,
IGST Account,Account IGST,
CESS Account,Account CESS,
Loan Start Date,Data di inizio del prestito,
Loan Period (Days),Periodo di prestito (giorni),
Loan End Date,Data di fine del prestito,
Bank Charges,Spese bancarie,
Short Term Loan Account,Conto prestiti a breve termine,
Bank Charges Account,Conto spese bancarie,
Accounts Receivable Credit Account,Contabilità crediti,
Accounts Receivable Discounted Account,Conti attivi Conto scontato,
Accounts Receivable Unpaid Account,Contabilità clienti Conto non pagato,
Item Tax Template,Modello fiscale articolo,
Tax Rates,Aliquote fiscali,
Item Tax Template Detail,Dettaglio modello fiscale articolo,
Entry Type,Tipo voce,
Inter Company Journal Entry,Entrata ufficiale della compagnia,
Bank Entry,Registrazione bancaria,
Cash Entry,Cash Entry,
Credit Card Entry,Entry Carta di Credito,
Contra Entry,Contra Entry,
Excise Entry,Excise Entry,
Write Off Entry,Entry di Svalutazione,
Opening Entry,Apertura Entry,
ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
Accounting Entries,Scritture contabili,
Total Debit,Debito totale,
Total Credit,Totale credito,
Difference (Dr - Cr),Differenza ( Dr - Cr ),
Make Difference Entry,Aggiungi Differenza,
Total Amount Currency,Importo Totale Valuta,
Total Amount in Words,Importo Totale in lettere,
Remark,Osservazione,
Paid Loan,Prestito a pagamento,
Inter Company Journal Entry Reference,Riferimento per la registrazione del giornale Inter Company,
Write Off Based On,Svalutazione Basata Su,
Get Outstanding Invoices,Ottieni fatture non saldate,
Write Off Amount,Importo di cancellazione,
Printing Settings,Impostazioni di stampa,
Pay To / Recd From,Paga a / Ricevuto Da,
Payment Order,Ordine di pagamento,
Subscription Section,Sezione di sottoscrizione,
Journal Entry Account,Addebito Journal,
Account Balance,Saldo a bilancio,
Party Balance,Saldo del Partner,
Accounting Dimensions,Dimensioni contabili,
If Income or Expense,Se proventi od oneri,
Exchange Rate,Tasso di cambio:,
Debit in Company Currency,Addebito nella valuta della società,
Credit in Company Currency,Credito in Società Valuta,
Payroll Entry,Inserimento in libro paga,
Employee Advance,Anticipo Dipendente,
Reference Due Date,Data di scadenza di riferimento,
Loyalty Program Tier,Livello di programma fedeltà,
Redeem Against,Riscatta contro,
Expiry Date,Data Scadenza,
Loyalty Point Entry Redemption,Redenzione per punti fedeltà,
Redemption Date,Data di rimborso,
Redeemed Points,Punti riscattati,
Loyalty Program Name,Nome del programma di fidelizzazione,
Loyalty Program Type,Tipo di programma fedeltà,
Single Tier Program,Programma a un livello,
Multiple Tier Program,Programma a più livelli,
Customer Territory,Territorio del cliente,
Auto Opt In (For all customers),Auto Opt In (per tutti i clienti),
Collection Tier,Livello di raccolta,
Collection Rules,Regole di raccolta,
Redemption,Redenzione,
Conversion Factor,Fattore di Conversione,
1 Loyalty Points = How much base currency?,1 Punti fedeltà = Quanta valuta di base?,
Expiry Duration (in days),Durata di scadenza (in giorni),
Help Section,Sezione Aiuto,
Loyalty Program Help,Aiuto per programmi fedeltà,
Loyalty Program Collection,Collezione di programmi fedeltà,
Tier Name,Nome del livello,
Minimum Total Spent,Minimo spesa totale,
Collection Factor (=1 LP),Collection Factor (= 1 LP),
For how much spent = 1 Loyalty Point,Per quanto speso = 1 punto fedeltà,
Mode of Payment Account,Modalità di pagamento Conto,
Default Account,Account Predefinito,
Default account will be automatically updated in POS Invoice when this mode is selected.,L&#39;account predefinito verrà automaticamente aggiornato in Fattura POS quando questa modalità è selezionata.,
**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,"** Distribuzione mensile ** aiuta a distribuire il Budget / Target nei mesi, nel caso di di business stagionali.",
Distribution Name,Nome della Distribuzione,
Name of the Monthly Distribution,Nome della distribuzione mensile,
Monthly Distribution Percentages,Percentuali Distribuzione Mensile,
Monthly Distribution Percentage,Percentuale Distribuzione Mensile,
Percentage Allocation,Percentuale di allocazione,
Create Missing Party,Crea una festa mancante,
Create missing customer or supplier.,Creare un cliente o un fornitore mancante.,
Opening Invoice Creation Tool Item,Articolo dello Strumento di Creazione di Fattura Tardiva,
Temporary Opening Account,Conto di apertura temporaneo,
Party Account,Account del Partner,
Type of Payment,Tipo di pagamento,
ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
Receive,Ricevere,
Internal Transfer,Trasferimento interno,
Payment Order Status,Stato dell&#39;ordine di pagamento,
Payment Ordered,Pagamento effettuato,
Payment From / To,Pagamento da / a,
Company Bank Account,Conto bancario dell&#39;azienda,
Party Bank Account,Conto bancario del partito,
Account Paid From,Risorsa di prelievo,
Account Paid To,Risorsa di deposito,
Paid Amount (Company Currency),Importo pagato (valuta della società),
Received Amount,importo ricevuto,
Received Amount (Company Currency),Importo ricevuto (Società di valuta),
Get Outstanding Invoice,Ottieni una fattura eccezionale,
Payment References,Riferimenti di pagamento,
Writeoff,Svalutazione,
Total Allocated Amount,Totale importo assegnato,
Total Allocated Amount (Company Currency),Totale importo assegnato (Valuta della Società),
Set Exchange Gain / Loss,Guadagno impostato Exchange / Perdita,
Difference Amount (Company Currency),Differenza Importo (Società di valuta),
Write Off Difference Amount,Importo a differenza Svalutazione,
Deductions or Loss,"Trattenute, Deduzioni o Perdite",
Payment Deductions or Loss,"Trattenute, Deduzioni di pagamento o Perdite",
Cheque/Reference Date,Data di riferimento,
Payment Entry Deduction,Deduzione di Pagamento,
Payment Entry Reference,Riferimento di Pagamento,
Allocated,Assegnati,
Payment Gateway Account,Pagamento Conto Gateway,
Payment Account,Conto di Pagamento,
Default Payment Request Message,Predefinito Richiesta Pagamento Messaggio,
PMO-,PMO-,
Payment Order Type,Tipo di ordine di pagamento,
Payment Order Reference,Riferimento ordine di pagamento,
Bank Account Details,Dettagli del conto bancario,
Payment Reconciliation,Pagamento Riconciliazione,
Receivable / Payable Account,Contabilità Clienti /Fornitori,
Bank / Cash Account,Conto Banca / Cassa,
From Invoice Date,Da Data fattura,
To Invoice Date,Per Data fattura,
Minimum Invoice Amount,Importo Minimo Fattura,
Maximum Invoice Amount,Importo Massimo Fattura,
System will fetch all the entries if limit value is zero.,Il sistema recupererà tutte le voci se il valore limite è zero.,
Get Unreconciled Entries,Ottieni entrate non riconciliate,
Unreconciled Payment Details,Dettagli di pagamento non riconciliati,
Invoice/Journal Entry Details,Dettagli Fattura/Registro,
Payment Reconciliation Invoice,Pagamento Riconciliazione fattura,
Invoice Number,Numero Fattura,
Payment Reconciliation Payment,Pagamento Riconciliazione di pagamento,
Reference Row,Riferimento Row,
Allocated amount,Importo Assegnato,
Payment Request Type,Tipo di richiesta di pagamento,
Outward,esterno,
Inward,interiore,
ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
Transaction Details,Dettagli di Transazione,
Amount in customer's currency,Importo nella valuta del cliente,
Is a Subscription,È un abbonamento,
Transaction Currency,transazioni valutarie,
Subscription Plans,Piani di abbonamento,
SWIFT Number,Numero rapido,
Recipient Message And Payment Details,Destinatario del Messaggio e Modalità di Pagamento,
Make Sales Invoice,Crea Fattura di vendita,
Mute Email,Email muta,
payment_url,payment_url,
Payment Gateway Details,Payment Gateway Dettagli,
Payment Schedule,Programma di pagamento,
Invoice Portion,Porzione di fattura,
Payment Amount,Pagamento Importo,
Payment Term Name,Nome del termine di pagamento,
Due Date Based On,Scadenza basata su,
Day(s) after invoice date,Giorno(i) dopo la data della fattura,
Day(s) after the end of the invoice month,Giorno(i) dopo la fine del mese di fatturazione,
Month(s) after the end of the invoice month,Mese / i dopo la fine del mese della fattura,
Credit Days,Giorni Credito,
Credit Months,Mesi di credito,
Allocate Payment Based On Payment Terms,Assegna il pagamento in base ai termini di pagamento,
"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Se questa casella di controllo è selezionata, l&#39;importo pagato verrà suddiviso e allocato secondo gli importi nel programma di pagamento rispetto a ciascun termine di pagamento",
Payment Terms Template Detail,Termini di pagamento Dettagli del modello,
Closing Fiscal Year,Chiusura Anno Fiscale,
Closing Account Head,Chiudere Conto Primario,
"The account head under Liability or Equity, in which Profit/Loss will be booked","L&#39;account testa sotto responsabilità o di capitale, in cui sarà prenotato Utile / Perdita",
POS Customer Group,POS Gruppi clienti,
POS Field,Campo POS,
POS Item Group,POS Gruppo Articolo,
Company Address,indirizzo aziendale,
Update Stock,Aggiornare Giacenza,
Ignore Pricing Rule,Ignora regola tariffaria,
Applicable for Users,Valido per gli Utenti,
Sales Invoice Payment,Pagamento Fattura di vendita,
Item Groups,Gruppi Articoli,
Only show Items from these Item Groups,Mostra solo gli articoli di questi gruppi di articoli,
Customer Groups,Gruppi clienti,
Only show Customer of these Customer Groups,Mostra solo il cliente di questi gruppi di clienti,
Write Off Account,Conto per Svalutazioni,
Write Off Cost Center,Centro di costo Svalutazioni,
Account for Change Amount,Conto per quantità di modifica,
Taxes and Charges,Tasse e Costi,
Apply Discount On,Applicare sconto su,
POS Profile User,Profilo utente POS,
Apply On,Applica su,
Price or Product Discount,Prezzo o sconto sul prodotto,
Apply Rule On Item Code,Applica regola sul codice articolo,
Apply Rule On Item Group,Applica regola sul gruppo di articoli,
Apply Rule On Brand,Applica la regola sul marchio,
Mixed Conditions,Condizioni miste,
Conditions will be applied on all the selected items combined. ,Le condizioni verranno applicate su tutti gli articoli selezionati combinati.,
Is Cumulative,È cumulativo,
Coupon Code Based,Basato su codice coupon,
Discount on Other Item,Sconto su altro articolo,
Apply Rule On Other,Applica regola su altro,
Party Information,Informazioni sul partito,
Quantity and Amount,Quantità e quantità,
Min Qty,Qtà Min,
Max Qty,Qtà max,
Min Amt,Amt. Min,
Max Amt,Amt max,
Period Settings,Impostazioni del periodo,
Margin,Margine,
Margin Type,Tipo di Margine,
Margin Rate or Amount,Margine  % o Importo,
Price Discount Scheme,Schema di sconto sui prezzi,
Rate or Discount,Tasso o Sconto,
Discount Percentage,Percentuale di sconto,
Discount Amount,Importo sconto,
For Price List,Per Listino Prezzi,
Product Discount Scheme,Schema di sconto del prodotto,
Same Item,Stesso articolo,
Free Item,Articolo gratuito,
Threshold for Suggestion,Soglia per il suggerimento,
System will notify to increase or decrease quantity or amount ,Il sistema avviserà di aumentare o diminuire la quantità o l&#39;importo,
"Higher the number, higher the priority","Più alto è il numero, maggiore è la priorità",
Apply Multiple Pricing Rules,Applica più regole di prezzo,
Apply Discount on Rate,Applica lo sconto sulla tariffa,
Validate Applied Rule,Convalida regola applicata,
Rule Description,Descrizione della regola,
Pricing Rule Help,Regola Prezzi Aiuto,
Promotional Scheme Id,ID schema promozionale,
Promotional Scheme,Schema promozionale,
Pricing Rule Brand,Marchio della regola dei prezzi,
Pricing Rule Detail,Dettaglio regola prezzi,
Child Docname,Nome documento figlio,
Rule Applied,Regola applicata,
Pricing Rule Item Code,Codice articolo regola prezzi,
Pricing Rule Item Group,Gruppo articoli regola prezzi,
Price Discount Slabs,Lastre scontate di prezzo,
Promotional Scheme Price Discount,Sconto sul prezzo del regime promozionale,
Product Discount Slabs,Lastre di sconto prodotto,
Promotional Scheme Product Discount,Sconto sul prodotto dello schema promozionale,
Min Amount,Importo minimo,
Max Amount,Quantità massima,
Discount Type,Tipo di sconto,
ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
Tax Withholding Category,Categoria ritenuta fiscale,
Edit Posting Date and Time,Modifica data e ora di registrazione,
Is Paid,È pagato,
Is Return (Debit Note),È il ritorno (nota di debito),
Apply Tax Withholding Amount,Applicare la ritenuta d&#39;acconto,
Accounting Dimensions ,Dimensioni contabili,
Supplier Invoice Details,Dettagli Fattura Fornitore,
Supplier Invoice Date,Data Fattura Fornitore,
Return Against Purchase Invoice,Ritorno Contro Acquisto Fattura,
Select Supplier Address,Selezionare l'indirizzo del Fornitore,
Contact Person,Persona di Riferimento,
Select Shipping Address,Selezionare l'indirizzo di spedizione,
Currency and Price List,Listino Prezzi e Valuta,
Price List Currency,Prezzo di listino Valuta,
Price List Exchange Rate,Listino Prezzi Tasso di Cambio,
Set Accepted Warehouse,Imposta magazzino accettato,
Rejected Warehouse,Magazzino Rifiutato,
Warehouse where you are maintaining stock of rejected items,Magazzino dove si conservano Giacenze di Articoli Rifiutati,
Raw Materials Supplied,Materie prime fornite,
Supplier Warehouse,Magazzino Fornitore,
Pricing Rules,Regole sui prezzi,
Supplied Items,Elementi in dotazione,
Total (Company Currency),Totale (Valuta Società),
Net Total (Company Currency),Totale Netto (Valuta Azienda),
Total Net Weight,Peso netto totale,
Shipping Rule,Tipo di Spedizione,
Purchase Taxes and Charges Template,Modelli di imposte e spese su acquisti,
Purchase Taxes and Charges,Acquisto Tasse e Costi,
Tax Breakup,Elenco imposte,
Taxes and Charges Calculation,Tasse e le spese di calcolo,
Taxes and Charges Added (Company Currency),Tasse e spese aggiuntive (Azienda valuta),
Taxes and Charges Deducted (Company Currency),Tasse e oneri dedotti (Azienda valuta),
Total Taxes and Charges (Company Currency),Totale tasse e spese (Azienda valuta),
Taxes and Charges Added,Tasse e spese aggiuntive,
Taxes and Charges Deducted,Tasse e oneri dedotti,
Total Taxes and Charges,Totale imposte e oneri,
Additional Discount,Sconto aggiuntivo,
Apply Additional Discount On,Applicare lo Sconto Aggiuntivo su,
Additional Discount Amount (Company Currency),Importo Sconto Aggiuntivo (valuta Azienda),
Additional Discount Percentage,Percentuale di sconto aggiuntiva,
Additional Discount Amount,Importo dello sconto aggiuntivo,
Grand Total (Company Currency),Somma totale (valuta Azienda),
Rounding Adjustment (Company Currency),Adattamento arrotondamento (Valuta Società),
Rounded Total (Company Currency),Totale arrotondato (Azienda valuta),
In Words (Company Currency),In Parole (Azienda valuta),
Rounding Adjustment,Regolazione arrotondamento,
In Words,In Parole,
Total Advance,Totale Anticipo,
Disable Rounded Total,Disabilita Arrotondamento su Totale,
Cash/Bank Account,Conto Cassa/Banca,
Write Off Amount (Company Currency),Importo Svalutazione (Valuta società),
Set Advances and Allocate (FIFO),Imposta anticipi e alloca (FIFO),
Get Advances Paid,Ottenere anticipo pagamento,
Advances,Avanzamenti,
Terms,Termini,
Terms and Conditions1,Termini e Condizioni,
Group same items,stessi articoli di gruppo,
Print Language,Lingua di Stampa,
"Once set, this invoice will be on hold till the set date","Una volta impostata, questa fattura sarà in attesa fino alla data impostata",
Credit To,Credito a,
Party Account Currency,Valuta Conto del Partner,
Against Expense Account,Per Spesa Conto,
Inter Company Invoice Reference,Riferimento alla fattura della Società Inter,
Is Internal Supplier,È un fornitore interno,
Start date of current invoice's period,Data finale del periodo di fatturazione corrente Avviare,
End date of current invoice's period,Data di fine del periodo di fatturazione corrente,
Update Auto Repeat Reference,Aggiorna riferimento auto ripetuto,
Purchase Invoice Advance,Anticipo Fattura di Acquisto,
Purchase Invoice Item,Articolo della Fattura di Acquisto,
Quantity and Rate,Quantità e Prezzo,
Received Qty,Quantità ricevuta,
Accepted Qty,Qtà accettata,
Rejected Qty,Quantità Rifiutato,
UOM Conversion Factor,Fattore di conversione Unità di Misura,
Discount on Price List Rate (%),Sconto su Prezzo di Listino (%),
Price List Rate (Company Currency),Prezzo di listino (Valuta Azienda),
Rate ,Prezzo,
Rate (Company Currency),Prezzo (Valuta Azienda),
Amount (Company Currency),Importo (Valuta Azienda),
Is Free Item,È un articolo gratuito,
Net Rate,Tasso Netto,
Net Rate (Company Currency),Tasso Netto (Valuta Azienda),
Net Amount (Company Currency),Importo netto (Valuta Azienda),
Item Tax Amount Included in Value,Importo IVA articolo incluso nel valore,
Landed Cost Voucher Amount,Landed Cost Voucher Importo,
Raw Materials Supplied Cost,Costo Fornitura Materie Prime,
Accepted Warehouse,Magazzino accettazione,
Serial No,Serial No,
Rejected Serial No,Rifiutato Serial No,
Expense Head,Conto,
Is Fixed Asset,E' un Bene Strumentale,
Asset Location,Posizione del bene,
Deferred Expense,Spese differite,
Deferred Expense Account,Conto spese differite,
Service Stop Date,Data di fine del servizio,
Enable Deferred Expense,Abilita spese differite,
Service Start Date,Data di inizio del servizio,
Service End Date,Data di fine del servizio,
Allow Zero Valuation Rate,Consenti il tasso di valorizzazione Zero,
Item Tax Rate,Articolo Tax Rate,
Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Dettaglio Tax tavolo prelevato dalla voce principale come una stringa e memorizzati in questo campo.\n Utilizzato per imposte e oneri,
Purchase Order Item,Articolo dell'Ordine di Acquisto,
Purchase Receipt Detail,Dettaglio ricevuta di acquisto,
Item Weight Details,Dettagli peso articolo,
Weight Per Unit,Peso per unità,
Total Weight,Peso totale,
Weight UOM,Peso UOM,
Page Break,Interruzione di pagina,
Consider Tax or Charge for,Considera Tasse o Costo per,
Valuation and Total,Valorizzazione e Totale,
Valuation,Valorizzazione,
Add or Deduct,Aggiungi o Sottrai,
Deduct,Detrarre,
On Previous Row Amount,Sul valore della riga precedente,
On Previous Row Total,Sul totale della riga precedente,
On Item Quantity,Sulla quantità dell&#39;articolo,
Reference Row #,Riferimento Row #,
Is this Tax included in Basic Rate?,È questa tassa inclusi nel prezzo base?,
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Se selezionato, l&#39;importo della tassa sarà considerata già inclusa nel Stampa Valuta / Stampa Importo",
Account Head,Riferimento del conto,
Tax Amount After Discount Amount,Valore Tasse Dopo Sconto dell'Importo,
Item Wise Tax Detail ,Dettaglio fiscale articolo,
"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.\n10. Add or Deduct: Whether you want to add or deduct the tax.","Modello fiscale standard che può essere applicato a tutte le transazioni di acquisto. Questo modello può contenere l'elenco delle teste fiscali e anche altri capi di spesa come ""spedizione"", ""Assicurazioni"", ""Gestione"", ecc \n\n #### Nota \n\n Il tax rate si definisce qui sarà l'aliquota standard per tutti gli articoli ** **. Se ci sono gli articoli ** ** che hanno tariffe diverse, devono essere aggiunti nella voce imposte ** ** tavolo in ** ** Item master.\n\n #### Descrizione di colonne \n\n 1. Tipo di calcolo: \n - Questo può essere di ** Net Total ** (che è la somma di importo di base).\n - ** Il Fila Indietro Total / Importo ** (per le imposte o tasse cumulative). Selezionando questa opzione, l'imposta sarà applicata come percentuale della riga precedente (nella tabella fiscale) importo o totale.\n - ** ** Actual (come detto).\n 2. Account testa: Il registro account con cui questa imposta sarà prenotato \n 3. Centro di costo: se l'imposta / tassa è di un reddito (come il trasporto) o spese deve essere prenotato contro un centro di costo.\n 4. Descrizione: Descrizione della tassa (che sarà stampato in fatture / virgolette).\n 5. Vota: Aliquota.\n 6. Importo: Ammontare IVA.\n 7. Totale: totale cumulativo a questo punto.\n 8. Inserisci Row: se sulla base di ""Previous totale riga"" è possibile selezionare il numero di riga che sarà preso come base per il calcolo (di default è la riga precedente).\n 9. Considerare fiscale o Charge per: In questa sezione è possibile specificare se l'imposta / tassa è solo per la valutazione (non una parte del totale) o solo per totale (non aggiunge valore al prodotto) o per entrambi.\n 10. Aggiungi o dedurre: Se si desidera aggiungere o detrarre l'imposta.",
ACC-SINV-.YYYY.-,ACC-SINV-.YYYY.-,
Include Payment (POS),Includi pagamento (POS),
Offline POS Name,Nome POS offline,
Is Return (Credit Note),È il ritorno (nota di credito),
Return Against Sales Invoice,Di ritorno contro fattura di vendita,
Update Billed Amount in Sales Order,Aggiorna importo fatturato in ordine cliente,
Customer PO Details,Dettagli ordine cliente,
Customer's Purchase Order,Ordine di Acquisto del Cliente,
Customer's Purchase Order Date,Data ordine acquisto Cliente,
Customer Address,Indirizzo Cliente,
Shipping Address Name,Destinazione,
Company Address Name,Nome dell&#39;azienda nome,
Rate at which Customer Currency is converted to customer's base currency,Tasso con cui la valuta Cliente viene convertita in valuta di base del cliente,
Rate at which Price list currency is converted to customer's base currency,Tasso al quale Listino valuta viene convertita in valuta di base del cliente,
Set Source Warehouse,Imposta il magazzino di origine,
Packing List,Lista di imballaggio,
Packed Items,Articoli imballati,
Product Bundle Help,Prodotto Bundle Aiuto,
Time Sheet List,Lista schede attività,
Time Sheets,Schede attività,
Total Billing Amount,Importo Totale di Fatturazione,
Sales Taxes and Charges Template,Modelli di Imposte e spese di vendita,
Sales Taxes and Charges,Tasse di vendita e oneri,
Loyalty Points Redemption,Punti fedeltà Punti di riscatto,
Redeem Loyalty Points,Riscatta i punti fedeltà,
Redemption Account,Conto di rimborso,
Redemption Cost Center,Centro di costo di rimborso,
In Words will be visible once you save the Sales Invoice.,In parole saranno visibili una volta che si salva la fattura di vendita.,
Allocate Advances Automatically (FIFO),Assegna automaticamente gli anticipi (FIFO),
Get Advances Received,ottenere anticipo Ricevuto,
Base Change Amount (Company Currency),Base quantità di modifica (Società di valuta),
Write Off Outstanding Amount,Importo di svalutazione in sospeso,
Terms and Conditions Details,Termini e condizioni dettagli,
Is Internal Customer,È cliente interno,
Is Discounted,È scontato,
Unpaid and Discounted,Non pagato e scontato,
Overdue and Discounted,Scaduto e scontato,
Accounting Details,Dettagli contabile,
Debit To,Addebito a,
Is Opening Entry,Sta aprendo Entry,
C-Form Applicable,C-Form Applicable,
Commission Rate (%),Tasso Commissione (%),
Sales Team1,Vendite Team1,
Against Income Account,Per Reddito Conto,
Sales Invoice Advance,Fattura di vendita (anticipata),
Advance amount,Importo Anticipo,
Sales Invoice Item,Articolo della Fattura di Vendita,
Customer's Item Code,Codice elemento Cliente,
Brand Name,Nome Marchio,
Qty as per Stock UOM,Quantità come da UOM Archivio,
Discount and Margin,Sconto e margine,
Rate With Margin,Prezzo con margine,
Discount (%) on Price List Rate with Margin,Sconto (%) sul prezzo di listino con margine,
Rate With Margin (Company Currency),Rate With Margin (Company Currency),
Delivered By Supplier,Consegnato dal Fornitore,
Deferred Revenue,Ricavo differito,
Deferred Revenue Account,Conto delle entrate differite,
Enable Deferred Revenue,Abilita entrate differite,
Stock Details,Dettagli Stock,
Customer Warehouse (Optional),Deposito Cliente (opzionale),
Available Batch Qty at Warehouse,Disponibile Quantità Batch in magazzino,
Available Qty at Warehouse,Quantità Disponibile a magazzino,
Delivery Note Item,Articolo del Documento di Trasporto,
Base Amount (Company Currency),Importo base (in valuta principale),
Sales Invoice Timesheet,Timesheet Fattura di Vendita,
Time Sheet,Scheda attività,
Billing Hours,Ore di fatturazione,
Timesheet Detail,Dettagli scheda attività,
Tax Amount After Discount Amount (Company Currency),Valore Tasse Dopo Sconto dell'Importo(Valuta Società),
Item Wise Tax Detail,Voce Wise fiscale Dettaglio,
Parenttype,ParentType,
"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","Modello fiscale standard che può essere applicato a tutte le transazioni di vendita. Questo modello può contenere l'elenco delle teste fiscali e anche altri capi oneri / proventi come ""spedizione"", ""Assicurazioni"", ""Gestione"", ecc \n\n #### Nota \n\n Il tax rate si definire qui sarà l'aliquota standard per tutti gli articoli ** **. Se ci sono gli articoli ** ** che hanno tariffe diverse, devono essere aggiunti nella voce imposte ** ** tavolo in ** ** Item master.\n\n #### Descrizione di colonne \n\n 1. Tipo di calcolo: \n - Questo può essere di ** Net Total ** (che è la somma di importo di base).\n - ** Il Fila Indietro Total / Importo ** (per le imposte o tasse cumulative). Selezionando questa opzione, l'imposta sarà applicata come percentuale della riga precedente (nella tabella fiscale) importo o totale.\n - ** ** Actual (come detto).\n 2. Account testa: Il registro account con cui questa imposta sarà prenotato \n 3. Centro di costo: se l'imposta / tassa è di un reddito (come il trasporto) o spese deve essere prenotato contro un centro di costo.\n 4. Descrizione: Descrizione della tassa (che sarà stampato in fatture / virgolette).\n 5. Vota: Aliquota.\n 6. Importo: Ammontare IVA.\n 7. Totale: totale cumulativo a questo punto.\n 8. Inserisci Row: se sulla base di ""Previous totale riga"" è possibile selezionare il numero di riga che sarà preso come base per il calcolo (di default è la riga precedente).\n 9. È questo Tax incluso nel Basic Rate ?: Se si seleziona questa, vuol dire che questa tassa non verrà mostrato sotto la tabella voce, ma sarà inclusa nella tariffa di base nella tabella principale voce. Questo è utile quando si vuole dare un prezzo forfettario (tasse comprese) dei prezzi per i clienti.",
* Will be calculated in the transaction.,* Sarà calcolato nella transazione,
From No,Dal n,
To No,A No,
Is Company,È la compagnia,
Current State,Stato attuale,
Purchased,acquistato,
From Shareholder,Dall&#39;Azionista,
From Folio No,Dal Folio n,
To Shareholder,All&#39;azionista,
To Folio No,Per Folio n,
Equity/Liability Account,Equity / Liability Account,
Asset Account,Conto cespiti,
(including),(Compreso),
ACC-SH-.YYYY.-,ACC-SH-.YYYY.-,
Folio no.,Folio n.,
Address and Contacts,Indirizzo e contatti,
Contact List,Lista dei contatti,
Hidden list maintaining the list of contacts linked to Shareholder,Elenco nascosto che mantiene l&#39;elenco dei contatti collegati all&#39;Azionista,
Specify conditions to calculate shipping amount,Specificare le condizioni per determinare il valore di spedizione,
Shipping Rule Label,Etichetta Tipo di Spedizione,
example: Next Day Shipping,esempio: Spedizione il Giorno Successivo,
Shipping Rule Type,Tipo di regola di spedizione,
Shipping Account,Conto di Spedizione,
Calculate Based On,Calcola in base a,
Fixed,Fisso,
Net Weight,Peso netto,
Shipping Amount,Importo spedizione,
Shipping Rule Conditions,Condizioni Tipo di Spedizione,
Restrict to Countries,Limitare ai Paesi,
Valid for Countries,Valido per i paesi,
Shipping Rule Condition,Condizioni Tipo di Spedizione,
A condition for a Shipping Rule,Una condizione per un Tipo di Spedizione,
From Value,Da Valore,
To Value,Per Valore,
Shipping Rule Country,Tipo di Spedizione per Nazione,
Subscription Period,Periodo di abbonamento,
Subscription Start Date,Data di inizio dell&#39;iscrizione,
Cancelation Date,Data di cancellazione,
Trial Period Start Date,Data di inizio del periodo di prova,
Trial Period End Date,Data di fine periodo di prova,
Current Invoice Start Date,Data di inizio fattura corrente,
Current Invoice End Date,Data di fine fattura corrente,
Days Until Due,Giorni alla scadenza,
Number of days that the subscriber has to pay invoices generated by this subscription,Numero di giorni che l&#39;abbonato deve pagare le fatture generate da questa sottoscrizione,
Cancel At End Of Period,Annulla alla fine del periodo,
Generate Invoice At Beginning Of Period,Genera fattura all&#39;inizio del periodo,
Plans,Piani,
Discounts,sconti,
Additional DIscount Percentage,Percentuale di sconto Aggiuntivo,
Additional DIscount Amount,Importo Sconto Aggiuntivo,
Subscription Invoice,Fattura di abbonamento,
Subscription Plan,Piano di abbonamento,
Cost,Costo,
Billing Interval,Intervallo di fatturazione,
Billing Interval Count,Conteggio intervalli di fatturazione,
"Number of intervals for the interval field e.g if Interval is 'Days' and Billing Interval Count is 3, invoices will be generated every 3 days","Numero di intervalli per il campo dell&#39;intervallo, ad esempio se l&#39;intervallo è &quot;Giorni&quot; e il conteggio dell&#39;intervallo di fatturazione è 3, le fatture verranno generate ogni 3 giorni",
Payment Plan,Piano di pagamento,
Subscription Plan Detail,Dettagli del piano di abbonamento,
Plan,Piano,
Subscription Settings,Impostazioni di abbonamento,
Grace Period,Periodo di grazia,
Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Numero di giorni trascorsi dalla data della fattura prima di annullare l&#39;abbonamento o di contrassegnare l&#39;abbonamento come non pagato,
Prorate,dividere proporzionalmente,
Tax Rule,Regola fiscale,
Tax Type,Tipo di tassa,
Use for Shopping Cart,Uso per Carrello,
Billing City,Città di fatturazione,
Billing County,Contea di fatturazione,
Billing State,Stato di fatturazione,
Billing Zipcode,Codice postale di fatturazione,
Billing Country,Nazione di fatturazione,
Shipping City,Spedizione Città,
Shipping County,Distretto di  Spedizione,
Shipping State,Stato Spedizione,
Shipping Zipcode,Codice postale di spedizione,
Shipping Country,Spedizione Nazione,
Tax Withholding Account,Conto ritenuta d&#39;acconto,
Tax Withholding Rates,Tassi ritenuti alla fonte,
Rates,Aliquote,
Tax Withholding Rate,Tasso di ritenuta d&#39;acconto,
Single Transaction Threshold,Soglia singola transazione,
Cumulative Transaction Threshold,Soglia cumulativa delle transazioni,
Agriculture Analysis Criteria,Criteri di analisi dell&#39;agricoltura,
Linked Doctype,Docty collegato,
Water Analysis,Analisi dell&#39;acqua,
Soil Analysis,Analisi del suolo,
Plant Analysis,Analisi delle piante,
Fertilizer,Fertilizzante,
Soil Texture,Texture del suolo,
Weather,Tempo metereologico,
Agriculture Manager,Responsabile Agricoltura,
Agriculture User,Utente Agricoltura,
Agriculture Task,Attività agricola,
Task Name,Nome Attività,
Start Day,Inizia il giorno,
End Day,Fine giornata,
Holiday Management,Gestione Ferie,
Ignore holidays,Ignora le vacanze,
Previous Business Day,Giorno lavorativo precedente,
Next Business Day,Il prossimo giorno lavorativo,
Urgent,Urgente,
Crop Name,Nome del raccolto,
Scientific Name,Nome scientifico,
"You can define all the tasks which need to carried out for this crop here. The day field is used to mention the day on which the task needs to be carried out, 1 being the 1st day, etc.. ","Puoi definire tutte le attività che devono essere eseguite per questo raccolto qui. Il campo del giorno viene utilizzato per indicare il giorno in cui è necessario eseguire l&#39;attività, 1 è il 1 ° giorno, ecc.",
Crop Spacing,Spaziatura,
Crop Spacing UOM,Crop Spacing UOM,
Row Spacing,Row Spacing,
Row Spacing UOM,UOM di spaziatura righe,
Perennial,Perenne,
Biennial,Biennale,
Planting UOM,Piantare UOM,
Planting Area,Area di impianto,
Yield UOM,Resa UOM,
Materials Required,Materiali richiesti,
Produced Items,Articoli prodotti,
Produce,Produrre,
Byproducts,sottoprodotti,
Linked Location,Posizione Collegata,
A link to all the Locations in which the Crop is growing,Un link a tutte le Località in cui il Raccolto sta crescendo,
This will be day 1 of the crop cycle,Questo sarà il giorno 1 del ciclo colturale,
ISO 8601 standard,ISO 8601 standard,
Cycle Type,Tipo di ciclo,
Less than a year,Meno di un anno,
The minimum length between each plant in the field for optimum growth,La lunghezza minima tra ogni pianta nel campo per una crescita ottimale,
The minimum distance between rows of plants for optimum growth,La distanza minima tra le file di piante per una crescita ottimale,
Detected Diseases,Malattie rilevate,
List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,"Elenco delle malattie rilevate sul campo. Quando selezionato, aggiungerà automaticamente un elenco di compiti per affrontare la malattia",
Detected Disease,Malattia rilevata,
LInked Analysis,Analisi di LInked,
Disease,Malattia,
Tasks Created,Attività create,
Common Name,Nome comune,
Treatment Task,Task di trattamento,
Treatment Period,Periodo di trattamento,
Fertilizer Name,Nome del fertilizzante,
Density (if liquid),Densità (se liquido),
Fertilizer Contents,Contenuto di fertilizzante,
Fertilizer Content,Contenuto di fertilizzanti,
Linked Plant Analysis,Analisi delle piante collegate,
Linked Soil Analysis,Analisi del suolo collegata,
Linked Soil Texture,Texture del suolo collegata,
Collection Datetime,Collezione Datetime,
Laboratory Testing Datetime,Test di laboratorio datetime,
Result Datetime,Risultato Data / ora,
Plant Analysis Criterias,Criteri di analisi delle piante,
Plant Analysis Criteria,Criteri di analisi delle piante,
Minimum Permissible Value,Valore minimo consentito,
Maximum Permissible Value,Massimo valore consentito,
Ca/K,Ca / K,
Ca/Mg,Ca / Mg,
Mg/K,Mg / K,
(Ca+Mg)/K,(Ca+Mg)/K,
Ca/(K+Ca+Mg),Ca / (K + Ca + Mg),
Soil Analysis Criterias,Criteri di analisi del suolo,
Soil Analysis Criteria,Criteri di analisi del suolo,
Soil Type,Tipo di terreno,
Loamy Sand,Sabbia argillosa,
Sandy Loam,Terreno sabbioso,
Loam,terra grassa,
Silt Loam,Limoso,
Sandy Clay Loam,Sandy Clay Loam,
Clay Loam,Clay Loam,
Silty Clay Loam,Argilloso Silty Clay,
Sandy Clay,Sandy Clay,
Silty Clay,Silty Clay,
Clay Composition (%),Composizione di argilla (%),
Sand Composition (%),Composizione di sabbia (%),
Silt Composition (%),Composizione di silt (%),
Ternary Plot,Trama Ternaria,
Soil Texture Criteria,Criteri di consistenza del suolo,
Type of Sample,Tipo di campione,
Container,Contenitore,
Origin,Origine,
Collection Temperature ,Temperatura di raccolta,
Storage Temperature,Temperatura di conservazione,
Appearance,Aspetto,
Person Responsible,Persona responsabile,
Water Analysis Criteria,Criteri di analisi dell&#39;acqua,
Weather Parameter,Parametro meteorologico,
ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
Asset Owner,Proprietario del bene,
Asset Owner Company,Asset Owner Company,
Custodian,Custode,
Disposal Date,Smaltimento Data,
Journal Entry for Scrap,Diario di rottami,
Available-for-use Date,Data disponibile per l&#39;uso,
Calculate Depreciation,Calcola l&#39;Ammortamento,
Allow Monthly Depreciation,Consenti ammortamento mensile,
Number of Depreciations Booked,Numero di ammortamenti Prenotato,
Finance Books,Libri di finanza,
Straight Line,Retta,
Double Declining Balance,Doppia valori residui,
Manual,Manuale,
Value After Depreciation,Valore Dopo ammortamenti,
Total Number of Depreciations,Numero totale degli ammortamenti,
Frequency of Depreciation (Months),Frequenza di ammortamento (Mesi),
Next Depreciation Date,Data ammortamento successivo,
Depreciation Schedule,piano di ammortamento,
Depreciation Schedules,piani di ammortamento,
Insurance details,Dettagli dell&#39;assicurazione,
Policy number,Numero di polizza,
Insurer,Assicuratore,
Insured value,Valore assicurato,
Insurance Start Date,Data di inizio dell&#39;assicurazione,
Insurance End Date,Data di fine dell&#39;assicurazione,
Comprehensive Insurance,Assicurazione completa,
Maintenance Required,Manutenzione Necessaria,
Check if Asset requires Preventive Maintenance or Calibration,Controllare se Asset richiede manutenzione preventiva o calibrazione,
Booked Fixed Asset,Risorsa fissa prenotata,
Purchase Receipt Amount,Importo della ricevuta d&#39;acquisto,
Default Finance Book,Libro delle finanze predefinito,
Quality Manager,Responsabile Qualità,
Asset Category Name,Asset Nome Categoria,
Depreciation Options,Opzioni di ammortamento,
Enable Capital Work in Progress Accounting,Abilita Contabilità lavori in corso,
Finance Book Detail,Dettaglio del libro finanziario,
Asset Category Account,Asset Categoria account,
Fixed Asset Account,Fixed Asset Account,
Accumulated Depreciation Account,Conto per il fondo ammortamento,
Depreciation Expense Account,Ammortamento spese account,
Capital Work In Progress Account,Conto capitale lavori in corso,
Asset Finance Book,Libro delle finanze del patrimonio,
Written Down Value,Valore Scritto,
Expected Value After Useful Life,Valore atteso After Life utile,
Rate of Depreciation,Tasso di ammortamento,
In Percentage,In percentuale,
Maintenance Team,Squadra di manutenzione,
Maintenance Manager Name,Nome del responsabile della manutenzione,
Maintenance Tasks,Attività di manutenzione,
Manufacturing User,Utente Produzione,
Asset Maintenance Log,Registro di manutenzione delle risorse,
ACC-AML-.YYYY.-,ACC-AML-.YYYY.-,
Maintenance Type,Tipo di manutenzione,
Maintenance Status,Stato di manutenzione,
Planned,previsto,
Has Certificate ,Ha certificato,
Certificate,Certificato,
Actions performed,Azioni eseguite,
Asset Maintenance Task,Attività di manutenzione degli asset,
Maintenance Task,Compito di manutenzione,
Preventive Maintenance,Manutenzione preventiva,
Calibration,Calibrazione,
2 Yearly,2 Annuali,
Certificate Required,Certificato richiesto,
Assign to Name,Assegna a nome,
Next Due Date,Prossima data di scadenza,
Last Completion Date,Ultima data di completamento,
Asset Maintenance Team,Asset Maintenance Team,
Maintenance Team Name,Nome del team di manutenzione,
Maintenance Team Members,Membri del team di manutenzione,
Purpose,Scopo,
Stock Manager,Responsabile di magazzino,
Asset Movement Item,Articolo movimento movimento,
Source Location,Posizione di origine,
From Employee,Da Dipendente,
Target Location,Posizione di destinazione,
To Employee,Al Dipendente,
Asset Repair,Riparazione delle risorse,
ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
Failure Date,Data di fallimento,
Assign To Name,Assegna a nome,
Repair Status,Stato di riparazione,
Error Description,Descrizione dell&#39;errore,
Downtime,I tempi di inattività,
Repair Cost,costo di riparazione,
Manufacturing Manager,Responsabile di produzione,
Current Asset Value,Valore patrimoniale corrente,
New Asset Value,Nuovo valore patrimoniale,
Make Depreciation Entry,Crea una scrittura per l'ammortamento,
Finance Book Id,Id del libro finanziario,
Location Name,Nome del luogo,
Parent Location,Posizione padre,
Is Container,È contenitore,
Check if it is a hydroponic unit,Controlla se è un&#39;unità idroponica,
Location Details,Dettagli della Posizione,
Latitude,Latitudine,
Longitude,Longitudine,
Area,La zona,
Area UOM,Area UOM,
Tree Details,Dettagli Albero,
Maintenance Team Member,Membro del team di manutenzione,
Team Member,Membro della squadra,
Maintenance Role,Ruolo di manutenzione,
Buying Settings,Impostazioni Acquisto,
Settings for Buying Module,Impostazioni per il Modulo Acquisti,
Supplier Naming By,Creare il Nome Fornitore da,
Default Supplier Group,Gruppo di fornitori predefinito,
Default Buying Price List,Prezzo di acquisto predefinito,
Backflush Raw Materials of Subcontract Based On,Backflush Materie prime di subappalto basati su,
Material Transferred for Subcontract,Materiale trasferito per conto lavoro,
Over Transfer Allowance (%),Assegno di trasferimento eccessivo (%),
Percentage you are allowed to transfer more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to transfer 110 units.,"Percentuale che ti è consentito trasferire di più rispetto alla quantità ordinata. Ad esempio: se hai ordinato 100 unità. e la tua indennità è del 10%, ti è permesso trasferire 110 unità.",
PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
Get Items from Open Material Requests,Ottenere elementi dal Richieste Aperto Materiale,
Fetch items based on Default Supplier.,Recupera gli articoli in base al fornitore predefinito.,
Required By,Richiesto da,
Order Confirmation No,Conferma d&#39;ordine no,
Order Confirmation Date,Data di conferma dell&#39;ordine,
Customer Mobile No,Clienti mobile No,
Customer Contact Email,Customer Contact Email,
Set Target Warehouse,Imposta magazzino target,
Sets 'Warehouse' in each row of the Items table.,Imposta &quot;Magazzino&quot; in ogni riga della tabella Articoli.,
Supply Raw Materials,Fornire Materie Prime,
Purchase Order Pricing Rule,Regola dei prezzi degli ordini di acquisto,
Set Reserve Warehouse,Imposta il magazzino di riserva,
In Words will be visible once you save the Purchase Order.,In parole saranno visibili una volta che si salva di Acquisto.,
Advance Paid,Anticipo versato,
Tracking,Monitoraggio,
% Billed,% Fatturato,
% Received,% Ricevuto,
Ref SQ,Rif. SQ,
Inter Company Order Reference,Riferimento ordine interaziendale,
Supplier Part Number,Numero di articolo del fornitore,
Billed Amt,Importo Fatturato,
Warehouse and Reference,Magazzino e Riferimenti,
To be delivered to customer,Da consegnare al cliente,
Material Request Item,Voce di richiesta materiale,
Supplier Quotation Item,Articolo Fornitore del Preventivo,
Against Blanket Order,Contro l&#39;ordine generale,
Blanket Order,Ordine generale,
Blanket Order Rate,Tariffa ordine coperta,
Returned Qty,Tornati Quantità,
Purchase Order Item Supplied,Articolo dell'Ordine di Acquisto Fornito,
BOM Detail No,Dettaglio BOM N.,
Stock Uom,UdM Giacenza,
Raw Material Item Code,Codice Articolo Materia Prima,
Supplied Qty,Dotazione Qtà,
Purchase Receipt Item Supplied,Ricevuta di Acquisto Articolo Fornito,
Current Stock,Giacenza Corrente,
PUR-RFQ-.YYYY.-,PUR-RFQ-.YYYY.-,
For individual supplier,Per singolo fornitore,
Link to Material Requests,Collegamento alle richieste di materiale,
Message for Supplier,Messaggio per il Fornitore,
Request for Quotation Item,Articolo della richiesta di offerta,
Required Date,Data richiesta,
Request for Quotation Supplier,Fornitore della richiesta di offerta,
Send Email,Invia Email,
Quote Status,Quote Status,
Download PDF,Scarica il pdf,
Supplier of Goods or Services.,Fornitore di beni o servizi.,
Name and Type,Nome e Tipo,
SUP-.YYYY.-,SUP-.YYYY.-,
Default Bank Account,Conto Banca Predefinito,
Is Transporter,È trasportatore,
Represents Company,Rappresenta la società,
Supplier Type,Tipo Fornitore,
Allow Purchase Invoice Creation Without Purchase Order,Consenti creazione fattura di acquisto senza ordine di acquisto,
Allow Purchase Invoice Creation Without Purchase Receipt,Consenti creazione fattura di acquisto senza ricevuta di acquisto,
Warn RFQs,Avvisare in caso RFQ,
Warn POs,Avvisare in caso di ordine di acquisto,
Prevent RFQs,Impedire RFQ,
Prevent POs,Impedire gli ordini di acquisto,
Billing Currency,Valuta di fatturazione,
Default Payment Terms Template,Modello di termini di pagamento predefinito,
Block Supplier,Blocca fornitore,
Hold Type,Tenere il tipo,
Leave blank if the Supplier is blocked indefinitely,Lascia vuoto se il Fornitore è bloccato a tempo indeterminato,
Default Payable Accounts,Contabilità Fornitori Predefinita,
Mention if non-standard payable account,Da specificare solo se non si vuole usare il conto fornitori fatture passive predefinito,
Default Tax Withholding Config,Imposta di ritenuta d&#39;acconto predefinita,
Supplier Details,Dettagli del Fornitore,
Statutory info and other general information about your Supplier,Informazioni legali e altre Informazioni generali sul tuo Fornitore,
PUR-SQTN-.YYYY.-,PUR-SQTN-.YYYY.-,
Supplier Address,Indirizzo Fornitore,
Link to material requests,Collegamento alle richieste di materiale,
Rounding Adjustment (Company Currency,Regolazione arrotondamento (Valuta Società,
Auto Repeat Section,Sezione Auto Ripetizione,
Is Subcontracted,È in Conto Lavorazione,
Lead Time in days,Tempo di Consegna in giorni,
Supplier Score,Punteggio del fornitore,
Indicator Color,Colore dell&#39;indicatore,
Evaluation Period,Periodo di valutazione,
Per Week,A settimana,
Per Month,Al mese,
Per Year,Per anno,
Scoring Setup,Impostazione del punteggio,
Weighting Function,Funzione di ponderazione,
"Scorecard variables can be used, as well as:\n{total_score} (the total score from that period),\n{period_number} (the number of periods to present day)\n","Nella formula possono essere utilizzate le variabili Scorecard definite sotto, oltre a: {total_score} (il punteggio totale di quel periodo), {period_number} (il numero di periodi fino ad oggi)",
Scoring Standings,Classificazione del punteggio,
Criteria Setup,Definizione dei criteri di valutazione,
Load All Criteria,Carica tutti i criteri,
Scoring Criteria,Criteri di punteggio,
Scorecard Actions,Azioni Scorecard,
Warn for new Request for Quotations,Avvisa per la nuova richiesta per le citazioni,
Warn for new Purchase Orders,Avvisa per i nuovi ordini di acquisto,
Notify Supplier,Notificare il fornitore,
Notify Employee,Notifica dipendente,
Supplier Scorecard Criteria,Criteri di valutazione dei fornitori,
Criteria Name,Nome criterio di valutazione,
Max Score,Punteggio massimo,
Criteria Formula,Formula,
Criteria Weight,Peso,
Supplier Scorecard Period,Periodo del punteggio fornitore,
PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
Period Score,Punteggio periodo,
Calculations,Calcolo,
Criteria,criteri,
Variables,variabili,
Supplier Scorecard Setup,Impostazione Scorecard Fornitore,
Supplier Scorecard Scoring Criteria,Criteri di valutazione del punteggio fornitore,
Score,Punto,
Supplier Scorecard Scoring Standing,Scorecard fornitore punteggio in piedi,
Standing Name,Nome permanente,
Purple,Viola,
Yellow,Giallo,
Orange,arancia,
Min Grade,Min Grado,
Max Grade,Max Grado,
Warn Purchase Orders,Avvisa gli ordini di acquisto,
Prevent Purchase Orders,Impedire gli ordini di acquisto,
Employee ,Dipendente,
Supplier Scorecard Scoring Variable,Variabile di punteggio dei punteggi dei fornitori,
Variable Name,Nome variabile,
Parameter Name,Nome del parametro,
Supplier Scorecard Standing,Scorecard fornitore permanente,
Notify Other,Notifica Altro,
Supplier Scorecard Variable,Variabile della Scorecard fornitore,
Call Log,Registro chiamate,
Received By,Ricevuto da,
Caller Information,Informazioni sul chiamante,
Contact Name,Nome Contatto,
Lead ,Condurre,
Lead Name,Nome Lead,
Ringing,suono,
Missed,perse,
Call Duration in seconds,Durata della chiamata in secondi,
Recording URL,URL di registrazione,
Communication Medium,Mezzo di comunicazione,
Communication Medium Type,Tipo di mezzo di comunicazione,
Voice,Voce,
Catch All,Prendi tutto,
"If there is no assigned timeslot, then communication will be handled by this group","Se non è stata assegnata alcuna fascia oraria, la comunicazione verrà gestita da questo gruppo",
Timeslots,Fasce orarie,
Communication Medium Timeslot,Media dei tempi di comunicazione,
Employee Group,Gruppo di dipendenti,
Appointment,Appuntamento,
Scheduled Time,Orario pianificato,
Unverified,Non verificato,
Customer Details,Dettagli Cliente,
Phone Number,Numero di telefono,
Skype ID,identificativo Skype,
Linked Documents,Documenti collegati,
Appointment With,Appuntamento con,
Calendar Event,Evento del calendario,
Appointment Booking Settings,Impostazioni prenotazione appuntamenti,
Enable Appointment Scheduling,Abilita pianificazione appuntamenti,
Agent Details,Dettagli dell&#39;agente,
Availability Of Slots,Disponibilità di slot,
Number of Concurrent Appointments,Numero di appuntamenti simultanei,
Agents,Agents,
Appointment Details,Dettagli dell&#39;appuntamento,
Appointment Duration (In Minutes),Durata appuntamento (in minuti),
Notify Via Email,Notifica via e-mail,
Notify customer and agent via email on the day of the appointment.,Avvisare cliente e agente via e-mail il giorno dell&#39;appuntamento.,
Number of days appointments can be booked in advance,Numero di giorni di appuntamenti possono essere prenotati in anticipo,
Success Settings,Impostazioni di successo,
Success Redirect URL,URL di reindirizzamento riuscito,
"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Lascia in bianco per la casa. Questo è relativo all&#39;URL del sito, ad esempio &quot;about&quot; reindirizzerà a &quot;https://yoursitename.com/about&quot;",
Appointment Booking Slots,Slot di prenotazione degli appuntamenti,
Day Of Week,Giorno della settimana,
From Time ,Da Periodo,
Campaign Email Schedule,Programma e-mail della campagna,
Send After (days),Invia dopo (giorni),
Signed,firmato,
Party User,Utente del party,
Unsigned,unsigned,
Fulfilment Status,Stato di adempimento,
N/A,N / A,
Unfulfilled,insoddisfatto,
Partially Fulfilled,Parzialmente soddisfatta,
Fulfilled,Soddisfatto,
Lapsed,decaduto,
Contract Period,Periodo del contratto,
Signee Details,Dettagli del firmatario,
Signee,signée,
Signed On,Firmato,
Contract Details,Dettagli del contratto,
Contract Template,Modello di contratto,
Contract Terms,Termini del contratto,
Fulfilment Details,Dettagli di adempimento,
Requires Fulfilment,Richiede l&#39;adempimento,
Fulfilment Deadline,Scadenza di adempimento,
Fulfilment Terms,Termini di adempimento,
Contract Fulfilment Checklist,Checklist per l&#39;evasione del contratto,
Requirement,Requisiti,
Contract Terms and Conditions,Termini e condizioni del contratto,
Fulfilment Terms and Conditions,Termini e condizioni di adempimento,
Contract Template Fulfilment Terms,Termini di adempimento del modello di contratto,
Email Campaign,Campagna e-mail,
Email Campaign For ,Campagna e-mail per,
Lead is an Organization,Lead è un&#39;organizzazione,
CRM-LEAD-.YYYY.-,CRM-LEAD-.YYYY.-,
Person Name,Nome della Persona,
Lost Quotation,Preventivo Perso,
Interested,Interessati,
Converted,Convertito,
Do Not Contact,Non Contattarci,
From Customer,Da Cliente,
Campaign Name,Nome Campagna,
Follow Up,Seguito,
Next Contact By,Contatto Successivo Con,
Next Contact Date,Data del contatto successivo,
Ends On,Finisce,
Address & Contact,Indirizzo e Contatto,
Mobile No.,Num. Cellulare,
Lead Type,Tipo Lead,
Channel Partner,Canale Partner,
Consultant,Consulente,
Market Segment,Segmento di Mercato,
Industry,Industria,
Request Type,Tipo di richiesta,
Product Enquiry,Richiesta di informazioni sui prodotti,
Request for Information,Richiesta di Informazioni,
Suggestions,Suggerimenti,
Blog Subscriber,Abbonati Blog,
LinkedIn Settings,Impostazioni LinkedIn,
Company ID,Codice Identificativo dell&#39;azienda,
OAuth Credentials,Credenziali OAuth,
Consumer Key,Chiave consumatore,
Consumer Secret,Consumatore segreto,
User Details,Dettagli utente,
Person URN,Persona URN,
Session Status,Stato della sessione,
Lost Reason Detail,Dettaglio motivo perso,
Opportunity Lost Reason,Opportunità persa motivo,
Potential Sales Deal,Deal potenziale di vendita,
CRM-OPP-.YYYY.-,CRM-OPP-.YYYY.-,
Opportunity From,Opportunità da,
Customer / Lead Name,Nome Cliente / Lead,
Opportunity Type,Tipo di Opportunità,
Converted By,Convertito da,
Sales Stage,Fase di vendita,
Lost Reason,Motivo della perdita,
Expected Closing Date,Data di chiusura prevista,
To Discuss,Da Discutere,
With Items,Con gli articoli,
Probability (%),Probabilità (%),
Contact Info,Info Contatto,
Customer / Lead Address,Indirizzo Cliente / Lead,
Contact Mobile No,Cellulare Contatto,
Enter name of campaign if source of enquiry is campaign,Inserisci il nome della Campagna se la sorgente di indagine è la campagna,
Opportunity Date,Data Opportunità,
Opportunity Item,Opportunità articolo,
Basic Rate,Tasso Base,
Stage Name,Nome d&#39;arte,
Social Media Post,Post sui social media,
Post Status,Stato del post,
Posted,Inserito,
Share On,Condividere su,
Twitter,Twitter,
LinkedIn,LinkedIn,
Twitter Post Id,ID post Twitter,
LinkedIn Post Id,ID post LinkedIn,
Tweet,Tweet,
Twitter Settings,Impostazioni di Twitter,
API Secret Key,Chiave segreta API,
Term Name,termine Nome,
Term Start Date,Term Data di inizio,
Term End Date,Data Terminologia fine,
Academics User,Utenti accademici,
Academic Year Name,Nome Anno Accademico,
Article,Articolo,
LMS User,Utente LMS,
Assessment Criteria Group,Gruppo criteri di valutazione,
Assessment Group Name,Nome gruppo valutazione,
Parent Assessment Group,Capogruppo di valutazione,
Assessment Name,Nome valutazione,
Grading Scale,Scala di classificazione,
Examiner,Esaminatore,
Examiner Name,Nome Examiner,
Supervisor,Supervisore,
Supervisor Name,Nome supervisore,
Evaluate,Valutare,
Maximum Assessment Score,Massimo punteggio,
Assessment Plan Criteria,Criteri piano di valutazione,
Maximum Score,punteggio massimo,
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 Name,Nome argomento,
Education Settings,Impostazioni di educazione,
Current Academic Year,Anno Accademico Corrente,
Current Academic Term,Termine accademico attuale,
Attendance Freeze Date,Data di congelamento della frequenza,
Validate Batch for Students in Student Group,Convalida il gruppo per gli studenti del gruppo studente,
"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.","Per il gruppo studente basato su batch, il gruppo di studenti sarà convalidato per ogni studente dall&#39;iscrizione al programma.",
Validate Enrolled Course for Students in Student Group,Validate il Corso iscritto agli studenti del gruppo studente,
"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.","Per il corso del corso, il Corso sarà convalidato per ogni Studente dai corsi iscritti in iscrizione al programma.",
Make Academic Term Mandatory,Rendi obbligatorio il termine accademico,
"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Se abilitato, il campo Periodo Accademico sarà obbligatorio nello Strumento di Registrazione del Programma.",
Skip User creation for new Student,Salta la creazione dell&#39;utente per il nuovo studente,
"By default, a new User is created for every new Student. If enabled, no new User will be created when a new Student is created.","Per impostazione predefinita, viene creato un nuovo utente per ogni nuovo studente. Se abilitato, nessun nuovo Utente verrà creato quando viene creato un nuovo Studente.",
Instructor Records to be created by,Istruttore Record da creare da,
Employee Number,Numero Dipendente,
Fee Category,Fee Categoria,
Fee Component,Fee Componente,
Fees Category,tasse Categoria,
Fee Schedule,Tariffario,
Fee Structure,Fee Struttura,
EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
Fee Creation Status,Stato della creazione della tariffa,
In Process,In Process,
Send Payment Request Email,Invia la richiesta di pagamento,
Student Category,Student Categoria,
Fee Breakup for each student,Scomposizione per ogni studente,
Total Amount per Student,Importo totale per studente,
Institution,Istituzione,
Fee Schedule Program,Programma di programmazione delle tasse,
Student Batch,Batch Student,
Total Students,Totale studenti,
Fee Schedule Student Group,Schema di apprendimento gruppo studenti,
EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
Include Payment,Includi il pagamento,
Send Payment Request,Invia richiesta di pagamento,
Student Details,Dettagli dello studente,
Student Email,Email dell&#39;allievo,
Grading Scale Name,Grading Scale Nome,
Grading Scale Intervals,Intervalli di classificazione di scala,
Intervals,intervalli,
Grading Scale Interval,Grading Scale Intervallo,
Grade Code,Codice grado,
Threshold,Soglia,
Grade Description,Grade Descrizione,
Guardian,Custode,
Guardian Name,Nome della guardia,
Alternate Number,Numero alternativo,
Occupation,Occupazione,
Work Address,Indirizzo di lavoro,
Guardian Of ,guardian of,
Students,Alunni,
Guardian Interests,Custodi Interessi,
Guardian Interest,Guardiano interesse,
Interest,Interesse,
Guardian Student,Guardiano Student,
EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
Instructor Log,Registro istruttore,
Other details,Altri dettagli,
Option,Opzione,
Is Correct,È corretta,
Program Name,Nome programma,
Program Abbreviation,Abbreviazione programma,
Courses,corsi,
Is Published,È pubblicato,
Allow Self Enroll,Consenti iscrizione automatica,
Is Featured,È in primo piano,
Intro Video,Video introduttivo,
Program Course,programma del Corso,
School House,school House,
Boarding Student,Studente di imbarco,
Check this if the Student is residing at the Institute's Hostel.,Controllare questo se lo studente è residente presso l&#39;Ostello dell&#39;Istituto.,
Walking,A passeggio,
Institute's Bus,Bus dell&#39;Istituto,
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,
Blood Group,Gruppo sanguigno,
A+,A+,
A-,A-,
B+,B +,
B-,B-,
O+,O +,
O-,O-,
AB+,AB+,
AB-,AB-,
Nationality,Nazionalità,
Home Address,Indirizzo di casa,
Guardian Details,Guardiano Dettagli,
Guardians,Guardiani,
Sibling Details,Dettagli sibling,
Siblings,fratelli,
Exit,Esci,
Date of Leaving,Data di partenza,
Leaving Certificate Number,Lasciando Numero del certificato,
Reason For Leaving,Motivo della partenza,
Student Admission,L&#39;ammissione degli studenti,
Admission Start Date,Data Inizio Ammissione,
Admission End Date,Data Fine Ammissione,
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 Date,Data di applicazione,
Student Attendance Tool,Strumento Presenze Studente,
Group Based On,Gruppo basato su,
Students HTML,Gli studenti HTML,
Group Based on,Gruppo basato,
Student Group Name,Nome gruppo Student,
Max Strength,Forza Max,
Set 0 for no limit,Impostare 0 per nessun limite,
Instructors,Istruttori,
Student Group Creation Tool,Strumento Creazione Gruppo Studente,
Leave blank if you make students groups per year,Lasciare vuoto se fai gruppi di studenti all&#39;anno,
Get Courses,Ottieni Corsi,
Separate course based Group for every Batch,Separare il gruppo di corso per ogni batch,
Leave unchecked if you don't want to consider batch while making course based groups. ,Lasciate non selezionate se non si desidera considerare il gruppo durante la creazione di gruppi basati sul corso.,
Student Group Creation Tool Course,Strumento Corso Creazione Gruppo Studente,
Course Code,Codice del corso,
Student Group Instructor,Istruttore del gruppo di studenti,
Student Group Student,Student Student Group,
Group Roll Number,Numero di rotolo di gruppo,
Student Guardian,Student Guardiano,
Relation,Relazione,
Mother,Madre,
Father,Padre,
Student Language,Student Lingua,
Student Leave Application,Student Leave Application,
Mark as Present,Segna come Presente,
Student Log,Student Log,
Academic,Accademico,
Achievement,Realizzazione,
Student Report Generation Tool,Strumento di Generazione dei Rapporti degli Studenti,
Include All Assessment Group,Includi tutti i gruppi di valutazione,
Show Marks,Mostra segni,
Add letterhead,Aggiungi carta intestata,
Print Section,Sezione di stampa,
Total Parents Teacher Meeting,Riunione degli insegnanti di genitori totali,
Attended by Parents,Assistito dai genitori,
Assessment Terms,Termini di valutazione,
Student Sibling,Student Sibling,
Studying in Same Institute,Studiare in stesso Istituto,
NO,NO,
YES,Si,
Student Siblings,Student Siblings,
Topic Content,Contenuto dell&#39;argomento,
Amazon MWS Settings,Impostazioni Amazon MWS,
ERPNext Integrations,Integrazioni ERPNext,
Enable Amazon,Abilita Amazon,
MWS Credentials,Credenziali MWS,
Seller ID,ID venditore,
AWS Access Key ID,ID chiave di accesso AWS,
MWS Auth Token,Token di autenticazione MWS,
Market Place ID,Market Place ID,
AE,AE,
AU,AU,
BR,BR,
CA,circa,
CN,CN,
DE,DE,
ES,ES,
FR,FR,
JP,JP,
IT,IT,
MX,MX,
UK,UK,
US,NOI,
Customer Type,tipo di cliente,
Market Place Account Group,Gruppo di account Market Place,
After Date,Dopo la data,
Amazon will synch data updated after this date,Amazon sincronizzerà i dati aggiornati dopo questa data,
Sync Taxes and Charges,Sincronizza tasse e addebiti,
Get financial breakup of Taxes and charges data by Amazon ,Ottieni una rottura finanziaria delle tasse e carica i dati di Amazon,
Sync Products,Prodotti di sincronizzazione,
Always sync your products from Amazon MWS before synching the Orders details,Sincronizza sempre i tuoi prodotti da Amazon MWS prima di sincronizzare i dettagli degli ordini,
Sync Orders,Sincronizza ordini,
Click this button to pull your Sales Order data from Amazon MWS.,Fare clic su questo pulsante per estrarre i dati dell&#39;ordine cliente da Amazon MWS.,
Enable Scheduled Sync,Abilita sincronizzazione pianificata,
Check this to enable a scheduled Daily synchronization routine via scheduler,Controlla questo per abilitare una routine di sincronizzazione giornaliera pianificata tramite lo scheduler,
Max Retry Limit,Limite massimo tentativi,
Exotel Settings,Impostazioni Exotel,
Account SID,Account SID,
API Token,Token API,
GoCardless Mandate,GoCardless Mandate,
Mandate,Mandato,
GoCardless Customer,Cliente GoCardless,
GoCardless Settings,Impostazioni GoCardless,
Webhooks Secret,Webhooks Secret,
Plaid Settings,Impostazioni del plaid,
Synchronize all accounts every hour,Sincronizza tutti gli account ogni ora,
Plaid Client ID,ID client plaid,
Plaid Secret,Plaid Secret,
Plaid Environment,Ambiente plaid,
sandbox,sandbox,
development,sviluppo,
production,produzione,
QuickBooks Migrator,QuickBooks Migrator,
Application Settings,Impostazioni dell&#39;applicazione,
Token Endpoint,Token Endpoint,
Scope,Scopo,
Authorization Settings,Impostazioni di autorizzazione,
Authorization Endpoint,Endpoint di autorizzazione,
Authorization URL,URL di autorizzazione,
Quickbooks Company ID,Quickbooks Company ID,
Company Settings,Impostazioni Azienda,
Default Shipping Account,Account di spedizione predefinito,
Default Warehouse,Magazzino Predefinito,
Default Cost Center,Centro di costo predefinito,
Undeposited Funds Account,Conto fondi non trasferiti,
Shopify Log,Log di Shopify,
Shopify Settings,Impostazioni di Shopify,
status html,stato html,
Enable Shopify,Abilita Shopify,
App Type,App Type,
Last Sync Datetime,Ultima sincronizzazione datetime,
Shop URL,URL del negozio,
eg: frappe.myshopify.com,ad esempio: frappe.myshopify.com,
Shared secret,Segreto condiviso,
Webhooks Details,Dettagli Webhooks,
Webhooks,Webhooks,
Customer Settings,Impostazioni del cliente,
Default Customer,Cliente predefinito,
Customer Group will set to selected group while syncing customers from Shopify,Gruppo di clienti verrà impostato sul gruppo selezionato durante la sincronizzazione dei clienti da Shopify,
For Company,Per Azienda,
Cash Account will used for Sales Invoice creation,Conto in contanti verrà utilizzato per la creazione di fattura di vendita,
Update Price from Shopify To ERPNext Price List,Aggiorna prezzo da Shopify al listino prezzi ERPNext,
Default Warehouse to to create Sales Order and Delivery Note,Magazzino predefinito per creare ordine di vendita e nota di consegna,
Sales Order Series,Serie di ordini di vendita,
Import Delivery Notes from Shopify on Shipment,Importa le note di consegna da Shopify alla spedizione,
Delivery Note Series,Serie di note di consegna,
Import Sales Invoice from Shopify if Payment is marked,Importa la fattura di vendita da Shopify se il pagamento è contrassegnato,
Sales Invoice Series,Serie di fatture di vendita,
Shopify Tax Account,Conto fiscale Shopify,
Shopify Tax/Shipping Title,Shopify Tax / Shipping Title,
ERPNext Account,ERPNext Account,
Shopify Webhook Detail,Shopify Webhook Detail,
Webhook ID,ID WebHook,
Tally Migration,Tally Migration,
Master Data,Dati anagrafici,
"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Dati esportati da Tally che consiste in piano dei conti, clienti, fornitori, indirizzi, articoli e unità di misura",
Is Master Data Processed,Vengono elaborati i dati anagrafici,
Is Master Data Imported,Vengono importati i dati anagrafici,
Tally Creditors Account,Conto dei creditori Tally,
Creditors Account set in Tally,Conto creditori impostato in Tally,
Tally Debtors Account,Conto dei debitori di Tally,
Debtors Account set in Tally,Conto debitori impostato in Tally,
Tally Company,Tally Company,
Company Name as per Imported Tally Data,Nome della società secondo i dati di conteggio importati,
Default UOM,UOM predefinito,
UOM in case unspecified in imported data,UOM nel caso in cui non sia specificato nei dati importati,
ERPNext Company,Azienda ERPSucc,
Your Company set in ERPNext,La tua azienda impostata in ERPNext,
Processed Files,File elaborati,
Parties,parti,
UOMs,Unità di Misure,
Vouchers,Buoni,
Round Off Account,Arrotondamento Account,
Day Book Data,Dati del libro diurno,
Day Book Data exported from Tally that consists of all historic transactions,Dati del registro giornaliero esportati da Tally che consiste di tutte le transazioni storiche,
Is Day Book Data Processed,I dati del libro diurno vengono elaborati,
Is Day Book Data Imported,Vengono importati i dati del Day Book,
Woocommerce Settings,Impostazioni Woocommerce,
Enable Sync,Abilita sincronizzazione,
Woocommerce Server URL,URL del server Woocommerce,
Secret,Segreto,
API consumer key,Chiave API,
API consumer secret,Password API,
Tax Account,Conto fiscale,
Freight and Forwarding Account,Conto di spedizione e spedizione,
Creation User,Utente della creazione,
"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","L&#39;utente che verrà utilizzato per creare clienti, articoli e ordini cliente. Questo utente dovrebbe disporre delle autorizzazioni pertinenti.",
"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Questo magazzino verrà utilizzato per creare ordini cliente. Il magazzino di fallback è &quot;Stores&quot;.,
"The fallback series is ""SO-WOO-"".",La serie fallback è &quot;SO-WOO-&quot;.,
This company will be used to create Sales Orders.,Questa società verrà utilizzata per creare ordini cliente.,
Delivery After (Days),Consegna dopo (giorni),
This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,Questo è l&#39;offset predefinito (giorni) per la data di consegna negli ordini cliente. L&#39;offset di fallback è di 7 giorni dalla data di collocamento dell&#39;ordine.,
"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Questo è l&#39;UOM predefinito utilizzato per gli articoli e gli ordini cliente. L&#39;UOM di fallback è &quot;Nos&quot;.,
Endpoints,endpoint,
Endpoint,endpoint,
Antibiotic Name,Nome antibiotico,
Healthcare Administrator,Amministratore sanitario,
Laboratory User,Utente del laboratorio,
Is Inpatient,È ospedaliero,
Default Duration (In Minutes),Durata predefinita (in minuti),
Body Part,Parte del corpo,
Body Part Link,Collegamento della parte del corpo,
HLC-CPR-.YYYY.-,HLC-CPR-.YYYY.-,
Procedure Template,Modello di procedura,
Procedure Prescription,Prescrizione procedura,
Service Unit,Unità di servizio,
Consumables,Materiali di consumo,
Consume Stock,Consumare,
Invoice Consumables Separately,Fatturare i materiali di consumo separatamente,
Consumption Invoiced,Consumo fatturato,
Consumable Total Amount,Importo totale consumabile,
Consumption Details,Dettagli sui consumi,
Nursing User,Nursing User,
Clinical Procedure Item,Articolo di procedura clinica,
Invoice Separately as Consumables,Fattura separatamente come materiale di consumo,
Transfer Qty,Qtà di trasferimento,
Actual Qty (at source/target),Q.tà reale (in origine/obiettivo),
Is Billable,È fatturabile,
Allow Stock Consumption,Consenti il consumo di magazzino,
Sample UOM,Esempio di UOM,
Collection Details,Dettagli raccolta,
Change In Item,Modifica nell&#39;articolo,
Codification Table,Tabella di codificazione,
Complaints,"Denunce, contestazioni",
Dosage Strength,Forza di dosaggio,
Strength,Forza,
Drug Prescription,Prescrizione di farmaci,
Drug Name / Description,Nome / descrizione del farmaco,
Dosage,Dosaggio,
Dosage by Time Interval,Dosaggio per intervallo di tempo,
Interval,Intervallo,
Interval UOM,Intervallo UOM,
Hour,Ora,
Update Schedule,Aggiorna la pianificazione,
Exercise,Esercizio,
Difficulty Level,Livello di difficoltà,
Counts Target,Conta l&#39;obiettivo,
Counts Completed,Conteggi completati,
Assistance Level,Livello di assistenza,
Active Assist,Active Assist,
Exercise Name,Nome esercizio,
Body Parts,Parti del corpo,
Exercise Instructions,Istruzioni per l&#39;esercizio,
Exercise Video,Video di esercizi,
Exercise Steps,Fasi dell&#39;esercizio,
Steps Table,Tabella dei passaggi,
Exercise Type Step,Tipo di esercizio Step,
Max number of visit,Numero massimo di visite,
Visited yet,Visitato ancora,
Reference Appointments,Appuntamenti di riferimento,
Valid till,Valido fino a,
Fee Validity Reference,Riferimento di validità della commissione,
Basic Details,Dettagli di base,
HLC-PRAC-.YYYY.-,HLC-PRAC-.YYYY.-,
Mobile,Mobile,
Phone (R),Telefono (R),
Phone (Office),Telefono (Ufficio),
Employee and User Details,Dettagli sui dipendenti e sugli utenti,
Hospital,Ospedale,
Appointments,Appuntamenti,
Practitioner Schedules,Orari del praticante,
Charges,oneri,
Out Patient Consulting Charge,Costo per consulenza fuori paziente,
Default Currency,Valuta Predefinita,
Healthcare Schedule Time Slot,Orario orario sanitario,
Parent Service Unit,Unità di servizio padr,
Service Unit Type,Tipo di unità di servizio,
Allow Appointments,Consenti appuntamenti,
Allow Overlap,Consenti sovrapposizione,
Inpatient Occupancy,Occupazione ospedaliera,
Occupancy Status,Stato di occupazione,
Vacant,Vacante,
Occupied,Occupato,
Item Details,Dettagli articolo,
UOM Conversion in Hours,Conversione UOM in ore,
Rate / UOM,Tasso / UOM,
Change in Item,Modifica nell&#39;articolo,
Out Patient Settings,Impostazioni paziente,
Patient Name By,Nome del paziente,
Patient Name,Nome paziente,
Link Customer to Patient,Collega il cliente al paziente,
"If checked, a customer will be created, mapped to Patient.\nPatient Invoices will be created against this Customer. You can also select existing Customer while creating Patient.","Se selezionato, verrà creato un cliente, associato a Paziente. Le fatture pazienti verranno create contro questo Cliente. È inoltre possibile selezionare il cliente esistente durante la creazione di paziente.",
Default Medical Code Standard,Standard di codice medico di default,
Collect Fee for Patient Registration,Raccogliere la tariffa per la registrazione del paziente,
Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,Selezionando questa opzione verranno creati nuovi pazienti con stato Disabilitato per impostazione predefinita e verranno abilitati solo dopo la fatturazione della quota di registrazione.,
Registration Fee,Commissione di iscrizione,
Automate Appointment Invoicing,Automatizza la fatturazione degli appuntamenti,
Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Gestisci la fattura di appuntamento invia e annulla automaticamente per l&#39;incontro del paziente,
Enable Free Follow-ups,Abilita follow-up gratuiti,
Number of Patient Encounters in Valid Days,Numero di incontri con pazienti in giorni validi,
The number of free follow ups (Patient Encounters in valid days) allowed,Il numero di follow up gratuiti (incontri con i pazienti in giorni validi) consentiti,
Valid Number of Days,Numero di giorni validi,
Time period (Valid number of days) for free consultations,Periodo di tempo (numero di giorni valido) per consulenze gratuite,
Default Healthcare Service Items,Elementi del servizio sanitario predefinito,
"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","È possibile configurare gli articoli predefiniti per la fatturazione delle spese di consultazione, gli articoli di consumo della procedura e le visite dei pazienti",
Clinical Procedure Consumable Item,Articolo di consumo della procedura clinica,
Default Accounts,Account predefiniti,
Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,Conti del reddito di default da utilizzare se non stabiliti in Healthcare Practitioner per prenotare le spese di nomina.,
Default receivable accounts to be used to book Appointment charges.,Conti attivi predefiniti da utilizzare per la registrazione degli addebiti per gli appuntamenti.,
Out Patient SMS Alerts,Avvisi SMS di pazienti,
Patient Registration,Registrazione del paziente,
Registration Message,Messaggio di registrazione,
Confirmation Message,Messaggio di conferma,
Avoid Confirmation,Evita la conferma,
Do not confirm if appointment is created for the same day,Non confermare se l&#39;appuntamento è stato creato per lo stesso giorno,
Appointment Reminder,Promemoria appuntamento,
Reminder Message,Messaggio di promemoria,
Laboratory Settings,Impostazioni di laboratorio,
Create Lab Test(s) on Sales Invoice Submission,Crea test di laboratorio sull&#39;invio della fattura di vendita,
Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,Selezionando questa opzione verranno creati i test di laboratorio specificati nella fattura di vendita al momento dell&#39;invio.,
Create Sample Collection document for Lab Test,Crea un documento di raccolta dei campioni per il test di laboratorio,
Checking this will create a Sample Collection document  every time you create a Lab Test,"Selezionando questo, verrà creato un documento di raccolta dei campioni ogni volta che si crea un test di laboratorio",
Employee name and designation in print,Nome e designazione del dipendente in stampa,
Check this if you want the Name and Designation of the Employee associated with the User who submits the document to be printed in the Lab Test Report.,Selezionare questa opzione se si desidera che il nome e la designazione del dipendente associato all&#39;utente che invia il documento vengano stampati nel rapporto del test di laboratorio.,
Do not print or email Lab Tests without Approval,Non stampare o inviare per e-mail test di laboratorio senza approvazione,
Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,Selezionando questa opzione si limiterà la stampa e l&#39;invio tramite e-mail dei documenti dei test di laboratorio a meno che non abbiano lo stato Approvato.,
Custom Signature in Print,Firma personalizzata in stampa,
Laboratory SMS Alerts,Laboratorio SMS Avvisi,
Result Printed Message,Risultato messaggio stampato,
Result Emailed Message,Risultato messaggio inviato tramite posta elettronica,
Check In,Registrare,
Check Out,Check-out,
HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
A Positive,Un positivo,
A Negative,Un Negativo,
AB Positive,AB Positivo,
AB Negative,AB negativo,
B Positive,B Positivo,
B Negative,B Negativo,
O Positive,O positivo,
O Negative,O negativo,
Date of birth,Data Compleanno,
Admission Scheduled,Ammissione Programmata,
Discharge Scheduled,Discarico programmato,
Discharged,licenziato,
Admission Schedule Date,Data Programmata Ammissione,
Admitted Datetime,Data/ora Ammissione,
Expected Discharge,Scarico previsto,
Discharge Date,Data di scarico,
Lab Prescription,Prescrizione di laboratorio,
Lab Test Name,Nome del test di laboratorio,
Test Created,Test creati,
Submitted Date,Data di invio,
Approved Date,Data approvazione,
Sample ID,ID del campione,
Lab Technician,Tecnico di laboratorio,
Report Preference,Preferenze di rapporto,
Test Name,Nome del test,
Test Template,Modello di prova,
Test Group,Gruppo di prova,
Custom Result,Risultato personalizzato,
LabTest Approver,LabTest Approver,
Add Test,Aggiungi Test,
Normal Range,Intervallo normale,
Result Format,Formato risultato,
Single,Singolo,
Compound,Composto,
Descriptive,Descrittivo,
Grouped,raggruppate,
No Result,Nessun risultato,
This value is updated in the Default Sales Price List.,Questo valore viene aggiornato nell&#39;elenco dei prezzi di vendita predefinito.,
Lab Routine,Laboratorio di routine,
Result Value,Valore risultato,
Require Result Value,Richiedi valore di risultato,
Normal Test Template,Modello di prova normale,
Patient Demographics,Demografia del paziente,
HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
Middle Name (optional),Secondo Nome (facoltativo),
Inpatient Status,Stato di ricovero,
"If ""Link Customer to Patient"" is checked in Healthcare Settings and an existing Customer is not selected then, a Customer will be created for this Patient for recording transactions in Accounts module.","Se &quot;Collega cliente a paziente&quot; è selezionato in Impostazioni sanitarie e un cliente esistente non è selezionato, verrà creato un cliente per questo paziente per la registrazione delle transazioni nel modulo Account.",
Personal and Social History,Storia personale e sociale,
Marital Status,Stato civile,
Married,Sposato,
Divorced,Divorziato,
Widow,Vedova,
Patient Relation,Relazione paziente,
"Allergies, Medical and Surgical History","Allergie, storia medica e chirurgica",
Allergies,Allergie,
Medication,medicazione,
Medical History,Storia medica,
Surgical History,Storia chirurgica,
Risk Factors,Fattori di rischio,
Occupational Hazards and Environmental Factors,Pericoli professionali e fattori ambientali,
Other Risk Factors,Altri fattori di rischio,
Patient Details,Dettagli del paziente,
Additional information regarding the patient,Ulteriori informazioni sul paziente,
HLC-APP-.YYYY.-,HLC-APP-.YYYY.-,
Patient Age,Età del paziente,
Get Prescribed Clinical Procedures,Ottieni procedure cliniche prescritte,
Therapy,Terapia,
Get Prescribed Therapies,Ottieni terapie prescritte,
Appointment Datetime,Appuntamento Datetime,
Duration (In Minutes),Durata (in minuti),
Reference Sales Invoice,Fattura di vendita di riferimento,
More Info,Ulteriori Informazioni,
Referring Practitioner,Referente Practitioner,
HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
Assessment Template,Modello di valutazione,
Assessment Datetime,Data di valutazione,
Assessment Description,Descrizione della valutazione,
Assessment Sheet,Foglio di valutazione,
Total Score Obtained,Punteggio totale ottenuto,
Scale Min,Scala Min,
Scale Max,Scala max,
Patient Assessment Detail,Dettaglio della valutazione del paziente,
Assessment Parameter,Parametro di valutazione,
Patient Assessment Parameter,Parametro di valutazione del paziente,
Patient Assessment Sheet,Foglio di valutazione del paziente,
Patient Assessment Template,Modello di valutazione del paziente,
Assessment Parameters,Parametri di valutazione,
Parameters,parametri,
Assessment Scale,Scala di valutazione,
Scale Minimum,Scala minima,
Scale Maximum,Scala massima,
HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
Encounter Date,Data dell&#39;incontro,
Encounter Time,Tempo di incontro,
Encounter Impression,Incontro impressione,
Symptoms,Sintomi,
In print,In stampa,
Medical Coding,Codifica medica,
Procedures,procedure,
Therapies,Terapie,
Review Details,Dettagli di revisione,
Patient Encounter Diagnosis,Diagnosi di incontro con il paziente,
Patient Encounter Symptom,Sintomo dell&#39;incontro con il paziente,
HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
Attach Medical Record,Allega cartella clinica,
Spouse,Sposa,
Family,Famiglia,
Schedule Details,Dettagli pianificazione,
Schedule Name,Nome Schedule,
Time Slots,Fasce orarie,
Practitioner Service Unit Schedule,Programma dell&#39;unità di servizio del praticante,
Procedure Name,Nome della procedura,
Appointment Booked,Appuntamento confermato,
Procedure Created,Procedura creata,
HLC-SC-.YYYY.-,HLC-SC-.YYYY.-,
Collected By,Raccolto da,
Particulars,Particolari,
Result Component,Componente risultato,
HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
Therapy Plan Details,Dettagli del piano terapeutico,
Total Sessions,Sessioni totali,
Total Sessions Completed,Sessioni totali completate,
Therapy Plan Detail,Dettaglio del piano terapeutico,
No of Sessions,No di sessioni,
Sessions Completed,Sessioni completate,
Tele,Tele,
Exercises,Esercizi,
Therapy For,Terapia per,
Add Exercises,Aggiungi esercizi,
Body Temperature,Temperatura corporea,
Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),"Presenza di febbre (temp&gt; 38,5 ° C / 101,3 ° F o temp. Durata&gt; 38 ° C / 100,4 ° F)",
Heart Rate / Pulse,Frequenza cardiaca / Battito,
Adults' pulse rate is anywhere between 50 and 80 beats per minute.,La frequenza cardiaca degli adulti è compresa tra 50 e 80 battiti al minuto.,
Respiratory rate,Frequenza respiratoria,
Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),L&#39;intervallo di riferimento normale per un adulto è 16-20 breaths / min (RCP 2012),
Tongue,Lingua,
Coated,rivestito,
Very Coated,Molto rivestito,
Normal,Normale,
Furry,Peloso,
Cuts,tagli,
Abdomen,Addome,
Bloated,gonfio,
Fluid,Fluido,
Constipated,Stitico,
Reflexes,riflessi,
Hyper,Hyper,
Very Hyper,Molto iper,
One Sided,Unilaterale,
Blood Pressure (systolic),Pressione sanguigna (sistolica),
Blood Pressure (diastolic),Pressione sanguigna (diastolica),
Blood Pressure,Pressione sanguigna,
"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","La pressione sanguigna normale in un adulto è di circa 120 mmHg sistolica e 80 mmHg diastolica, abbreviata &quot;120/80 mmHg&quot;",
Nutrition Values,Valori nutrizionali,
Height (In Meter),Altezza (in metri),
Weight (In Kilogram),Peso (in chilogrammo),
BMI,BMI,
Hotel Room,Camera d&#39;albergo,
Hotel Room Type,Tipo di camera d&#39;albergo,
Capacity,Capacità,
Extra Bed Capacity,Capacità del letto supplementare,
Hotel Manager,Direttore dell'albergo,
Hotel Room Amenity,Hotel Room Amenity,
Billable,Addebitabile,
Hotel Room Package,Pacchetto camera d&#39;albergo,
Amenities,Servizi,
Hotel Room Pricing,Prezzi camera d&#39;albergo,
Hotel Room Pricing Item,Articolo prezzi camere,
Hotel Room Pricing Package,Pacchetto prezzi camera d&#39;albergo,
Hotel Room Reservation,Prenotazione camera d&#39;albergo,
Guest Name,Nome dell&#39;ospite,
Late Checkin,Registrazione tardiva,
Booked,Prenotato,
Hotel Reservation User,Utente prenotazione hotel,
Hotel Room Reservation Item,Hotel Reservation Item,
Hotel Settings,Impostazioni dell&#39;hotel,
Default Taxes and Charges,Tasse predefinite e oneri,
Default Invoice Naming Series,Serie di denominazione di fattura predefinita,
HR,HR,
Date on which this component is applied,Data di applicazione di questo componente,
Salary Slip,Busta paga,
HR User,HR utente,
Job Applicant,Candidati,
Body,Corpo,
Appraisal Template,Modello valutazione,
Parent Department,Dipartimento padre,
Leave Block List,Lascia il blocco lista,
Days for which Holidays are blocked for this department.,Giorni per i quali le festività sono bloccate per questo reparto.,
Leave Approver,Responsabile Ferie,
Expense Approver,Responsabile Spese,
Required Skills,Competenze richieste,
Skills,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,
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 Mode,Modalità di stipendio,
Bank A/C No.,Conto Bancario N.,
Health Insurance,Assicurazione sanitaria,
Health Insurance Provider,Fornitore dell'assicurazione sanitaria,
Health Insurance No,Assicurazione sanitaria n,
Prefered Email,Email Preferenziale,
Personal Email,Email personale,
Permanent Address Is,Indirizzo permanente è,
Rented,Affittato,
Owned,Di proprietà,
Permanent Address,Indirizzo permanente,
Prefered Contact Email,Contatto email preferenziale,
Company Email,Email aziendale,
Provide Email Address registered in company,Fornire l&#39;indirizzo e-mail registrato in compagnia,
Current Address Is,Indirizzo attuale è,
Current Address,Indirizzo Corrente,
Personal Bio,Bio personale,
Bio / Cover Letter,Biografia / Lettera di copertura,
Short biography for website and other publications.,Breve biografia per il sito web e altre pubblicazioni.,
Passport Number,Numero di passaporto,
Date of Issue,Data di Pubblicazione,
Place of Issue,Luogo di emissione,
Widowed,Vedovo,
Family Background,Sfondo Famiglia,
"Here you can maintain family details like name and occupation of parent, spouse and children","Qui è possibile mantenere i dettagli della famiglia come il nome e l'occupazione del genitore, coniuge e figli",
Health Details,Dettagli Salute,
"Here you can maintain height, weight, allergies, medical concerns etc","Qui è possibile mantenere l'altezza, il peso, le allergie, le preoccupazioni mediche ecc",
Educational Qualification,Titolo di Studio,
Previous Work Experience,Precedente Esperienza Lavoro,
External Work History,Storia del lavoro esterno,
History In Company,Storia aziendale,
Internal Work History,Storia di lavoro interni,
Resignation Letter Date,Lettera di dimissioni Data,
Relieving Date,Alleviare Data,
Reason for Leaving,Motivo per Lasciare,
Leave Encashed?,Lascia non incassati?,
Encashment Date,Data Incasso,
New Workplace,Nuovo posto di lavoro,
Returned Amount,Importo restituito,
Advance Account,Conto anticipi,
Benefits Applied,Benefici applicati,
Benefit Type and Amount,Tipo di beneficio e importo,
Task Weight,Peso Attività,
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,
Employee Group Table,Tabella del gruppo di dipendenti,
ERPNext User ID,ERPSuccessivo ID utente,
Employee Internal Work History,Storia lavorativa Interna del Dipendente,
Activities,Attività,
Employee Onboarding Activity,Attività di assunzione dei dipendenti,
Employee Promotion Detail,Dettaglio promozione dipendente,
Employee Transfer Property,Proprietà del trasferimento dei dipendenti,
Unclaimed amount,Importo non reclamato,
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,
Retirement Age,Età di pensionamento,
Enter retirement age in years,Inserire l&#39;età pensionabile in anni,
Stop Birthday Reminders,Arresto Compleanno Promemoria,
Leave Settings,Lascia le impostazioni,
Accepted,Accettato,
Printing Details,Dettagli stampa,
Job Title,Titolo Posizione,
Allocation,Assegnazione,
Select Employees,Selezionare Dipendenti,
Allocate,Assegna,
Max Leaves Allowed,Numero massimo consentito,
Maximum Continuous Days Applicable,Giorni continui massimi applicabili,
Select Payroll Period,Seleziona Periodo Busta Paga,
Abbr,Abbr,
Condition and Formula,Condizione e Formula,
Total Working Hours,Orario di lavoro totali,
Hour Rate,Rapporto Orario,
Bank Account No.,Conto Bancario N.,
Earning & Deduction,Rendimento & Detrazione,
Loan repayment,Rimborso del prestito,
Employee Loan,prestito dipendenti,
Total Principal Amount,Importo principale totale,
Total Interest Amount,Importo totale degli interessi,
Total Loan Repayment,Totale Rimborso prestito,
net pay info,Informazioni retribuzione netta,
Gross Pay - Total Deduction - Loan Repayment,Pay Gross - Deduzione totale - Rimborso prestito,
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.,
Staffing Plan Details,Dettagli del piano di personale,
Optional,Opzionale,
Costing,Valutazione Costi,
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,
last Odometer Value ,ultimo valore del contachilometri,
Service Detail,Particolare di servizio,
Hub Tracked Item,Hub Tracked Item,
Hub Node,Nodo hub,
Image List,Elenco immagini,
Item Manager,Responsabile Articoli,
Hub User,Utente Hub,
Hub Password,Password dell&#39;hub,
Hub Users,Utenti Hub,
Marketplace Settings,Impostazioni del Marketplace,
Disable Marketplace,Disabilita Marketplace,
Marketplace URL (to hide and update label),URL del Marketplace (per nascondere e aggiornare l&#39;etichetta),
Registered,Registrato,
Sync in Progress,Sincronizzazione in corso,
Hub Seller Name,Nome venditore Hub,
Custom Data,Dati personalizzati,
Repay From Salary,Rimborsare da Retribuzione,
Regular Payment,Pagamento regolare,
Loan Closure,Chiusura del prestito,
Rate of Interest (%) Yearly,Tasso di interesse (%) Performance,
MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
Generate Schedule,Genera Programma,
Schedules,Orari,
Maintenance Schedule Detail,Dettaglio programma di manutenzione,
Scheduled Date,Data prevista,
Actual Date,Data effettiva,
Maintenance Schedule Item,Voce del Programma di manutenzione,
Random,Casuale,
No of Visits,Num. di Visite,
MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
Maintenance Date,Data di manutenzione,
Maintenance Time,Tempo di Manutenzione,
Completion Status,Stato Completamento,
Partially Completed,Parzialmente completato,
Fully Completed,Debitamente compilato,
Unscheduled,Non in programma,
Breakdown,Esaurimento,
Purposes,Scopi,
Customer Feedback,Opinione Cliente,
Maintenance Visit Purpose,Scopo visita manutenzione,
Work Done,Attività svolta,
Against Document No,Per Documento N,
Against Document Detail No,Per Dettagli Documento N,
MFG-BLR-.YYYY.-,MFG-BLR-.YYYY.-,
Order Type,Tipo di ordine,
Blanket Order Item,Articolo ordine coperta,
Ordered Quantity,Quantità Ordinata,
Item to be manufactured or repacked,Voce da fabbricati o nuovamente imballati,
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Quantità di prodotto ottenuto dopo la produzione / reimballaggio da determinati quantitativi di materie prime,
Set rate of sub-assembly item based on BOM,Imposta tasso di elemento di sotto-montaggio basato su BOM,
Allow Alternative Item,Consenti articolo alternativo,
Item UOM,Articolo UOM,
Conversion Rate,Tasso di conversione,
Rate Of Materials Based On,Tasso di materiali a base di,
With Operations,Con operazioni,
Manage cost of operations,Gestire costi operazioni,
Transfer Material Against,Trasferisci materiale contro,
Routing,Routing,
Materials,Materiali,
Quality Inspection Required,Ispezione di qualità richiesta,
Quality Inspection Template,Modello di ispezione di qualità,
Scrap,rottame,
Scrap Items,Scrap Articoli,
Operating Cost,Costo di gestione,
Raw Material Cost,Costo Materie Prime,
Scrap Material Cost,Costo rottami Materiale,
Operating Cost (Company Currency),Costi di funzionamento (Società di valuta),
Raw Material Cost (Company Currency),Costo delle materie prime (valuta dell&#39;azienda),
Scrap Material Cost(Company Currency),Scrap Materiale Costo (Società di valuta),
Total Cost,Costo totale,
Total Cost (Company Currency),Costo totale (valuta dell&#39;azienda),
Materials Required (Exploded),Materiali necessari (dettagli),
Exploded Items,Articoli esplosi,
Show in Website,Mostra nel sito web,
Item Image (if not slideshow),Immagine Articolo (se non slideshow),
Thumbnail,Thumbnail,
Website Specifications,Website Specifiche,
Show Items,Mostra elementi,
Show Operations,Mostra Operations,
Website Description,Descrizione del sito,
BOM Explosion Item,BOM Articolo Esploso,
Qty Consumed Per Unit,Quantità consumata per unità,
Include Item In Manufacturing,Includi articolo nella produzione,
BOM Item,BOM Articolo,
Item operation,Operazione articolo,
Rate & Amount,Tariffa e importo,
Basic Rate (Company Currency),Tasso Base (Valuta Azienda),
Scrap %,Scrap%,
Original Item,Articolo originale,
BOM Operation,Operazione BOM,
Operation Time ,Tempo di operazione,
In minutes,In pochi minuti,
Batch Size,Dimensione del lotto,
Base Hour Rate(Company Currency),Base Hour Rate (Società di valuta),
Operating Cost(Company Currency),Costi di funzionamento (Società di valuta),
BOM Scrap Item,Articolo Scarto per Distinta Base,
Basic Amount (Company Currency),Importo di base (Società di valuta),
BOM Update Tool,Strumento di aggiornamento Distinta Base,
"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM.\nIt also updates latest price in all the BOMs.","Sostituire una particolare BOM in tutte le altre BOM in cui è utilizzata. Sostituirà il vecchio collegamento BOM, aggiorna i costi e rigenererà la tabella &quot;BOM Explosion Item&quot; come per la nuova BOM. Inoltre aggiorna l&#39;ultimo prezzo in tutte le BOM.",
Replace BOM,Sostituire il BOM,
Current BOM,Distinta Base attuale,
The BOM which will be replaced,La Distinta Base che sarà sostituita,
The new BOM after replacement,La nuova Distinta Base dopo la sostituzione,
Replace,Sostituire,
Update latest price in all BOMs,Aggiorna l&#39;ultimo prezzo in tutte le BOM,
BOM Website Item,Distinta Base dell'Articolo sul Sito Web,
BOM Website Operation,BOM Pagina web,
Operation Time,Tempo di funzionamento,
PO-JOB.#####,PO-JOB. #####,
Timing Detail,Dettaglio dei tempi,
Time Logs,Logs tempo,
Total Time in Mins,Tempo totale in minuti,
Operation ID,ID operazione,
Transferred Qty,Quantità trasferito,
Job Started,Lavoro avviato,
Started Time,Ora di inizio,
Current Time,Ora attuale,
Job Card Item,Job Card Item,
Job Card Time Log,Registro tempo scheda lavoro,
Time In Mins,Tempo in minuti,
Completed Qty,Q.tà Completata,
Manufacturing Settings,Impostazioni di Produzione,
Raw Materials Consumption,Consumo di materie prime,
Allow Multiple Material Consumption,Consenti il consumo di più materiali,
Backflush Raw Materials Based On,Backflush Materie prime calcolate in base a,
Material Transferred for Manufacture,Materiale trasferito per Produzione,
Capacity Planning,Pianificazione Capacità,
Disable Capacity Planning,Disabilita pianificazione della capacità,
Allow Overtime,Consenti Straodinario,
Allow Production on Holidays,Consenti produzione su Vacanze,
Capacity Planning For (Days),Pianificazione Capacità per (giorni),
Default Warehouses for Production,Magazzini predefiniti per la produzione,
Default Work In Progress Warehouse,Deposito di default per Work In Progress,
Default Finished Goods Warehouse,Deposito beni ultimati,
Default Scrap Warehouse,Magazzino rottami predefinito,
Overproduction Percentage For Sales Order,Percentuale di sovrapproduzione per ordine di vendita,
Overproduction Percentage For Work Order,Percentuale di sovrapproduzione per ordine di lavoro,
Other Settings,Altre impostazioni,
Update BOM Cost Automatically,Aggiorna automaticamente il costo della BOM,
Material Request Plan Item,Articolo piano di richiesta materiale,
Material Request Type,Tipo di richiesta materiale,
Material Issue,Fornitura materiale,
Customer Provided,Fornito dal cliente,
Minimum Order Quantity,Quantità ordine minimo,
Default Workstation,Workstation predefinita,
Production Plan,Piano di produzione,
MFG-PP-.YYYY.-,MFG-PP-.YYYY.-,
Get Items From,Ottenere elementi dal,
Get Sales Orders,Ottieni Ordini di Vendita,
Material Request Detail,Dettaglio richiesta materiale,
Get Material Request,Get Materiale Richiesta,
Material Requests,Richieste di materiale,
Get Items For Work Order,Ottieni articoli per ordine di lavoro,
Material Request Planning,Pianificazione Richiesta Materiale,
Include Non Stock Items,Includi articoli non disponibili,
Include Subcontracted Items,Includi elementi in conto lavoro,
Ignore Existing Projected Quantity,Ignora quantità prevista esistente,
"To know more about projected quantity, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">click here</a>.","Per saperne di più sulla quantità proiettata, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">clicca qui</a> .",
Download Required Materials,Scarica i materiali richiesti,
Get Raw Materials For Production,Ottieni materie prime per la produzione,
Total Planned Qty,Qtà totale pianificata,
Total Produced Qty,Quantità totale prodotta,
Material Requested,Materiale richiesto,
Production Plan Item,Piano di Produzione Articolo,
Make Work Order for Sub Assembly Items,Effettuare un ordine di lavoro per gli articoli dell&#39;Assemblea secondaria,
"If enabled, system will create the work order for the exploded items against which BOM is available.","Se abilitato, il sistema creerà l&#39;ordine di lavoro per gli elementi esplosi per i quali è disponibile la distinta componenti.",
Planned Start Date,Data di inizio prevista,
Quantity and Description,Quantità e descrizione,
material_request_item,material_request_item,
Product Bundle Item,Prodotto Bundle Voce,
Production Plan Material Request,Piano di produzione Materiale Richiesta,
Production Plan Sales Order,Produzione Piano di ordini di vendita,
Sales Order Date,Ordine di vendita Data,
Routing Name,Nome del routing,
MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
Item To Manufacture,Articolo da produrre,
Material Transferred for Manufacturing,Materiale trasferito per produzione,
Manufactured Qty,Q.tà Prodotte,
Use Multi-Level BOM,Utilizzare BOM Multi-Level,
Plan material for sub-assemblies,Materiale Piano per sub-assemblaggi,
Skip Material Transfer to WIP Warehouse,Salta trasferimento materiale al magazzino WIP,
Check if material transfer entry is not required,Controllare se non è richiesta la voce di trasferimento dei materiali,
Backflush Raw Materials From Work-in-Progress Warehouse,Backflush di materie prime da magazzino in corso di lavorazione,
Update Consumed Material Cost In Project,Aggiorna il costo del materiale consumato nel progetto,
Warehouses,Magazzini,
This is a location where raw materials are available.,Questa è una posizione in cui sono disponibili materie prime.,
Work-in-Progress Warehouse,Magazzino Lavori in corso,
This is a location where operations are executed.,Questa è una posizione in cui vengono eseguite le operazioni.,
This is a location where final product stored.,Questa è una posizione in cui è stato archiviato il prodotto finale.,
Scrap Warehouse,Scrap Magazzino,
This is a location where scraped materials are stored.,Questa è una posizione in cui sono immagazzinati materiali di scarto.,
Required Items,Articoli richiesti,
Actual Start Date,Data inizio effettiva,
Planned End Date,Data di fine pianificata,
Actual End Date,Data di fine effettiva,
Operation Cost,Operazione Costo,
Planned Operating Cost,Costo operativo pianificato,
Actual Operating Cost,Costo operativo effettivo,
Additional Operating Cost,Ulteriori costi di esercizio,
Total Operating Cost,Totale costi di esercizio,
Manufacture against Material Request,Produzione relativa alla Richiesta Materiale,
Work Order Item,Articolo dell&#39;ordine di lavoro,
Available Qty at Source Warehouse,Qtà disponibile presso Source Warehouse,
Available Qty at WIP Warehouse,Quantità disponibile presso WIP Warehouse,
Work Order Operation,Operazione dell&#39;ordine di lavoro,
Operation Description,Operazione Descrizione,
Operation completed for how many finished goods?,Operazione completata per quanti prodotti finiti?,
Work in Progress,Lavori in corso,
Estimated Time and Cost,Tempo e Costo Stimato,
Planned Start Time,Ora di inizio prevista,
Planned End Time,Tempo di fine pianificato,
in Minutes,In pochi minuti,
Actual Time and Cost,Tempo reale e costi,
Actual Start Time,Ora di inizio effettiva,
Actual End Time,Ora di fine effettiva,
Updated via 'Time Log',Aggiornato con 'Time Log',
Actual Operation Time,Tempo lavoro effettiva,
in Minutes\nUpdated via 'Time Log',Aggiornato da pochi minuti tramite 'Time Log',
(Hour Rate / 60) * Actual Operation Time,(Tasso Orario / 60) * tempo operazione effettivo,
Workstation Name,Nome Stazione di lavoro,
Production Capacity,Capacità produttiva,
Operating Costs,Costi operativi,
Electricity Cost,Costo Elettricità,
per hour,all'ora,
Consumable Cost,Costo consumabili,
Rent Cost,Affitto Costo,
Wages,Salari,
Wages per hour,Salari all'ora,
Net Hour Rate,Tasso Netto Orario,
Workstation Working Hour,Ore di lavoro Workstation,
Certification Application,Applicazione di certificazione,
Name of Applicant,Nome del candidato,
Certification Status,Stato certificazione,
Yet to appear,Deve ancora apparire,
Certified,Certificato,
Not Certified,Non certificato,
USD,Dollaro statunitense,
INR,INR,
Certified Consultant,Consulente certificato,
Name of Consultant,Nome del consulente,
Certification Validity,Validità certificazione,
Discuss ID,Discutere ID,
GitHub ID,GitHub ID,
Non Profit Manager,Manager non profit,
Chapter Head,Capo capitolo,
Meetup Embed HTML,Meetup Incorpora HTML,
chapters/chapter_name\nleave blank automatically set after saving chapter.,capitoli / chapter_name lascia vuoto automaticamente impostato dopo aver salvato il capitolo.,
Chapter Members,Membri del Capitolo,
Members,Utenti,
Chapter Member,Membro del Capitolo,
Website URL,URL del sito web,
Leave Reason,Lascia ragione,
Donor Name,Nome del donatore,
Donor Type,Tipo di donatore,
Withdrawn,Ritirato,
Grant Application Details ,Concedere i dettagli dell&#39;applicazione,
Grant Description,Descrizione della sovvenzione,
Requested Amount,Importo richiesto,
Has any past Grant Record,Ha un record di sovvenzione passato,
Show on Website,Mostra sul sito web,
Assessment  Mark (Out of 10),Valutazione (su 10),
Assessment  Manager,Responsabile della valutazione,
Email Notification Sent,Email di notifica inviata,
NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
Membership Expiry Date,Data di scadenza dell&#39;appartenenza,
Razorpay Details,Dettagli Razorpay,
Subscription ID,ID abbonamento,
Customer ID,identificativo del cliente,
Subscription Activated,Abbonamento attivato,
Subscription Start ,Inizio dell&#39;abbonamento,
Subscription End,Fine dell&#39;abbonamento,
Non Profit Member,Membro non profit,
Membership Status,Stato di appartenenza,
Member Since,Membro da,
Payment ID,ID pagamento,
Membership Settings,Impostazioni di iscrizione,
Enable RazorPay For Memberships,Abilita RazorPay per gli abbonamenti,
RazorPay Settings,Impostazioni RazorPay,
Billing Cycle,Ciclo di fatturazione,
Billing Frequency,Frequenza di fatturazione,
"The number of billing cycles for which the customer should be charged. For example, if a customer is buying a 1-year membership that should be billed on a monthly basis, this value should be 12.","Il numero di cicli di fatturazione per i quali il cliente deve essere addebitato. Ad esempio, se un cliente sta acquistando un abbonamento di 1 anno che dovrebbe essere fatturato su base mensile, questo valore dovrebbe essere 12.",
Razorpay Plan ID,ID piano Razorpay,
Volunteer Name,Nome del volontario,
Volunteer Type,Tipo di volontariato,
Availability and Skills,Disponibilità e competenze,
Availability,Disponibilità,
Weekends,Fine settimana,
Availability Timeslot,Orario di disponibilità,
Morning,Mattina,
Afternoon,Pomeriggio,
Evening,Sera,
Anytime,In qualsiasi momento,
Volunteer Skills,Abilità di volontariato,
Volunteer Skill,Abilità volontaria,
Homepage,Homepage,
Hero Section Based On,Sezione degli eroi basata su,
Homepage Section,Sezione della homepage,
Hero Section,Sezione degli eroi,
Tag Line,Tag Linea,
Company Tagline for website homepage,Tagline per la home page del sito,
Company Description for website homepage,Descrizione per la home page del sito,
Homepage Slideshow,Presentazione della home page,
"URL for ""All Products""",URL per &quot;tutti i prodotti&quot;,
Products to be shown on website homepage,Prodotti da mostrare sulla home page del sito,
Homepage Featured Product,Home page per prodotti in vetrina,
route,itinerario,
Section Based On,Sezione basata su,
Section Cards,Schede di sezione,
Number of Columns,Numero di colonne,
Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Numero di colonne per questa sezione. Verranno visualizzate 3 carte per riga se selezioni 3 colonne.,
Section HTML,Sezione HTML,
Use this field to render any custom HTML in the section.,Utilizzare questo campo per eseguire il rendering di qualsiasi HTML personalizzato nella sezione.,
Section Order,Ordine di sezione,
"Order in which sections should appear. 0 is first, 1 is second and so on.","Ordine in cui dovrebbero apparire le sezioni. 0 è il primo, 1 è il secondo e così via.",
Homepage Section Card,Home page Sezione Card,
Subtitle,Sottotitolo,
Products Settings,Impostazioni Prodotti,
Home Page is Products,La Home Page è Prodotti,
"If checked, the Home page will be the default Item Group for the website","Se selezionato, la pagina iniziale sarà il gruppo di default dell&#39;oggetto per il sito web",
Show Availability Status,Mostra lo stato di disponibilità,
Product Page,Pagina del prodotto,
Products per Page,Prodotti per pagina,
Enable Field Filters,Abilita filtri di campo,
Item Fields,Campi oggetto,
Enable Attribute Filters,Abilita filtri attributi,
Attributes,Attributi,
Hide Variants,Nascondi varianti,
Website Attribute,Attributo del sito Web,
Attribute,Attributo,
Website Filter Field,Campo filtro sito Web,
Activity Cost,Costo attività,
Billing Rate,Fatturazione Tasso,
Costing Rate,Costing Tasso,
title,titolo,
Projects User,Utente Progetti,
Default Costing Rate,Tasso di costo Predefinito,
Default Billing Rate,Tariffa predefinita,
Dependent Task,Attività dipendente,
Project Type,Tipo di progetto,
% Complete Method,% Completamento,
Task Completion,Completamento dell'attività,
Task Progress,Avanzamento attività,
% Completed,% Completato,
From Template,Dal modello,
Project will be accessible on the website to these users,Progetto sarà accessibile sul sito web per questi utenti,
Copied From,Copiato da,
Start and End Dates,Date di inizio e fine,
Actual Time in Hours (via Timesheet),Tempo effettivo (in ore),
Costing and Billing,Costi e Fatturazione,
Total Costing Amount (via Timesheet),Total Costing Amount (via Timesheet),
Total Expense Claim (via Expense Claim),Total Expense Claim (via rimborsi spese),
Total Purchase Cost (via Purchase Invoice),Costo totale di acquisto (tramite acquisto fattura),
Total Sales Amount (via Sales Order),Importo totale vendite (tramite ordine cliente),
Total Billable Amount (via Timesheet),Importo totale fatturabile (tramite Timesheets),
Total Billed Amount (via Sales Invoice),Importo fatturato totale (tramite fatture di vendita),
Total Consumed Material Cost (via Stock Entry),Costo totale del materiale consumato (tramite stock),
Gross Margin,Margine lordo,
Gross Margin %,Margine lordo %,
Monitor Progress,Monitorare i progressi,
Collect Progress,Raccogli progressi,
Frequency To Collect Progress,Frequenza per raccogliere i progressi,
Twice Daily,Due volte al giorno,
First Email,Prima email,
Second Email,Seconda email,
Time to send,Tempo di inviare,
Day to Send,Giorno per inviare,
Message will be sent to the users to get their status on the Project,Verrà inviato un messaggio agli utenti per ottenere il loro stato sul progetto,
Projects Manager,Responsabile Progetti,
Project Template,Modello di progetto,
Project Template Task,Task modello di progetto,
Begin On (Days),Inizia il (giorni),
Duration (Days),Durata (giorni),
Project Update,Aggiornamento del progetto,
Project User,Utente Progetti,
View attachments,Visualizza allegati,
Projects Settings,Impostazioni dei progetti,
Ignore Workstation Time Overlap,Ignora sovrapposizione tempo workstation,
Ignore User Time Overlap,Ignora la sovrapposizione temporale dell&#39;utente,
Ignore Employee Time Overlap,Ignora sovrapposizione tempo dipendente,
Weight,Peso,
Parent Task,Attività padre,
Timeline,Sequenza temporale,
Expected Time (in hours),Tempo previsto (in ore),
% Progress,% Avanzamento,
Is Milestone,È Milestone,
Task Description,Descrizione del compito,
Dependencies,dipendenze,
Dependent Tasks,Attività dipendenti,
Depends on Tasks,Dipende Compiti,
Actual Start Date (via Timesheet),Data di inizio effettiva (da Time Sheet),
Actual Time in Hours (via Timesheet),Tempo reale (in ore),
Actual End Date (via Timesheet),Data di fine effettiva (da Time Sheet),
Total Expense Claim (via Expense Claim),Rimborso spese totale (via Expense Claim),
Review Date,Data di revisione,
Closing Date,Data Chiusura,
Task Depends On,L'attività dipende da,
Task Type,Tipo di attività,
TS-.YYYY.-,TS-.YYYY.-,
Employee Detail,Dettaglio dei dipendenti,
Billing Details,Dettagli di fatturazione,
Total Billable Hours,Totale Ore Fatturabili,
Total Billed Hours,Totale Ore Fatturate,
Total Costing Amount,Importo totale Costing,
Total Billable Amount,Importo Totale Fatturabile,
Total Billed Amount,Totale Importo Fatturato,
% Amount Billed,% Importo Fatturato,
Hrs,Ore,
Costing Amount,Costing Importo,
Corrective/Preventive,Correttive / preventive,
Corrective,correttivo,
Preventive,preventivo,
Resolution,Risoluzione,
Resolutions,risoluzioni,
Quality Action Resolution,Risoluzione dell&#39;azione di qualità,
Quality Feedback Parameter,Parametro di feedback di qualità,
Quality Feedback Template Parameter,Parametro del modello di feedback sulla qualità,
Quality Goal,Obiettivo di qualità,
Monitoring Frequency,Frequenza di monitoraggio,
Weekday,giorno feriale,
Objectives,obiettivi,
Quality Goal Objective,Obiettivo obiettivo di qualità,
Objective,Obbiettivo,
Agenda,ordine del giorno,
Minutes,Minuti,
Quality Meeting Agenda,Ordine del giorno della riunione di qualità,
Quality Meeting Minutes,Verbale della riunione di qualità,
Minute,Minuto,
Parent Procedure,Procedura genitore,
Processes,Processi,
Quality Procedure Process,Processo di procedura di qualità,
Process Description,Descrizione del processo,
Link existing Quality Procedure.,Collegare la procedura di qualità esistente.,
Additional Information,Informazioni aggiuntive,
Quality Review Objective,Obiettivo della revisione della qualità,
DATEV Settings,Impostazioni DATEV,
Regional,Regionale,
Consultant ID,ID consulente,
GST HSN Code,Codice GST HSN,
HSN Code,Codice HSN,
GST Settings,Impostazioni GST,
GST Summary,Riepilogo GST,
GSTIN Email Sent On,Posta elettronica di GSTIN inviata,
GST Accounts,Conti GST,
B2C Limit,Limite B2C,
Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Imposta il valore della fattura per B2C. B2CL e B2CS calcolati in base a questo valore di fattura.,
GSTR 3B Report,Rapporto GSTR 3B,
January,gennaio,
February,febbraio,
March,marzo,
April,aprile,
August,agosto,
September,settembre,
October,ottobre,
November,novembre,
December,dicembre,
JSON Output,Uscita JSON,
Invoices with no Place Of Supply,Fatture senza luogo di approvvigionamento,
Import Supplier Invoice,Importa fattura fornitore,
Invoice Series,Serie di fatture,
Upload XML Invoices,Carica fatture XML,
Zip File,File zip,
Import Invoices,Importa fatture,
Click on Import Invoices button once the zip file has been attached to the document. Any errors related to processing will be shown in the Error Log.,Fare clic sul pulsante Importa fatture una volta che il file zip è stato allegato al documento. Eventuali errori relativi all&#39;elaborazione verranno visualizzati nel registro errori.,
Lower Deduction Certificate,Certificato di detrazione inferiore,
Certificate Details,Dettagli certificato,
194A,194A,
194C,194C,
194D,194D,
194H,194H,
194I,194I,
194J,194J,
194LA,194LA,
194LBB,194LBB,
194LBC,194LBC,
Certificate No,Certificato n,
Deductee Details,Dettagli detrazione,
PAN No,PAN No,
Validity Details,Dettagli di validità,
Rate Of TDS As Per Certificate,Tasso di TDS come da certificato,
Certificate Limit,Limite certificato,
Invoice Series Prefix,Prefisso della serie di fatture,
Active Menu,Menu attivo,
Restaurant Menu,Ristorante Menu,
Price List (Auto created),Listino prezzi (creato automaticamente),
Restaurant Manager,Gestore del ristorante,
Restaurant Menu Item,Menu del menu del ristorante,
Restaurant Order Entry,Inserimento ordine del ristorante,
Restaurant Table,Ristorante Tavolo,
Click Enter To Add,Fare clic su Invio per aggiungere,
Last Sales Invoice,Fattura di ultima vendita,
Current Order,Ordine attuale,
Restaurant Order Entry Item,Ristorante Articolo di ordinazione voce,
Served,servito,
Restaurant Reservation,Prenotazione Ristorante,
Waitlisted,lista d&#39;attesa,
No Show,Nessuno spettacolo,
No of People,No di persone,
Reservation Time,Tempo di prenotazione,
Reservation End Time,Termine di prenotazione,
No of Seats,No delle sedute,
Minimum Seating,Minima sede,
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Mantenere traccia delle campagne di vendita, dei Leads, Preventivi, Ordini di Vendita ecc per determinare il ritorno sull'investimento.",
SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
Campaign Schedules,Pianificazioni della campagna,
Buyer of Goods and Services.,Acquisto di beni e servizi.,
CUST-.YYYY.-,CUST-.YYYY.-,
Default Company Bank Account,Conto bancario aziendale predefinito,
From Lead,Da Contatto,
Account Manager,Account Manager,
Allow Sales Invoice Creation Without Sales Order,Consenti creazione fattura di vendita senza ordine di vendita,
Allow Sales Invoice Creation Without Delivery Note,Consenti creazione fattura di vendita senza bolla di consegna,
Default Price List,Listino Prezzi Predefinito,
Primary Address and Contact Detail,Indirizzo primario e dettagli di contatto,
"Select, to make the customer searchable with these fields","Seleziona, per rendere il cliente ricercabile con questi campi",
Customer Primary Contact,Contatto Principale Cliente,
"Reselect, if the chosen contact is edited after save","Riseleziona, se il contatto scelto viene modificato dopo il salvataggio",
Customer Primary Address,Indirizzo primario del cliente,
"Reselect, if the chosen address is edited after save","Riseleziona, se l&#39;indirizzo scelto viene modificato dopo il salvataggio",
Primary Address,indirizzo primario,
Mention if non-standard receivable account,Menzione se conto credito non standard,
Credit Limit and Payment Terms,Limite di credito e condizioni di pagamento,
Additional information regarding the customer.,Ulteriori informazioni sul cliente.,
Sales Partner and Commission,Partner vendite e Commissione,
Commission Rate,Tasso Commissione,
Sales Team Details,Vendite team Dettagli,
Customer POS id,ID POS cliente,
Customer Credit Limit,Limite di credito del cliente,
Bypass Credit Limit Check at Sales Order,Ignorare il controllo del limite di credito in ordine cliente,
Industry Type,Tipo Industria,
MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
Installation Date,Data di installazione,
Installation Time,Tempo di installazione,
Installation Note Item,Installazione Nota articolo,
Installed Qty,Qtà installata,
Lead Source,Fonte del Lead,
Period Start Date,Data di inizio del periodo,
Period End Date,Data di fine del periodo,
Cashier,Cassiere,
Difference,Differenza,
Modes of Payment,Modalità di pagamento,
Linked Invoices,Fatture collegate,
POS Closing Voucher Details,POS Chiusura dei dettagli del voucher,
Collected Amount,Importo raccolto,
Expected Amount,Importo previsto,
POS Closing Voucher Invoices,Fatture di chiusura del voucher POS,
Quantity of Items,Quantità di articoli,
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. \n\nThe package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".\n\nFor Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Product Bundle Item.\n\nNote: BOM = Bill of Materials","Gruppo aggregato di elementi ** ** in un&#39;altra Voce ** **. Ciò è utile se in fase di installazione una certa Articoli ** ** in un pacchetto e si mantiene il punto sulle ** ** Elementi imballate e non l&#39;aggregato ** ** Item. Il pacchetto ** ** Voce avrà &quot;è articolo di&quot; come &quot;No&quot; e &quot;Is Item vendite&quot; come &quot;Yes&quot;. Per esempio: Se state vendendo computer portatili e zaini separatamente e hanno un prezzo speciale se il cliente acquista entrambi, poi il computer portatile + zaino sarà un nuovo bundle di prodotto Articolo. Nota: BOM = Bill of Materials",
Parent Item,Articolo padre,
List items that form the package.,Voci di elenco che formano il pacchetto.,
SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
Quotation To,Preventivo a,
Rate at which customer's currency is converted to company's base currency,Tasso al quale la valuta del cliente viene convertito in valuta di base dell&#39;azienda,
Rate at which Price list currency is converted to company's base currency,Tasso al quale Listino valuta viene convertita in valuta di base dell&#39;azienda,
Additional Discount and Coupon Code,Codice sconto e coupon aggiuntivi,
Referral Sales Partner,Partner commerciale di riferimento,
In Words will be visible once you save the Quotation.,"""In Parole"" sarà visibile una volta che si salva il Preventivo.",
Term Details,Dettagli Termini,
Quotation Item,Articolo del Preventivo,
Against Doctype,Per Doctype,
Against Docname,Per Nome Doc,
Additional Notes,Note aggiuntive,
SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
Skip Delivery Note,Salta bolla di consegna,
In Words will be visible once you save the Sales Order.,In parole saranno visibili una volta che si salva l&#39;ordine di vendita.,
Track this Sales Order against any Project,Traccia questo ordine di vendita nei confronti di qualsiasi progetto,
Billing and Delivery Status,Stato della Fatturazione e della Consegna,
Not Delivered,Non Consegnati,
Fully Delivered,Completamente Consegnato,
Partly Delivered,Parzialmente Consegnato,
Not Applicable,Non Applicabile,
%  Delivered,%  Consegnato,
% of materials delivered against this Sales Order,% dei materiali consegnati su questo Ordine di Vendita,
% of materials billed against this Sales Order,% dei materiali fatturati su questo Ordine di Vendita,
Not Billed,Non Fatturata,
Fully Billed,Completamente Fatturato,
Partly Billed,Parzialmente Fatturato,
Ensure Delivery Based on Produced Serial No,Garantire la consegna in base al numero di serie prodotto,
Supplier delivers to Customer,il Fornitore consegna al Cliente,
Delivery Warehouse,Magazzino di consegna,
Planned Quantity,Quantità Prevista,
For Production,Per la produzione,
Work Order Qty,Qtà ordine di lavoro,
Produced Quantity,Prodotto Quantità,
Used for Production Plan,Usato per Piano di Produzione,
Sales Partner Type,Tipo di partner di vendita,
Contact No.,Contatto N.,
Contribution (%),Contributo (%),
Contribution to Net Total,Contributo sul totale netto,
Selling Settings,Impostazioni Vendite,
Settings for Selling Module,Impostazioni per il Modulo Vendite,
Customer Naming By,Creare il Nome Cliente da,
Campaign Naming By,Creare il nome Campagna da,
Default Customer Group,Gruppo Clienti Predefinito,
Default Territory,Territorio Predefinito,
Close Opportunity After Days,Chiudi Opportunità dopo giorni,
Default Quotation Validity Days,Giorni di validità delle quotazioni predefinite,
Sales Update Frequency,Frequenza di aggiornamento delle vendite,
Each Transaction,Ogni transazione,
SMS Center,Centro SMS,
Send To,Invia a,
All Contact,Tutti i contatti,
All Customer Contact,Tutti i contatti dei clienti,
All Supplier Contact,Tutti i Contatti Fornitori,
All Sales Partner Contact,Tutte i contatti Partner vendite,
All Lead (Open),Tutti i Lead (Aperti),
All Employee (Active),Tutti Dipendenti (Attivi),
All Sales Person,Tutti i Venditori,
Create Receiver List,Crea Elenco Ricezione,
Receiver List,Lista Ricevitore,
Messages greater than 160 characters will be split into multiple messages,Messaggio maggiore di 160 caratteri verrà divisa in mesage multipla,
Total Characters,Totale Personaggi,
Total Message(s),Totale Messaggi,
Authorization Control,Controllo Autorizzazioni,
Authorization Rule,Regola Autorizzazione,
Average Discount,Sconto Medio,
Customerwise Discount,Sconto Cliente saggio,
Itemwise Discount,Sconto Itemwise,
Customer or Item,Cliente o Voce,
Customer / Item Name,Cliente / Nome Articolo,
Authorized Value,Valore Autorizzato,
Applicable To (Role),Applicabile a (Ruolo),
Applicable To (Employee),Applicabile a (Dipendente),
Applicable To (User),Applicabile a (Utente),
Applicable To (Designation),Applicabile a (Designazione),
Approving Role (above authorized value),Approvazione di ruolo (di sopra del valore autorizzato),
Approving User  (above authorized value),Approvazione utente (sopra il valore autorizzato),
Brand Defaults,Impostazioni predefinite del marchio,
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Entità Legale / Controllata con un grafico separato di conti appartenenti all'organizzazione.,
Change Abbreviation,Change Abbreviazione,
Parent Company,Società madre,
Default Values,Valori Predefiniti,
Default Holiday List,Lista vacanze predefinita,
Default Selling Terms,Termini di vendita predefiniti,
Default Buying Terms,Termini di acquisto predefiniti,
Create Chart Of Accounts Based On,Crea il Piano dei Conti in base a,
Standard Template,Template Standard,
Existing Company,Azienda esistente,
Chart Of Accounts Template,Modello del Piano dei Conti,
Existing Company ,società esistente,
Date of Establishment,Data di fondazione,
Sales Settings,Impostazioni di vendita,
Monthly Sales Target,Target di vendita mensile,
Sales Monthly History,Vendite storiche mensili,
Transactions Annual History,Transazioni Storia annuale,
Total Monthly Sales,Totale vendite mensili,
Default Cash Account,Conto cassa predefinito,
Default Receivable Account,Account Crediti Predefinito,
Round Off Cost Center,Arrotondamento Centro di costo,
Discount Allowed Account,Conto scontato consentito,
Discount Received Account,Conto sconto ricevuto,
Exchange Gain / Loss Account,Guadagno Exchange / Conto Economico,
Unrealized Exchange Gain/Loss Account,Conto di guadagno / perdita di cambio non realizzato,
Allow Account Creation Against Child Company,Consenti creazione account contro azienda figlio,
Default Payable Account,Conto da pagare Predefinito,
Default Employee Advance Account,Conto predefinito anticipo dipendenti,
Default Cost of Goods Sold Account,Costo predefinito di Account merci vendute,
Default Income Account,Conto predefinito Entrate,
Default Deferred Revenue Account,Conto entrate differite di default,
Default Deferred Expense Account,Conto spese differite di default,
Default Payroll Payable Account,Payroll di mora dovuti account,
Default Expense Claim Payable Account,Conto pagabile per rimborso spese predefinito,
Stock Settings,Impostazioni Giacenza,
Enable Perpetual Inventory,Abilita inventario perpetuo,
Default Inventory Account,Account di inventario predefinito,
Stock Adjustment Account,Conto di regolazione Archivio,
Fixed Asset Depreciation Settings,Impostazioni di ammortamento di immobilizzazioni,
Series for Asset Depreciation Entry (Journal Entry),Serie per l&#39;ammortamento dell&#39;attivo (registrazione giornaliera),
Gain/Loss Account on Asset Disposal,Conto profitti / perdite su Asset in smaltimento,
Asset Depreciation Cost Center,Asset Centro di ammortamento dei costi,
Budget Detail,Dettaglio Budget,
Exception Budget Approver Role,Ruolo di approvazione budget eccezionale,
Company Info,Info Azienda,
For reference only.,Per riferimento soltanto.,
Company Logo,Logo della compagnia,
Date of Incorporation,Data di incorporazione,
Date of Commencement,Data d&#39;inizio,
Phone No,N. di telefono,
Company Description,Descrizione dell'azienda,
Registration Details,Dettagli di Registrazione,
Company registration numbers for your reference. Tax numbers etc.,"Numeri di registrazione dell'azienda per il vostro riferimento. numero Tassa, ecc",
Delete Company Transactions,Elimina transazioni Azienda,
Currency Exchange,Cambio Valuta,
Specify Exchange Rate to convert one currency into another,Specificare Tasso di cambio per convertire una valuta in un'altra,
From Currency,Da Valuta,
To Currency,Per valuta,
For Buying,Per l&#39;acquisto,
For Selling,Per la vendita,
Customer Group Name,Nome Gruppo Cliente,
Parent Customer Group,Gruppo clienti padre,
Only leaf nodes are allowed in transaction,Solo i nodi foglia sono ammessi nelle transazioni,
Mention if non-standard receivable account applicable,Menzione se conto credito non standard applicabile,
Credit Limits,Limiti di credito,
Email Digest,Email di Sintesi,
Send regular summary reports via Email.,Invia report di sintesi periodici via email.,
Email Digest Settings,Impostazioni Email di Sintesi,
How frequently?,Con quale frequenza?,
Next email will be sent on:,La prossima Email verrà inviata il:,
Note: Email will not be sent to disabled users,Nota: E-mail non sarà inviata agli utenti disabilitati,
Profit & Loss,Profit &amp; Loss,
New Income,Nuovo reddito,
New Expenses,nuove spese,
Annual Income,Reddito annuo,
Annual Expenses,Spese annuali,
Bank Balance,Saldo bancario,
Bank Credit Balance,Saldo del credito bancario,
Receivables,Crediti,
Payables,Debiti,
Sales Orders to Bill,Ordini di vendita a Bill,
Purchase Orders to Bill,Ordini d&#39;acquisto a Bill,
New Sales Orders,Nuovi Ordini di vendita,
New Purchase Orders,Nuovi Ordini di acquisto,
Sales Orders to Deliver,Ordini di vendita da consegnare,
Purchase Orders to Receive,Ordini d&#39;acquisto da ricevere,
New Purchase Invoice,Nuova fattura d&#39;acquisto,
New Quotations,Nuovi Preventivi,
Open Quotations,Citazioni aperte,
Open Issues,Questioni aperte,
Open Projects,Progetti aperti,
Purchase Orders Items Overdue,Ordini di ordini scaduti,
Upcoming Calendar Events,Prossimi eventi del calendario,
Open To Do,Open To Do,
Add Quote,Aggiungi Citazione,
Global Defaults,Predefiniti Globali,
Default Company,Azienda Predefinita,
Current Fiscal Year,Anno Fiscale Corrente,
Default Distance Unit,Unità distanza predefinita,
Hide Currency Symbol,Nascondi Simbolo Valuta,
Do not show any symbol like $ etc next to currencies.,Non visualizzare nessun simbolo tipo € dopo le Valute.,
"If disable, 'Rounded Total' field will not be visible in any transaction","Se disabilitare, &#39;Rounded totale&#39; campo non sarà visibile in qualsiasi transazione",
Disable In Words,Disattiva in parole,
"If disable, 'In Words' field will not be visible in any transaction","Se disable, &#39;In Words&#39; campo non saranno visibili in qualsiasi transazione",
Item Classification,Classificazione Articolo,
General Settings,Impostazioni Generali,
Item Group Name,Nome Gruppo Articoli,
Parent Item Group,Gruppo Padre,
Item Group Defaults,Valore predefinito gruppo articoli,
Item Tax,Tasse dell'Articolo,
Check this if you want to show in website,Seleziona se vuoi mostrare nel sito web,
Show this slideshow at the top of the page,Mostra questo slideshow in cima alla pagina,
HTML / Banner that will show on the top of product list.,HTML / Banner che verrà mostrato nella parte superiore della lista dei prodotti.,
Set prefix for numbering series on your transactions,Impostare prefisso per numerazione serie sulle transazioni,
Setup Series,Imposta Serie,
Update Series,Aggiorna Serie,
Change the starting / current sequence number of an existing series.,Cambia l'inizio/numero sequenza corrente per una serie esistente,
Quotation Lost Reason,Motivo per la mancata vendita,
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Un distributore / agenzia / affiliato / rivenditore che vende i prodotti delle aziende per una commissione.,
Sales Partner Name,Nome partner vendite,
Partner Type,Tipo di partner,
Address & Contacts,Indirizzi & Contatti,
Address Desc,Desc. indirizzo,
Contact Desc,Desc Contatto,
Sales Partner Target,Vendite Partner di destinazione,
Targets,Obiettivi,
Show In Website,Mostra Nel Sito Web,
Referral Code,Codice di riferimento,
To Track inbound purchase,Per tenere traccia dell&#39;acquisto in entrata,
Logo,Logo,
Partner website,sito web partner,
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Tutte le transazioni di vendita possono essere etichettati contro più persone ** ** di vendita in modo da poter impostare e monitorare gli obiettivi.,
Name and Employee ID,Nome e ID Dipendente,
Sales Person Name,Vendite Nome persona,
Parent Sales Person,Agente di vendita padre,
Select company name first.,Selezionare il nome della società prima.,
Sales Person Targets,Sales Person Obiettivi,
Set targets Item Group-wise for this Sales Person.,Fissare obiettivi Item Group-saggio per questo venditore.,
Supplier Group Name,Nome del gruppo di fornitori,
Parent Supplier Group,Gruppo di fornitori principali,
Target Detail,Dettaglio dell'obbiettivo,
Target Qty,Obiettivo Qtà,
Target  Amount,L&#39;importo previsto,
Target Distribution,Distribuzione di destinazione,
"Standard Terms and Conditions that can be added to Sales and Purchases.\n\nExamples:\n\n1. Validity of the offer.\n1. Payment Terms (In Advance, On Credit, part advance etc).\n1. What is extra (or payable by the Customer).\n1. Safety / usage warning.\n1. Warranty if any.\n1. Returns Policy.\n1. Terms of shipping, if applicable.\n1. Ways of addressing disputes, indemnity, liability, etc.\n1. Address and Contact of your Company.","Condizioni generali e condizioni che possono essere aggiunti alle Vendite e Acquisti.\n\n Esempi: \n\n 1. Validità dell'offerta.\n 1. Termini di pagamento (in anticipo, a credito, parte prima, ecc).\n 1. Che cosa è extra (o da pagare da parte del cliente).\n 1. Warning Sicurezza / utilizzo.\n 1. Garanzia se presente.\n 1. Recesso.\n 1. Condizioni di trasporto, se applicabile.\n 1. Modi di controversie indirizzamento, indennità, responsabilità, ecc \n 1. Indirizzo e contatti della vostra azienda.",
Applicable Modules,Moduli applicabili,
Terms and Conditions Help,Termini e condizioni Aiuto,
Classification of Customers by region,Classificazione dei Clienti per regione,
Territory Name,Territorio Nome,
Parent Territory,Territorio padre,
Territory Manager,Territory Manager,
For reference,Per riferimento,
Territory Targets,Obiettivi Territorio,
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Impostare la voce del budget di Gruppo-saggi su questo territorio. È inoltre possibile includere la stagionalità impostando la distribuzione.,
UOM Name,Nome Unità di Misura,
Check this to disallow fractions. (for Nos),Seleziona per disabilitare frazioni. (per NOS),
Website Item Group,Sito Gruppo Articolo,
Cross Listing of Item in multiple groups,Croce Listing dell'oggetto in più gruppi,
Default settings for Shopping Cart,Impostazioni predefinite per Carrello,
Enable Shopping Cart,Abilita Carrello,
Display Settings,Impostazioni Visualizzazione,
Show Public Attachments,Mostra gli allegati pubblici,
Show Price,Mostra prezzo,
Show Stock Availability,Mostra disponibilità di magazzino,
Show Contact Us Button,Mostra il pulsante Contattaci,
Show Stock Quantity,Mostra quantità di magazzino,
Show Apply Coupon Code,Mostra Applica codice coupon,
Allow items not in stock to be added to cart,Consenti agli articoli non disponibili di essere aggiunti al carrello,
Prices will not be shown if Price List is not set,I prezzi non verranno visualizzati se listino non è impostata,
Quotation Series,Serie Preventivi,
Checkout Settings,Impostazioni Acquista,
Enable Checkout,Abilita Checkout,
Payment Success Url,Pagamento Successo URL,
After payment completion redirect user to selected page.,Dopo il completamento del pagamento reindirizza l'utente alla pagina selezionata.,
Batch Details,Dettagli batch,
Batch ID,Lotto ID,
image,Immagine,
Parent Batch,Lotto padre,
Manufacturing Date,Data di produzione,
Batch Quantity,Quantità in lotti,
Batch UOM,Batch UOM,
Source Document Type,Tipo di documento di origine,
Source Document Name,Nome del documento di origine,
Batch Description,Descrizione Batch,
Bin,Bin,
Reserved Quantity,Riservato Quantità,
Actual Quantity,Quantità reale,
Requested Quantity,la quantita &#39;richiesta,
Reserved Qty for sub contract,Qtà riservata per il subappalto,
Moving Average Rate,Tasso Media Mobile,
FCFS Rate,FCFS Rate,
Customs Tariff Number,Numero della tariffa doganale,
Tariff Number,Numero tariffario,
Delivery To,Consegna a,
MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
Is Return,È Return,
Issue Credit Note,Nota di credito d&#39;emissione,
Return Against Delivery Note,Di ritorno contro Consegna Nota,
Customer's Purchase Order No,Ordine Acquisto Cliente N.,
Billing Address Name,Destinatario,
Required only for sample item.,Richiesto solo per la voce di esempio.,
"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Se è stato creato un modello standard di imposte delle entrate e oneri modello, selezionare uno e fare clic sul pulsante qui sotto.",
In Words will be visible once you save the Delivery Note.,In parole saranno visibili una volta che si salva il DDT.,
In Words (Export) will be visible once you save the Delivery Note.,In Parole (Export) sarà visibile una volta che si salva il DDT.,
Transporter Info,Info Transporter,
Driver Name,Nome del driver,
Track this Delivery Note against any Project,Sottoscrivi questa bolla di consegna contro ogni progetto,
Inter Company Reference,Riferimento interaziendale,
Print Without Amount,Stampare senza Importo,
% Installed,% Installato,
% of materials delivered against this Delivery Note,% dei materiali consegnati di questa Bolla di Consegna,
Installation Status,Stato di installazione,
Excise Page Number,Accise Numero Pagina,
Instructions,Istruzione,
From Warehouse,Dal Deposito,
Against Sales Order,Contro Ordine di Vendita,
Against Sales Order Item,Dall'Articolo dell'Ordine di Vendita,
Against Sales Invoice,Per Fattura Vendita,
Against Sales Invoice Item,a fronte dell'Articolo della Fattura di Vendita,
Available Batch Qty at From Warehouse,Disponibile Quantità batch a partire Warehouse,
Available Qty at From Warehouse,Disponibile Quantità a partire Warehouse,
Delivery Settings,Impostazioni di consegna,
Dispatch Settings,Impostazioni di spedizione,
Dispatch Notification Template,Modello di notifica spedizione,
Dispatch Notification Attachment,Allegato notifica di spedizione,
Leave blank to use the standard Delivery Note format,Lascia vuoto per utilizzare il formato di nota di consegna standard,
Send with Attachment,Invia con allegato,
Delay between Delivery Stops,Ritardo tra le fermate di consegna,
Delivery Stop,Fermata di consegna,
Lock,Serratura,
Visited,visitato,
Order Information,Informazioni sull&#39;ordine,
Contact Information,Informazioni sui contatti,
Email sent to,Email inviata a,
Dispatch Information,Informazioni sulla spedizione,
Estimated Arrival,Arrivo Stimato,
MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
Initial Email Notification Sent,Notifica email iniziale inviata,
Delivery Details,Dettagli Consegna,
Driver Email,Email del driver,
Driver Address,Indirizzo del conducente,
Total Estimated Distance,Distanza totale stimata,
Distance UOM,UOM di distanza,
Departure Time,Orario di partenza,
Delivery Stops,Fermate di consegna,
Calculate Estimated Arrival Times,Calcola i tempi di arrivo stimati,
Use Google Maps Direction API to calculate estimated arrival times,Utilizza l&#39;API di direzione di Google Maps per calcolare i tempi di arrivo stimati,
Optimize Route,Ottimizza percorso,
Use Google Maps Direction API to optimize route,Utilizza l&#39;API di direzione di Google Maps per ottimizzare il percorso,
In Transit,In transito,
Fulfillment User,Utente di adempimento,
"A Product or a Service that is bought, sold or kept in stock.","Un prodotto o un servizio che viene acquistato, venduto o conservato in magazzino.",
STO-ITEM-.YYYY.-,STO-item-.YYYY.-,
Variant Of,Variante di,
"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Se l'articolo è una variante di un altro elemento poi descrizione, immagini, prezzi, tasse ecc verrà impostata dal modello se non espressamente specificato",
Is Item from Hub,È elemento da Hub,
Default Unit of Measure,Unità di Misura Predefinita,
Maintain Stock,Movimenta l'articolo in magazzino,
Standard Selling Rate,Prezzo di Vendita Standard,
Auto Create Assets on Purchase,Creazione automatica di risorse all&#39;acquisto,
Asset Naming Series,Asset Naming Series,
Over Delivery/Receipt Allowance (%),Sovraccarico / Ricevuta ricevuta (%),
Barcodes,Codici a barre,
Shelf Life In Days,Shelf Life In Days,
End of Life,Fine Vita,
Default Material Request Type,Tipo di richiesta Materiale Predefinito,
Valuation Method,Metodo di Valorizzazione,
FIFO,FIFO,
Moving Average,Media Mobile,
Warranty Period (in days),Periodo di garanzia (in giorni),
Auto re-order,Auto riordino,
Reorder level based on Warehouse,Livello di riordino sulla base di Magazzino,
Will also apply for variants unless overrridden,Si applica anche per le varianti meno overrridden,
Units of Measure,Unità di misura,
Will also apply for variants,Si applica anche per le varianti,
Serial Nos and Batches,Numero e lotti seriali,
Has Batch No,Ha lotto n.,
Automatically Create New Batch,Crea automaticamente un nuovo batch,
Batch Number Series,Numeri in serie Lotto,
"Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings.","Esempio: ABCD. #####. Se la serie è impostata e il numero di lotto non è menzionato nelle transazioni, verrà creato il numero di lotto automatico in base a questa serie. Se vuoi sempre menzionare esplicitamente il numero di lotto per questo articolo, lascia vuoto. Nota: questa impostazione avrà la priorità sul Prefisso serie di denominazione nelle Impostazioni stock.",
Has Expiry Date,Ha la data di scadenza,
Retain Sample,Conservare il campione,
Max Sample Quantity,Quantità di campione massima,
Maximum sample quantity that can be retained,Quantità massima di campione che può essere conservata,
Has Serial No,Ha numero di serie,
Serial Number Series,Serial Number Series,
"Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Esempio:. ABCD. ##### Se è impostato 'serie' ma il Numero di Serie non è specificato nelle transazioni, verrà creato il numero di serie automatico in base a questa serie. Se si vuole sempre specificare il Numero di Serie per questo articolo. Lasciare vuoto.",
Variants,Varianti,
Has Variants,Ha varianti,
"If this item has variants, then it cannot be selected in sales orders etc.","Se questa voce ha varianti, allora non può essere selezionata in ordini di vendita, ecc",
Variant Based On,Variante calcolate in base a,
Item Attribute,Attributo Articolo,
"Sales, Purchase, Accounting Defaults","Vendite, acquisto, valori predefiniti di contabilità",
Item Defaults,Impostazioni predefinite dell&#39;oggetto,
"Purchase, Replenishment Details","Dettagli acquisto, rifornimento",
Is Purchase Item,È Acquisto Voce,
Default Purchase Unit of Measure,Unità di acquisto predefinita di misura,
Minimum Order Qty,Qtà ordine minimo,
Minimum quantity should be as per Stock UOM,La quantità minima deve essere come da Stock UOM,
Average time taken by the supplier to deliver,Tempo medio impiegato dal fornitore di consegnare,
Is Customer Provided Item,È l&#39;articolo fornito dal cliente,
Delivered by Supplier (Drop Ship),Consegnato dal Fornitore (Drop Ship),
Supplier Items,Articoli Fornitore,
Foreign Trade Details,Commercio Estero Dettagli,
Country of Origin,Paese d&#39;origine,
Sales Details,Dettagli di vendita,
Default Sales Unit of Measure,Unità di vendita predefinita di misura,
Is Sales Item,È Voce vendite,
Max Discount (%),Sconto Max (%),
No of Months,No di mesi,
Customer Items,Articoli clienti,
Inspection Criteria,Criteri di ispezione,
Inspection Required before Purchase,Ispezione Richiesto prima di Acquisto,
Inspection Required before Delivery,Ispezione richiesta prima della consegna,
Default BOM,Distinta Base Predefinita,
Supply Raw Materials for Purchase,Fornire Materie Prime per l'Acquisto,
If subcontracted to a vendor,Se subappaltato a un fornitore,
Customer Code,Codice Cliente,
Default Item Manufacturer,Produttore articolo predefinito,
Default Manufacturer Part No,Codice produttore predefinito,
Show in Website (Variant),Show di Sito web (Variant),
Items with higher weightage will be shown higher,Gli articoli con maggiore weightage nel periodo più alto,
Show a slideshow at the top of the page,Visualizzare una presentazione in cima alla pagina,
Website Image,Immagine del sito Web,
Website Warehouse,Magazzino sito web,
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.",Mostra &quot;Disponibile&quot; o &quot;Non disponibile&quot; sulla base di scorte disponibili in questo magazzino.,
Website Item Groups,Sito gruppi di articoli,
List this Item in multiple groups on the website.,Elenco questo articolo a più gruppi sul sito.,
Copy From Item Group,Copia da Gruppo Articoli,
Website Content,Contenuto del sito Web,
You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,È possibile utilizzare qualsiasi markup Bootstrap 4 valido in questo campo. Verrà mostrato nella tua Pagina degli articoli.,
Total Projected Qty,Totale intermedio Quantità proiettata,
Hub Publishing Details,Dettagli di pubblicazione Hub,
Publish in Hub,Pubblicare in Hub,
Publish Item to hub.erpnext.com,Pubblicare Item a hub.erpnext.com,
Hub Category to Publish,Categoria Hub per pubblicare,
Hub Warehouse,Magazzino Centrale,
"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Pubblica &quot;in magazzino&quot; o &quot;non in magazzino&quot; su Hub sulla base di magazzino disponibile in questo magazzino.,
Synced With Hub,Sincronizzati con Hub,
Item Alternative,Opzione alternativa,
Alternative Item Code,Codice articolo alternativo,
Two-way,A doppio senso,
Alternative Item Name,Nome oggetto alternativo,
Attribute Name,Nome Attributo,
Numeric Values,Valori numerici,
From Range,Da Gamma,
Increment,Incremento,
To Range,Per Intervallo,
Item Attribute Values,Valori Attributi Articolo,
Item Attribute Value,Valore Attributo Articolo,
Attribute Value,Valore Attributo,
Abbreviation,Abbreviazione,
"This will be appended to the Item Code of the variant. For example, if your abbreviation is ""SM"", and the item code is ""T-SHIRT"", the item code of the variant will be ""T-SHIRT-SM""","Questo sarà aggiunto al codice articolo della variante. Ad esempio, se la sigla è ""SM"", e il codice articolo è ""T-SHIRT"", il codice articolo della variante sarà ""T-SHIRT-SM""",
Item Barcode,Barcode articolo,
Barcode Type,Tipo di codice a barre,
EAN,EAN,
UPC-A,UPC-A,
Item Customer Detail,Dettaglio articolo cliente,
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Per la comodità dei clienti, questi codici possono essere utilizzati in formati di stampa, come fatture e Documenti di Trasporto",
Ref Code,Codice Rif,
Item Default,Articolo predefinito,
Purchase Defaults,Acquista valori predefiniti,
Default Buying Cost Center,Centro di costo predefinito,
Default Supplier,Fornitore Predefinito,
Default Expense Account,Conto spese predefinito,
Sales Defaults,Impostazioni di vendita,
Default Selling Cost Center,Centro di costo di vendita di default,
Item Manufacturer,Articolo Manufacturer,
Item Price,Prezzo Articoli,
Packing Unit,Unità di imballaggio,
Quantity  that must be bought or sold per UOM,Quantità che deve essere acquistata o venduta per UOM,
Item Quality Inspection Parameter,Voce di controllo di qualità dei parametri,
Acceptance Criteria,Criterio  di accettazione,
Item Reorder,Articolo riordino,
Check in (group),Il check-in (gruppo),
Request for,Richiesta di,
Re-order Level,Livello Ri-ordino,
Re-order Qty,Quantità Ri-ordino,
Item Supplier,Articolo Fornitore,
Item Variant,Elemento Variant,
Item Variant Attribute,Prodotto Modello attributo,
Do not update variants on save,Non aggiornare le varianti al salvataggio,
Fields will be copied over only at time of creation.,I campi verranno copiati solo al momento della creazione.,
Allow Rename Attribute Value,Consenti Rinomina valore attributo,
Rename Attribute Value in Item Attribute.,Rinominare il valore dell&#39;attributo nell&#39;attributo dell&#39;oggetto.,
Copy Fields to Variant,Copia campi in variante,
Item Website Specification,Specifica da Sito Web dell'articolo,
Table for Item that will be shown in Web Site,Tavolo per l'elemento che verrà mostrato sul sito web,
Landed Cost Item,Landed Cost articolo,
Receipt Document Type,Ricevuta tipo di documento,
Receipt Document,Documento di Ricevuta,
Applicable Charges,Spese applicabili,
Purchase Receipt Item,Ricevuta di Acquisto Articolo,
Landed Cost Purchase Receipt,Landed Cost ricevuta di acquisto,
Landed Cost Taxes and Charges,Tasse Landed Cost e oneri,
Landed Cost Voucher,Landed Voucher Cost,
MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
Purchase Receipts,Ricevute di acquisto,
Purchase Receipt Items,Acquistare oggetti Receipt,
Get Items From Purchase Receipts,Ottenere elementi dal Acquisto Receipts,
Distribute Charges Based On,Distribuire oneri corrispondenti,
Landed Cost Help,Landed Cost Aiuto,
Manufacturers used in Items,Produttori utilizzati in Articoli,
Limited to 12 characters,Limitato a 12 caratteri,
MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
Partially Ordered,Ordinato parzialmente,
Transferred,trasferito,
% Ordered,% Ordinato,
Terms and Conditions Content,Termini e condizioni contenuti,
Quantity and Warehouse,Quantità e Magazzino,
Lead Time Date,Data di Consegna,
Min Order Qty,Qtà Minima Ordine,
Packed Item,Articoli imballato,
To Warehouse (Optional),Al Magazzino (opzionale),
Actual Batch Quantity,Quantità batch effettiva,
Prevdoc DocType,Prevdoc DocType,
Parent Detail docname,Dettaglio docname padre,
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Generare documenti di trasporto per i pacchetti da consegnare. Utilizzato per comunicare il numero del pacchetto, contenuto della confezione e il suo peso.",
Indicates that the package is a part of this delivery (Only Draft),Indica che il pacchetto è una parte di questa consegna (solo Bozza),
MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
From Package No.,Da Pacchetto N.,
Identification of the package for the delivery (for print),Identificazione del pacchetto per la consegna (per la stampa),
To Package No.,A Pacchetto no,
If more than one package of the same type (for print),Se più di un pacchetto dello stesso tipo (per la stampa),
Package Weight Details,Dettagli peso confezione,
The net weight of this package. (calculated automatically as sum of net weight of items),Il peso netto di questo package (calcolato automaticamente come somma dei pesi netti).,
Net Weight UOM,Peso Netto (UdM),
Gross Weight,Peso lordo,
The gross weight of the package. Usually net weight + packaging material weight. (for print),Il peso lordo del pacchetto. Di solito peso netto + peso materiale di imballaggio. (Per la stampa),
Gross Weight UOM,Peso lordo U.M.,
Packing Slip Item,Articolo in DDT,
DN Detail,Dettaglio DN,
STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
Material Transfer for Manufacture,Trasferimento materiali  per Produzione,
Qty of raw materials will be decided based on the qty of the Finished Goods Item,La quantità di materie prime verrà decisa in base alla quantità dell&#39;articolo finito,
Parent Warehouse,Magazzino padre,
Items under this warehouse will be suggested,Verranno suggeriti gli articoli in questo magazzino,
Get Item Locations,Ottieni posizioni degli oggetti,
Item Locations,Posizioni degli articoli,
Pick List Item,Seleziona elemento dell&#39;elenco,
Picked Qty,Qtà raccolta,
Price List Master,Listino Principale,
Price List Name,Prezzo di listino Nome,
Price Not UOM Dependent,Prezzo non dipendente dall&#39;UOM,
Applicable for Countries,Valido per i paesi,
Price List Country,Listino Prezzi Nazione,
MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
Supplier Delivery Note,Nota di consegna del fornitore,
Time at which materials were received,Ora in cui sono stati ricevuti i materiali,
Return Against Purchase Receipt,Ricevuta di Ritorno contro Ricevuta di Acquisto,
Rate at which supplier's currency is converted to company's base currency,Tasso al quale la valuta del fornitore viene convertita in valuta di base dell'azienda,
Sets 'Accepted Warehouse' in each row of the items table.,Imposta il &quot;Magazzino accettato&quot; in ogni riga della tabella degli articoli.,
Sets 'Rejected Warehouse' in each row of the items table.,Imposta &quot;Magazzino rifiutato&quot; in ogni riga della tabella degli articoli.,
Raw Materials Consumed,Materie prime consumate,
Get Current Stock,Richiedi disponibilità,
Consumed Items,Articoli consumati,
Add / Edit Taxes and Charges,Aggiungere / Modificare tasse e ricarichi,
Auto Repeat Detail,Dettaglio ripetizione automatica,
Transporter Details,Transporter Dettagli,
Vehicle Number,Numero di veicoli,
Vehicle Date,Data Veicolo,
Received and Accepted,Ricevuti e accettati,
Accepted Quantity,Quantità accettata,
Rejected Quantity,Rifiutato Quantità,
Accepted Qty as per Stock UOM,Qtà accettata come da Stock UOM,
Sample Quantity,Quantità del campione,
Rate and Amount,Prezzo e Importo,
MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
Report Date,Data Report,
Inspection Type,Tipo di ispezione,
Item Serial No,Articolo N. d&#39;ordine,
Sample Size,Dimensione del campione,
Inspected By,Verifica a cura di,
Readings,Letture,
Quality Inspection Reading,Lettura Controllo Qualità,
Reading 1,Lettura 1,
Reading 2,Lettura 2,
Reading 3,Lettura 3,
Reading 4,Lettura 4,
Reading 5,Lettura 5,
Reading 6,Lettura 6,
Reading 7,Lettura 7,
Reading 8,Lettura 8,
Reading 9,Lettura 9,
Reading 10,Lettura 10,
Quality Inspection Template Name,Nome del modello di ispezione di qualità,
Quick Stock Balance,Bilancio rapido delle scorte,
Available Quantity,quantità disponibile,
Distinct unit of an Item,Un'unità distinta di un elemento,
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Magazzino può essere modificato solo tramite Inserimento Giacenza / Bolla (DDT) / Ricevuta d'acquisto,
Purchase / Manufacture Details,Acquisto / Produzione Dettagli,
Creation Document Type,Creazione tipo di documento,
Creation Document No,Creazione di documenti No,
Creation Date,Data di Creazione,
Creation Time,Tempo di creazione,
Asset Details,Dettagli delle risorse,
Asset Status,Stato delle risorse,
Delivery Document Type,Tipo Documento Consegna,
Delivery Document No,Documento Consegna N.,
Delivery Time,Tempo Consegna,
Invoice Details,Dettagli della fattura,
Warranty / AMC Details,Garanzia / AMC Dettagli,
Warranty Expiry Date,Data di scadenza Garanzia,
AMC Expiry Date,Data Scadenza AMC,
Under Warranty,In Garanzia,
Out of Warranty,Fuori Garanzia,
Under AMC,Sotto AMC,
Out of AMC,Fuori di AMC,
Warranty Period (Days),Periodo di garanzia (Giorni),
Serial No Details,Serial No Dettagli,
MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
Stock Entry Type,Tipo di voce di scorta,
Stock Entry (Outward GIT),Immissione di magazzino (GIT esterno),
Material Consumption for Manufacture,Consumo di materiale per la fabbricazione,
Repack,Repack,
Send to Subcontractor,Invia a subappaltatore,
Delivery Note No,Documento di Trasporto N.,
Sales Invoice No,Fattura di Vendita n.,
Purchase Receipt No,Ricevuta di Acquisto N.,
Inspection Required,Ispezione Obbligatorio,
From BOM,Da Distinta Base,
For Quantity,Per Quantità,
As per Stock UOM,Come per scorte UOM,
Including items for sub assemblies,Compresi articoli per sub assemblaggi,
Default Source Warehouse,Magazzino di provenienza predefinito,
Source Warehouse Address,Indirizzo del magazzino di origine,
Default Target Warehouse,Magazzino di Destinazione Predefinito,
Target Warehouse Address,Indirizzo del magazzino di destinazione,
Update Rate and Availability,Frequenza di aggiornamento e disponibilità,
Total Incoming Value,Totale Valore Incoming,
Total Outgoing Value,Totale Valore uscita,
Total Value Difference (Out - In),Totale Valore Differenza (Out - In),
Additional Costs,Costi aggiuntivi,
Total Additional Costs,Totale Costi aggiuntivi,
Customer or Supplier Details,Dettagli Cliente o Fornitore,
Per Transferred,Per trasferito,
Stock Entry Detail,Dettaglio del Movimento di Magazzino,
Basic Rate (as per Stock UOM),Valore base (come da UOM),
Basic Amount,Importo di base,
Additional Cost,Costo aggiuntivo,
Serial No / Batch,Serial n / Batch,
BOM No. for a Finished Good Item,N. BOM per quantità buona completata,
Material Request used to make this Stock Entry,Richiesta di materiale usata per l'entrata giacenza,
Subcontracted Item,Articolo subappaltato,
Against Stock Entry,Contro l&#39;entrata di riserva,
Stock Entry Child,Stock di entrata figlio,
PO Supplied Item,Articolo fornito PO,
Reference Purchase Receipt,Ricevuta di acquisto di riferimento,
Stock Ledger Entry,Voce Inventario,
Outgoing Rate,Tasso di uscita,
Actual Qty After Transaction,Q.tà reale post-transazione,
Stock Value Difference,Differenza Valore Giacenza,
Stock Queue (FIFO),Code Giacenze (FIFO),
Is Cancelled,È Annullato,
Stock Reconciliation,Riconciliazione Giacenza,
This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,Questo strumento consente di aggiornare o correggere la quantità e valutare il magazzino nel sistema. Viene tipicamente utilizzato per sincronizzare i valori di sistema e ciò che esiste realmente nei vostri magazzini.,
MAT-RECO-.YYYY.-,MAT-Reco-.YYYY.-,
Reconciliation JSON,Riconciliazione JSON,
Stock Reconciliation Item,Voce Riconciliazione Giacenza,
Before reconciliation,Prima di riconciliare,
Current Serial No,Numero di serie attuale,
Current Valuation Rate,Corrente Tasso di Valorizzazione,
Current Amount,Importo attuale,
Quantity Difference,Quantità Differenza,
Amount Difference,Differenza importo,
Item Naming By,Creare il Nome Articolo da,
Default Item Group,Gruppo Articoli Predefinito,
Default Stock UOM,UdM predefinita per Giacenza,
Sample Retention Warehouse,Magazzino di conservazione dei campioni,
Default Valuation Method,Metodo di valorizzazione predefinito,
Show Barcode Field,Mostra campo del codice a barre,
Convert Item Description to Clean HTML,Converti la descrizione dell&#39;oggetto in Pulisci HTML,
Allow Negative Stock,Permetti Scorte Negative,
Automatically Set Serial Nos based on FIFO,Imposta automaticamente seriale Nos sulla base FIFO,
Auto Material Request,Richiesta Automatica Materiale,
Inter Warehouse Transfer Settings,Impostazioni trasferimento tra magazzino,
Freeze Stock Entries,Congela scorta voci,
Stock Frozen Upto,Giacenza Bloccate Fino,
Batch Identification,Identificazione lotti,
Use Naming Series,Utilizzare le serie di denominazione,
Naming Series Prefix,Prefisso serie di denominazione,
UOM Category,Categoria UOM,
UOM Conversion Detail,Dettaglio di conversione Unità di Misura,
Variant Field,Campo di variante,
A logical Warehouse against which stock entries are made.,Magazzino logico utilizzato per l'entrata giacenza.,
Warehouse Detail,Dettagli Magazzino,
Warehouse Name,Nome Magazzino,
Warehouse Contact Info,Contatti Magazzino,
PIN,PIN,
ISS-.YYYY.-,ISS-.YYYY.-,
Raised By (Email),Sollevata da (e-mail),
Issue Type,Tipo di Problema,
Issue Split From,Emissione divisa da,
Service Level,Livello di servizio,
Response By,Risposta di,
Response By Variance,Risposta per varianza,
Ongoing,in corso,
Resolution By,Risoluzione del,
Resolution By Variance,Risoluzione per varianza,
Service Level Agreement Creation,Creazione dell&#39;accordo sul livello di servizio,
First Responded On,Ha risposto prima su,
Resolution Details,Dettagli risoluzione,
Opening Date,Data di apertura,
Opening Time,Tempo di apertura,
Resolution Date,Risoluzione Data,
Via Customer Portal,Tramite il Portale del cliente,
Support Team,Support Team,
Issue Priority,Priorità al problema,
Service Day,Giorno di servizio,
Workday,Giornata di lavoro,
Default Priority,Priorità predefinita,
Priorities,priorità,
Support Hours,Ore di supporto,
Support and Resolution,Supporto e risoluzione,
Default Service Level Agreement,Accordo sul livello di servizio predefinito,
Entity,Entità,
Agreement Details,Dettagli dell&#39;accordo,
Response and Resolution Time,Tempo di risposta e risoluzione,
Service Level Priority,Priorità del livello di servizio,
Resolution Time,Tempo di risoluzione,
Support Search Source,Supporta la fonte di ricerca,
Source Type,Tipo di fonte,
Query Route String,Query Route String,
Search Term Param Name,Nome del parametro del termine di ricerca,
Response Options,Opzioni di risposta,
Response Result Key Path,Percorso chiave risultato risposta,
Post Route String,Post Route String,
Post Route Key List,Elenco delle chiavi del percorso postale,
Post Title Key,Inserisci la chiave del titolo,
Post Description Key,Posta Descrizione Chiave,
Link Options,Opzioni di collegamento,
Source DocType,Fonte DocType,
Result Title Field,Campo del titolo del risultato,
Result Preview Field,Risultato Anteprima campo,
Result Route Field,Risultato Percorso percorso,
Service Level Agreements,Accordi sul livello di servizio,
Track Service Level Agreement,Traccia l&#39;accordo sul livello di servizio,
Allow Resetting Service Level Agreement,Consenti il ripristino del contratto sul livello di servizio,
Close Issue After Days,Chiudi Problema dopo giorni,
Auto close Issue after 7 days,Chiudi il Problema automaticamente dopo 7 giorni,
Support Portal,Portale di supporto,
Get Started Sections,Inizia sezioni,
Show Latest Forum Posts,Mostra gli ultimi post del forum,
Forum Posts,Messaggi del forum,
Forum URL,URL del forum,
Get Latest Query,Ottieni l&#39;ultima query,
Response Key List,Elenco chiavi di risposta,
Post Route Key,Post Route Key,
Search APIs,Cerca API,
SER-WRN-.YYYY.-,SER-WRN-.YYYY.-,
Issue Date,Data di Emissione,
Item and Warranty Details,Voce e garanzia Dettagli,
Warranty / AMC Status,Garanzia / AMC Stato,
Resolved By,Deliberato dall&#39;Assemblea,
Service Address,Service Indirizzo,
If different than customer address,Se diverso da indirizzo del cliente,
Raised By,Sollevata dal,
From Company,Da Azienda,
Rename Tool,Strumento Rinomina,
Utilities,Utilità,
Type of document to rename.,Tipo di documento da rinominare.,
File to Rename,File da rinominare,
"Attach .csv file with two columns, one for the old name and one for the new name","Allega file .csv con due colonne, una per il vecchio nome e uno per il nuovo nome",
Rename Log,Rinominare Entra,
SMS Log,SMS Log,
Sender Name,Nome mittente,
Sent On,Inviata il,
No of Requested SMS,Num. di SMS richiesto,
Requested Numbers,Numeri richiesti,
No of Sent SMS,Num. di SMS Inviati,
Sent To,Inviato A,
Absent Student Report,Report Assenze Studente,
Assessment Plan Status,Stato del piano di valutazione,
Asset Depreciation Ledger,Libro Mastro Ammortamento Asset,
Asset Depreciations and Balances,Asset Ammortamenti e saldi,
Available Stock for Packing Items,Stock Disponibile per Imballaggio Prodotti,
Bank Clearance Summary,Sintesi Liquidazione Banca,
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,
DATEV,DATEV,
Delayed Item Report,Rapporto articolo ritardato,
Delayed Order Report,Rapporto ordini ritardati,
Delivered Items To Be Billed,Gli Articoli consegnati da Fatturare,
Delivery Note Trends,Tendenze Documenti di Trasporto,
Electronic Invoice Register,Registro delle fatture elettroniche,
Employee 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,
Eway Bill,Eway Bill,
Expiring Memberships,Soci in scadenza,
Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptables [FEC],
Final Assessment Grades,Gradi di valutazione finale,
Fixed Asset Register,Registro delle attività fisse,
Gross and Net Profit Report,Rapporto sugli utili lordi e netti,
GST Itemised Purchase Register,Registro Acquisti Itemized GST,
GST Itemised Sales Register,GST Registro delle vendite specificato,
GST Purchase Register,Registro degli acquisti GST,
GST Sales Register,Registro delle vendite GST,
GSTR-1,GSTR-1,
GSTR-2,GSTR-2,
Hotel Room Occupancy,Camera d&#39;albergo Occupazione,
HSN-wise-summary of outward supplies,Riassunto saggio di HSN delle forniture in uscita,
Inactive Customers,Clienti inattivi,
Inactive Sales Items,Articoli di vendita inattivi,
IRS 1099,IRS 1099,
Issued Items Against Work Order,Articoli emessi contro l&#39;ordine di lavoro,
Projected Quantity as Source,Proiezione Quantità come sorgente,
Item Balance (Simple),Saldo oggetto (semplice),
Item Price Stock,Articolo Prezzo Stock,
Item Prices,Prezzi Articolo,
Item Shortage Report,Report Carenza Articolo,
Item Variant Details,Dettagli della variante dell&#39;articolo,
Item-wise Price List Rate,Articolo -saggio Listino Tasso,
Item-wise Purchase History,Cronologia acquisti per articolo,
Item-wise Purchase Register,Articolo-saggio Acquisto Registrati,
Item-wise Sales History,Articolo-saggio Storia Vendite,
Item-wise Sales Register,Vendite articolo-saggio Registrati,
Items To Be Requested,Articoli da richiedere,
Reserved,riservato,
Itemwise Recommended Reorder Level,Itemwise consigliata riordino Livello,
Lead Details,Dettagli Lead,
Lead Owner Efficiency,Efficienza del proprietario del cavo,
Lost Opportunity,Opportunità persa,
Maintenance Schedules,Programmi di manutenzione,
Material Requests for which Supplier Quotations are not created,Richieste di materiale per le quali non sono state create Quotazioni dal Fornitore,
Open Work Orders,Apri ordini di lavoro,
Qty to Deliver,Qtà di Consegna,
Patient Appointment Analytics,Analisi degli appuntamenti del paziente,
Payment Period Based On Invoice Date,Periodo di pagamento basati su Data fattura,
Pending SO Items For Purchase Request,Elementi in sospeso così per Richiesta di Acquisto,
Procurement Tracker,Tracker acquisti,
Product Bundle Balance,Saldo del pacchetto di prodotti,
Production Analytics,Analytics di produzione,
Profit and Loss Statement,Conto Economico,
Profitability Analysis,Analisi redditività,
Project Billing Summary,Riepilogo fatturazione progetto,
Project wise Stock Tracking,Monitoraggio delle scorte del progetto,
Project wise Stock Tracking ,Progetto saggio Archivio monitoraggio,
Prospects Engaged But Not Converted,Prospettive impegnate ma non convertite,
Purchase Analytics,Analisi dei dati di acquista,
Purchase Invoice Trends,Andamento Fatture di Acquisto,
Qty to Receive,Qtà da Ricevere,
Received Qty Amount,Importo quantità ricevuta,
Billed Qty,Qtà fatturata,
Purchase Order Trends,Acquisto Tendenze Ordine,
Purchase Receipt Trends,Acquisto Tendenze Receipt,
Purchase Register,Registro Acquisti,
Quotation Trends,Tendenze di preventivo,
Received Items To Be Billed,Oggetti ricevuti da fatturare,
Qty to Order,Qtà da Ordinare,
Requested Items To Be Transferred,Voci si chiede il trasferimento,
Qty to Transfer,Qtà da Trasferire,
Sales Analytics,Analisi dei dati di vendita,
Sales Invoice Trends,Andamento Fatture di vendita,
Sales Order Trends,Tendenze Sales Order,
Sales Partner Commission Summary,Riepilogo Commissione partner commerciali,
Sales Partner Target Variance based on Item Group,Scostamento target partner commerciale in base al gruppo di articoli,
Sales Partner Transaction Summary,Riepilogo delle transazioni dei partner di vendita,
Sales Partners Commission,Vendite Partners Commissione,
Invoiced Amount (Exclusive Tax),Importo fatturato (IVA esclusa),
Average Commission Rate,Tasso medio di commissione,
Sales Payment Summary,Riepilogo dei pagamenti di vendita,
Sales Person Commission Summary,Riassunto della Commissione per le vendite,
Sales Person Target Variance Based On Item Group,Rappresentante Target Variance in base al gruppo di articoli,
Sales Person-wise Transaction Summary,Sales Person-saggio Sintesi dell&#39;Operazione,
Sales Register,Registro Vendite,
Serial No Service Contract Expiry,Serial No Contratto di Servizio di scadenza,
Serial No Status,Serial No Stato,
Serial No Warranty Expiry,Serial No Garanzia di scadenza,
Stock Ageing,Invecchiamento Archivio,
Stock and Account Value Comparison,Confronto tra valore azionario e conto,
Stock Projected Qty,Qtà Prevista Giacenza,
Student and Guardian Contact Details,Student and Guardian Contatti,
Student Batch-Wise Attendance,Student Batch-Wise presenze,
Student Fee Collection,Student Fee Collection,
Student Monthly Attendance Sheet,Presenze mensile Scheda,
Subcontracted Item To Be Received,Articolo in conto lavoro da ricevere,
Subcontracted Raw Materials To Be Transferred,Materie prime subappaltate da trasferire,
Supplier Ledger Summary,Riepilogo contabilità fornitori,
Supplier-Wise Sales Analytics,Estensione statistiche di Vendita Fornitore,
Support Hour Distribution,Distribuzione dell&#39;orario di assistenza,
TDS Computation Summary,Riepilogo dei calcoli TDS,
TDS Payable Monthly,TDS mensile pagabile,
Territory Target Variance Based On Item Group,Varianza target del territorio in base al gruppo di articoli,
Territory-wise Sales,Vendite sul territorio,
Total Stock Summary,Sommario totale delle azioni,
Trial Balance,Bilancio di verifica,
Trial Balance (Simple),Bilancio di verifica (semplice),
Trial Balance for Party,Bilancio di verifica per Partner,
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,
Automatically Process Deferred Accounting Entry,Elaborazione automatica registrazione contabile differita,
Bank Clearance,Liquidazione bancaria,
Bank Clearance Detail,Dettaglio liquidazione bancaria,
Update Cost Center Name / Number,Aggiorna nome / numero centro di costo,
Journal Entry Template,Modello registrazione prima nota,
Template Title,Titolo del modello,
Journal Entry Type,Tipo di registrazione prima nota,
Journal Entry Template Account,Conto modello registrazione prima nota,
Process Deferred Accounting,Elaborazione contabilità differita,
Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Impossibile creare l&#39;immissione manuale! Disabilitare l&#39;inserimento automatico per la contabilità differita nelle impostazioni dei conti e riprovare,
End date cannot be before start date,La data di fine non può essere precedente alla data di inizio,
Total Counts Targeted,Conteggi totali mirati,
Total Counts Completed,Conteggi totali completati,
Counts Targeted: {0},Conteggi targetizzati: {0},
Material Request Warehouse,Magazzino richiesta materiale,
Select warehouse for material requests,Seleziona il magazzino per le richieste di materiale,
Transfer Materials For Warehouse {0},Trasferisci materiali per magazzino {0},
Production Plan Material Request Warehouse,Magazzino richiesta materiale piano di produzione,
Sets 'Source Warehouse' in each row of the items table.,Imposta &quot;Magazzino di origine&quot; in ogni riga della tabella degli articoli.,
Sets 'Target Warehouse' in each row of the items table.,Imposta &quot;Magazzino di destinazione&quot; in ogni riga della tabella degli articoli.,
Show Cancelled Entries,Mostra voci annullate,
Backdated Stock Entry,Voce di stock retrodatata,
Row #{}: Currency of {} - {} doesn't matches company currency.,Riga # {}: la valuta di {} - {} non corrisponde alla valuta dell&#39;azienda.,
{} Assets created for {},{} Risorse create per {},
{0} Number {1} is already used in {2} {3},{0} Il numero {1} è già utilizzato in {2} {3},
Update Bank Clearance Dates,Aggiorna le date di liquidazione bancaria,
Healthcare Practitioner: ,Operatore sanitario:,
Lab Test Conducted: ,Test di laboratorio condotto:,
Lab Test Event: ,Evento di test di laboratorio:,
Lab Test Result: ,Risultato del test di laboratorio:,
Clinical Procedure conducted: ,Procedura clinica condotta:,
Therapy Session Charges: {0},Costi della sessione di terapia: {0},
Therapy: ,Terapia:,
Therapy Plan: ,Piano terapeutico:,
Total Counts Targeted: ,Conteggi totali mirati:,
Total Counts Completed: ,Conteggi totali completati:,
Is Mandatory,È obbligatorio,
Service Received But Not Billed,Servizio ricevuto ma non fatturato,
Deferred Accounting Settings,Impostazioni di contabilità differita,
Book Deferred Entries Based On,Registra voci differite basate su,
Days,Giorni,
Months,Mesi,
Book Deferred Entries Via Journal Entry,Registrare registrazioni differite tramite registrazione prima nota,
Submit Journal Entries,Invia voci di diario,
If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Se questa opzione è deselezionata, le registrazioni a giornale verranno salvate in stato Bozza e dovranno essere inviate manualmente",
Enable Distributed Cost Center,Abilita centro di costo distribuito,
Distributed Cost Center,Centro di costo distribuito,
Dunning,Dunning,
DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
Overdue Days,Giorni di ritardo,
Dunning Type,Tipo sollecito,
Dunning Fee,Commissione di sollecito,
Dunning Amount,Importo sollecito,
Resolved,Risolto,
Unresolved,Irrisolto,
Printing Setting,Impostazioni di stampa,
Body Text,Corpo del testo,
Closing Text,Testo di chiusura,
Resolve,Risolvere,
Dunning Letter Text,Testo della lettera sollecito,
Is Default Language,È la lingua predefinita,
Letter or Email Body Text,Testo del corpo della lettera o dell&#39;email,
Letter or Email Closing Text,Lettera o e-mail di chiusura del testo,
Body and Closing Text Help,Corpo e testo di chiusura della guida,
Overdue Interval,Intervallo scaduto,
Dunning Letter,Lettera di sollecito,
"This section allows the user to set the Body and Closing text of the Dunning Letter for the Dunning Type based on language, which can be used in Print.","Questa sezione consente all&#39;utente di impostare il corpo e il testo di chiusura della lettera di sollecito per il tipo di sollecito in base alla lingua, che può essere utilizzata in stampa.",
Reference Detail No,Riferimento dettaglio n,
Custom Remarks,Note personalizzate,
Please select a Company first.,Seleziona prima una società.,
"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Riga n. {0}: il tipo di documento di riferimento deve essere uno tra Ordine di vendita, Fattura di vendita, Registrazione prima nota o Dunning",
POS Closing Entry,Entrata chiusura POS,
POS Opening Entry,Ingresso apertura POS,
POS Transactions,Transazioni POS,
POS Closing Entry Detail,Dettaglio ingresso chiusura POS,
Opening Amount,Importo di apertura,
Closing Amount,Importo di chiusura,
POS Closing Entry Taxes,Tasse di ingresso di chiusura POS,
POS Invoice,Fattura POS,
ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
Consolidated Sales Invoice,Fattura di vendita consolidata,
Return Against POS Invoice,Reso contro fattura POS,
Consolidated,Consolidato,
POS Invoice Item,Articolo fattura POS,
POS Invoice Merge Log,Registro unione fatture POS,
POS Invoices,Fatture POS,
Consolidated Credit Note,Nota di credito consolidata,
POS Invoice Reference,Riferimento fattura POS,
Set Posting Date,Imposta data di registrazione,
Opening Balance Details,Dettagli del saldo di apertura,
POS Opening Entry Detail,Dettaglio ingresso apertura POS,
POS Payment Method,Metodo di pagamento POS,
Payment Methods,Modalità di pagamento,
Process Statement Of Accounts,Elaborazione dell&#39;estratto conto,
General Ledger Filters,Filtri di contabilità generale,
Customers,I clienti,
Select Customers By,Seleziona Clienti per,
Fetch Customers,Recupera clienti,
Send To Primary Contact,Invia al contatto principale,
Print Preferences,Preferenze di stampa,
Include Ageing Summary,Includi riepilogo sull&#39;età,
Enable Auto Email,Abilita e-mail automatica,
Filter Duration (Months),Durata del filtro (mesi),
CC To,CC To,
Help Text,Testo guida,
Emails Queued,Email in coda,
Process Statement Of Accounts Customer,Elaborazione estratto conto cliente,
Billing Email,Email di fatturazione,
Primary Contact Email,Email di contatto principale,
PSOA Cost Center,Centro di costo PSOA,
PSOA Project,Progetto PSOA,
ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
Supplier GSTIN,Fornitore GSTIN,
Place of Supply,Luogo di fornitura,
Select Billing Address,Seleziona indirizzo di fatturazione,
GST Details,Dettagli GST,
GST Category,Categoria GST,
Registered Regular,Registrato regolare,
Registered Composition,Composizione registrata,
Unregistered,Non registrato,
SEZ,SEZ,
Overseas,Oltremare,
UIN Holders,Titolari UIN,
With Payment of Tax,Con il pagamento delle tasse,
Without Payment of Tax,Senza pagamento di tasse,
Invoice Copy,Copia fattura,
Original for Recipient,Originale per destinatario,
Duplicate for Transporter,Duplica per Transporter,
Duplicate for Supplier,Duplica per fornitore,
Triplicate for Supplier,Triplicare per fornitore,
Reverse Charge,Carica inversa,
Y,Y,
N,N,
E-commerce GSTIN,GSTIN e-commerce,
Reason For Issuing document,Motivo per l&#39;emissione del documento,
01-Sales Return,01-Reso di vendita,
02-Post Sale Discount,Sconto post vendita 02,
03-Deficiency in services,03-Carenza di servizi,
04-Correction in Invoice,04-Correzione in fattura,
05-Change in POS,05-Modifica in POS,
06-Finalization of Provisional assessment,06-Finalizzazione della valutazione provvisoria,
07-Others,07-Altri,
Eligibility For ITC,Idoneità per ITC,
Input Service Distributor,Distributore di servizi di input,
Import Of Service,Import Of Service,
Import Of Capital Goods,Importazione di beni capitali,
Ineligible,Non idoneo,
All Other ITC,Tutti gli altri ITC,
Availed ITC Integrated Tax,Tassa integrata ITC usufruita,
Availed ITC Central Tax,Tassa centrale ITC utilizzata,
Availed ITC State/UT Tax,Tasse ITC / UT disponibili,
Availed ITC Cess,Avvalutato ITC Cess,
Is Nil Rated or Exempted,Non è valutato o esentato,
Is Non GST,Non è GST,
ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
E-Way Bill No.,E-Way Bill No.,
Is Consolidated,È consolidato,
Billing Address GSTIN,Indirizzo di fatturazione GSTIN,
Customer GSTIN,GSTIN cliente,
GST Transporter ID,ID trasportatore GST,
Distance (in km),Distanza (in km),
Road,Strada,
Air,Aria,
Rail,Rotaia,
Ship,Nave,
GST Vehicle Type,Tipo di veicolo GST,
Over Dimensional Cargo (ODC),Over Dimensional Cargo (ODC),
Consumer,Consumatore,
Deemed Export,Presunta esportazione,
Port Code,Codice del porto,
 Shipping Bill Number,Numero fattura di spedizione,
Shipping Bill Date,Data fattura di spedizione,
Subscription End Date,Data di fine dell&#39;abbonamento,
Follow Calendar Months,Segui i mesi del calendario,
If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Se questa opzione è selezionata, le nuove fatture successive verranno create nel mese di calendario e nelle date di inizio del trimestre indipendentemente dalla data di inizio della fattura corrente",
Generate New Invoices Past Due Date,Genera nuove fatture oltre la data di scadenza,
New invoices will be generated as per schedule even if current invoices are unpaid or past due date,Le nuove fatture verranno generate come da programma anche se le fatture correnti non sono state pagate o sono scadute,
Document Type ,tipo di documento,
Subscription Price Based On,Prezzo di abbonamento basato su,
Fixed Rate,Tasso fisso,
Based On Price List,Basato sul listino prezzi,
Monthly Rate,Quota mensile,
Cancel Subscription After Grace Period,Annulla abbonamento dopo il periodo di grazia,
Source State,Stato di origine,
Is Inter State,È Inter State,
Purchase Details,Dettagli d&#39;acquisto,
Depreciation Posting Date,Data di registrazione dell&#39;ammortamento,
"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","Per impostazione predefinita, il nome del fornitore è impostato in base al nome del fornitore immesso. Se desideri che i fornitori siano nominati da un",
 choose the 'Naming Series' option.,scegli l&#39;opzione &quot;Serie di nomi&quot;.,
Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Configurare il listino prezzi predefinito quando si crea una nuova transazione di acquisto. I prezzi degli articoli verranno recuperati da questo listino prezzi.,
"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice or Receipt without creating a Purchase Order first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Order' checkbox in the Supplier master.","Se questa opzione è configurata &quot;Sì&quot;, ERPNext ti impedirà di creare una fattura o una ricevuta di acquisto senza creare prima un ordine di acquisto. Questa configurazione può essere sovrascritta per un particolare fornitore abilitando la casella di controllo &quot;Consenti creazione fattura di acquisto senza ordine di acquisto&quot; nell&#39;anagrafica fornitore.",
"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice without creating a Purchase Receipt first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Receipt' checkbox in the Supplier master.","Se questa opzione è configurata &quot;Sì&quot;, ERPNext ti impedirà di creare una fattura di acquisto senza prima creare una ricevuta di acquisto. Questa configurazione può essere sovrascritta per un particolare fornitore abilitando la casella di spunta &quot;Consenti creazione fattura di acquisto senza ricevuta di acquisto&quot; nell&#39;anagrafica fornitore.",
Quantity & Stock,Quantità e scorte,
Call Details,Dettagli chiamata,
Authorised By,Autorizzato da,
Signee (Company),Firmatario (Azienda),
Signed By (Company),Firmato da (azienda),
First Response Time,Primo tempo di risposta,
Request For Quotation,Richiesta di offerta,
Opportunity Lost Reason Detail,Dettaglio motivo di perdita opportunità,
Access Token Secret,Segreto token di accesso,
Add to Topics,Aggiungi agli argomenti,
...Adding Article to Topics,... Aggiunta di articoli agli argomenti,
Add Article to Topics,Aggiungi articolo agli argomenti,
This article is already added to the existing topics,Questo articolo è già stato aggiunto agli argomenti esistenti,
Add to Programs,Aggiungi ai programmi,
Programs,Programmi,
...Adding Course to Programs,... Aggiunta del corso ai programmi,
Add Course to Programs,Aggiungi corso ai programmi,
This course is already added to the existing programs,Questo corso è già aggiunto ai programmi esistenti,
Learning Management System Settings,Impostazioni del sistema di gestione dell&#39;apprendimento,
Enable Learning Management System,Abilita il sistema di gestione dell&#39;apprendimento,
Learning Management System Title,Titolo del sistema di gestione dell&#39;apprendimento,
...Adding Quiz to Topics,... Aggiunta di quiz agli argomenti,
Add Quiz to Topics,Aggiungi quiz agli argomenti,
This quiz is already added to the existing topics,Questo quiz è già aggiunto agli argomenti esistenti,
Enable Admission Application,Abilita domanda di ammissione,
EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
Marking attendance,Marcatura delle presenze,
Add Guardians to Email Group,Aggiungi tutori al gruppo di posta elettronica,
Attendance Based On,Presenza basata su,
Check this to mark the student as present in case the student is not attending the institute to participate or represent the institute in any event.\n\n,Selezionare questa casella per contrassegnare lo studente come presente nel caso in cui lo studente non stia frequentando l&#39;istituto per partecipare o rappresentare l&#39;istituto in ogni caso.,
Add to Courses,Aggiungi ai corsi,
...Adding Topic to Courses,... Aggiunta di argomenti ai corsi,
Add Topic to Courses,Aggiungi argomento ai corsi,
This topic is already added to the existing courses,Questo argomento è già stato aggiunto ai corsi esistenti,
"If Shopify does not have a customer in the order, then while syncing the orders, the system will consider the default customer for the order","Se Shopify non ha un cliente nell&#39;ordine, durante la sincronizzazione degli ordini, il sistema considererà il cliente predefinito per l&#39;ordine",
The accounts are set by the system automatically but do confirm these defaults,Gli account vengono impostati automaticamente dal sistema ma confermano questi valori predefiniti,
Default Round Off Account,Conto arrotondato predefinito,
Failed Import Log,Registro di importazione non riuscito,
Fixed Error Log,Registro errori corretto,
Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,L&#39;azienda {0} esiste già. Continuando si sovrascriverà la Società e il piano dei conti,
Meta Data,Meta Data,
Unresolve,Irrisolto,
Create Document,Crea documento,
Mark as unresolved,Contrassegna come irrisolto,
TaxJar Settings,Impostazioni TaxJar,
Sandbox Mode,Modalità Sandbox,
Enable Tax Calculation,Abilita il calcolo delle imposte,
Create TaxJar Transaction,Crea transazione TaxJar,
Credentials,Credenziali,
Live API Key,Chiave API live,
Sandbox API Key,Chiave API Sandbox,
Configuration,Configurazione,
Tax Account Head,Responsabile del conto fiscale,
Shipping Account Head,Responsabile conto di spedizione,
Practitioner Name,Nome del praticante,
Enter a name for the Clinical Procedure Template,Immettere un nome per il modello di procedura clinica,
Set the Item Code which will be used for billing the Clinical Procedure.,Impostare il codice articolo che verrà utilizzato per la fatturazione della procedura clinica.,
Select an Item Group for the Clinical Procedure Item.,Selezionare un gruppo di elementi per l&#39;elemento di procedura clinica.,
Clinical Procedure Rate,Tasso di procedura clinica,
Check this if the Clinical Procedure is billable and also set the rate.,Seleziona questa opzione se la Procedura clinica è fatturabile e imposta anche la tariffa.,
Check this if the Clinical Procedure utilises consumables. Click ,Selezionare questa opzione se la procedura clinica utilizza materiali di consumo. Clic,
 to know more,per saperne di più,
"You can also set the Medical Department for the template. After saving the document, an Item will automatically be created for billing this Clinical Procedure. You can then use this template while creating Clinical Procedures for Patients. Templates save you from filling up redundant data every single time. You can also create templates for other operations like Lab Tests, Therapy Sessions, etc.","È inoltre possibile impostare il reparto medico per il modello. Dopo aver salvato il documento, verrà automaticamente creato un articolo per la fatturazione di questa procedura clinica. È quindi possibile utilizzare questo modello durante la creazione di procedure cliniche per i pazienti. I modelli ti evitano di riempire ogni volta dati ridondanti. Puoi anche creare modelli per altre operazioni come test di laboratorio, sessioni di terapia, ecc.",
Descriptive Test Result,Risultato del test descrittivo,
Allow Blank,Consenti vuoto,
Descriptive Test Template,Modello di test descrittivo,
"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Se desideri monitorare il libro paga e altre operazioni HRMS per un professionista, crea un dipendente e collegalo qui.",
Set the Practitioner Schedule you just created. This will be used while booking appointments.,Imposta la pianificazione del praticante che hai appena creato. Questo verrà utilizzato durante la prenotazione degli appuntamenti.,
Create a service item for Out Patient Consulting.,Creare un articolo di servizio per Out Patient Consulting.,
"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Se questo operatore sanitario lavora per il reparto degenti, crea un elemento di servizio per le visite ospedaliere.",
Set the Out Patient Consulting Charge for this Practitioner.,Stabilire la tariffa per la consulenza per i pazienti esterni per questo medico.,
"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Se questo operatore sanitario lavora anche per il reparto di degenza, imposta l&#39;addebito per la visita ospedaliera per questo operatore.",
"If checked, a customer will be created for every Patient. Patient Invoices will be created against this Customer. You can also select existing Customer while creating a Patient. This field is checked by default.","Se selezionato, verrà creato un cliente per ogni paziente. Le fatture del paziente verranno create per questo cliente. È inoltre possibile selezionare un cliente esistente durante la creazione di un paziente. Questo campo è selezionato per impostazione predefinita.",
Collect Registration Fee,Raccogli la quota di registrazione,
"If your Healthcare facility bills registrations of Patients, you can check this and set the Registration Fee in the field below. Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.","Se la tua struttura sanitaria fattura le registrazioni dei pazienti, puoi verificarlo e impostare la quota di registrazione nel campo sottostante. Selezionando questa opzione verranno creati nuovi Pazienti con uno stato Disabilitato per impostazione predefinita e verranno abilitati solo dopo la fatturazione della Quota di registrazione.",
Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,Selezionando questa opzione verrà creata automaticamente una fattura di vendita ogni volta che viene prenotato un appuntamento per un paziente.,
Healthcare Service Items,Articoli per servizi sanitari,
"You can create a service item for Inpatient Visit Charge and set it here. Similarly, you can set up other Healthcare Service Items for billing in this section. Click ","È possibile creare un articolo di servizio per l&#39;addebito per visite ospedaliere e impostarlo qui. Allo stesso modo, in questa sezione puoi impostare altri articoli del servizio sanitario per la fatturazione. Clic",
Set up default Accounts for the Healthcare Facility,Imposta account predefiniti per la struttura sanitaria,
"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Se desideri sovrascrivere le impostazioni dei conti predefiniti e configurare i conti entrate e crediti per l&#39;assistenza sanitaria, puoi farlo qui.",
Out Patient SMS alerts,Avvisi SMS fuori paziente,
"If you want to send SMS alert on Patient Registration, you can enable this option. Similary, you can set up Out Patient SMS alerts for other functionalities in this section. Click ","Se si desidera inviare un avviso SMS sulla registrazione del paziente, è possibile abilitare questa opzione. Allo stesso modo, in questa sezione è possibile impostare avvisi SMS per pazienti fuori sede per altre funzionalità. Clic",
Admission Order Details,Dettagli dell&#39;ordine di ammissione,
Admission Ordered For,Ingresso ordinato per,
Expected Length of Stay,Durata prevista del soggiorno,
Admission Service Unit Type,Tipo di unità di servizio di ammissione,
Healthcare Practitioner (Primary),Operatore sanitario (scuola primaria),
Healthcare Practitioner (Secondary),Operatore sanitario (secondario),
Admission Instruction,Istruzione di ammissione,
Chief Complaint,Capo reclamo,
Medications,Farmaci,
Investigations,Indagini,
Discharge Detials,Scarica Detials,
Discharge Ordered Date,Data ordinata di scarico,
Discharge Instructions,Istruzioni per la dimissione,
Follow Up Date,Data di follow-up,
Discharge Notes,Note di scarico,
Processing Inpatient Discharge,Elaborazione delle dimissioni ospedaliere,
Processing Patient Admission,Elaborazione del ricovero del paziente,
Check-in time cannot be greater than the current time,L&#39;orario di check-in non può essere maggiore dell&#39;ora corrente,
Process Transfer,Trasferimento di processo,
HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
Expected Result Date,Data di risultato prevista,
Expected Result Time,Tempo previsto per il risultato,
Printed on,Stampato,
Requesting Practitioner,Praticante richiedente,
Requesting Department,Reparto richiedente,
Employee (Lab Technician),Dipendente (tecnico di laboratorio),
Lab Technician Name,Nome del tecnico di laboratorio,
Lab Technician Designation,Designazione del tecnico di laboratorio,
Compound Test Result,Risultato del test composto,
Organism Test Result,Risultato del test sull&#39;organismo,
Sensitivity Test Result,Risultato del test di sensibilità,
Worksheet Print,Stampa del foglio di lavoro,
Worksheet Instructions,Istruzioni del foglio di lavoro,
Result Legend Print,Stampa della legenda dei risultati,
Print Position,Posizione di stampa,
Both,Tutti e due,
Result Legend,Legenda dei risultati,
Lab Tests,Test di laboratorio,
No Lab Tests found for the Patient {0},Nessun test di laboratorio trovato per il paziente {0},
"Did not send SMS, missing patient mobile number or message content.","Non ha inviato SMS, numero di cellulare del paziente mancante o contenuto del messaggio.",
No Lab Tests created,Nessun test di laboratorio creato,
Creating Lab Tests...,Creazione di test di laboratorio ...,
Lab Test Group Template,Modello di gruppo di test di laboratorio,
Add New Line,Aggiungi nuova riga,
Secondary UOM,Unità di misura secondaria,
"<b>Single</b>: Results which require only a single input.\n<br>\n<b>Compound</b>: Results which require multiple event inputs.\n<br>\n<b>Descriptive</b>: Tests which have multiple result components with manual result entry.\n<br>\n<b>Grouped</b>: Test templates which are a group of other test templates.\n<br>\n<b>No Result</b>: Tests with no results, can be ordered and billed but no Lab Test will be created. e.g.. Sub Tests for Grouped results",<b>Singolo</b> : risultati che richiedono un solo input.<br> <b>Composto</b> : risultati che richiedono più input di eventi.<br> <b>Descrittivo</b> : test che hanno più componenti di risultati con immissione manuale dei risultati.<br> <b>Raggruppati</b> : modelli di test che sono un gruppo di altri modelli di test.<br> <b>Nessun risultato</b> : i test senza risultati possono essere ordinati e fatturati ma non verrà creato alcun test di laboratorio. per esempio. Test secondari per risultati raggruppati,
"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Se deselezionato, l&#39;articolo non sarà disponibile in Fatture di vendita per la fatturazione, ma potrà essere utilizzato nella creazione di test di gruppo.",
Description ,Descrizione,
Descriptive Test,Test descrittivo,
Group Tests,Test di gruppo,
Instructions to be printed on the worksheet,Istruzioni da stampare sul foglio di lavoro,
"Information to help easily interpret the test report, will be printed as part of the Lab Test result.",Le informazioni per facilitare l&#39;interpretazione del rapporto del test verranno stampate come parte del risultato del test di laboratorio.,
Normal Test Result,Risultato del test normale,
Secondary UOM Result,Risultato unità di misura secondaria,
Italic,Corsivo,
Underline,Sottolineare,
Organism,Organismo,
Organism Test Item,Oggetto del test dell&#39;organismo,
Colony Population,Popolazione di colonie,
Colony UOM,Colony UOM,
Tobacco Consumption (Past),Consumo di tabacco (passato),
Tobacco Consumption (Present),Consumo di tabacco (presente),
Alcohol Consumption (Past),Consumo di alcol (passato),
Alcohol Consumption (Present),Consumo di alcol (presente),
Billing Item,Elemento di fatturazione,
Medical Codes,Codici medici,
Clinical Procedures,Procedure cliniche,
Order Admission,Ordine di ammissione,
Scheduling Patient Admission,Pianificazione del ricovero del paziente,
Order Discharge,Scarica ordine,
Sample Details,Dettagli campione,
Collected On,Raccolto il,
No. of prints,Numero di stampe,
Number of prints required for labelling the samples,Numero di stampe richieste per l&#39;etichettatura dei campioni,
HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
Payroll Cost Center,Centro di costo del libro paga,
Approvers,Approvatori,
The first Approver in the list will be set as the default Approver.,Il primo approvatore nell&#39;elenco verrà impostato come approvatore predefinito.,
Shift Request Approver,Approvatore richiesta di turno,
Provident Fund Account,Conto del fondo di previdenza,
MICR Code,Codice MICR,
Repay unclaimed amount from salary,Rimborsare l&#39;importo non reclamato dallo stipendio,
Deduction from salary,Detrazione dallo stipendio,
If this is not checked the loan by default will be considered as a Demand Loan,"Se questa opzione non è selezionata, il prestito di default sarà considerato come un prestito a vista",
This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,Questo conto viene utilizzato per la prenotazione del rimborso del prestito dal mutuatario e anche per l&#39;erogazione dei prestiti al mutuatario,
This account is capital account which is used to allocate capital for loan disbursal account ,Questo conto è un conto capitale utilizzato per allocare il capitale per il conto di erogazione del prestito,
This account will be used for booking loan interest accruals,Questo account verrà utilizzato per la prenotazione degli interessi maturati sui prestiti,
This account will be used for booking penalties levied due to delayed repayments,Questo account verrà utilizzato per le penali di prenotazione applicate a causa di rimborsi ritardati,
Variant BOM,BOM variante,
Template Item,Elemento modello,
Select template item,Seleziona elemento modello,
Select variant item code for the template item {0},Seleziona il codice articolo variante per l&#39;elemento modello {0},
Downtime Entry,Ingresso tempo di inattività,
DT-,DT-,
Workstation / Machine,Stazione di lavoro / macchina,
Operator,Operatore,
In Mins,In Min,
Downtime Reason,Motivo del tempo di inattività,
Stop Reason,Stop Reason,
Excessive machine set up time,Tempo di attrezzaggio macchina eccessivo,
Unplanned machine maintenance,Manutenzione della macchina non pianificata,
On-machine press checks,Controlli sulla macchina da stampa,
Machine operator errors,Errori dell&#39;operatore della macchina,
Machine malfunction,Malfunzionamento della macchina,
Electricity down,Elettricità in calo,
Operation Row Number,Numero riga operazione,
Operation {0} added multiple times in the work order {1},Operazione {0} aggiunta più volte nell&#39;ordine di lavoro {1},
"If ticked, multiple materials can be used for a single Work Order. This is useful if one or more time consuming products are being manufactured.","Se spuntato, è possibile utilizzare più materiali per un singolo ordine di lavoro. Ciò è utile se vengono fabbricati uno o più prodotti che richiedono molto tempo.",
Backflush Raw Materials,Backflush materie prime,
"The Stock Entry of type 'Manufacture' is known as backflush. Raw materials being consumed to manufacture finished goods is known as backflushing. <br><br> When creating Manufacture Entry, raw-material items are backflushed based on BOM of production item. If you want raw-material items to be backflushed based on Material Transfer entry made against that Work Order instead, then you can set it under this field.","La voce di stock di tipo &quot;Produzione&quot; è nota come backflush. Le materie prime consumate per la produzione di prodotti finiti sono conosciute come backflushing.<br><br> Quando si crea una voce di produzione, gli articoli delle materie prime vengono scaricati a consuntivo in base alla distinta base dell&#39;articolo di produzione. Se si desidera che gli articoli delle materie prime vengano scaricati a consuntivo in base alla voce Trasferimento materiale effettuata rispetto a quell&#39;ordine di lavoro, è possibile impostarlo in questo campo.",
Work In Progress Warehouse,Magazzino Lavori In Corso,
This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Questo magazzino verrà aggiornato automaticamente nel campo Magazzino lavori in corso degli ordini di lavoro.,
Finished Goods Warehouse,Magazzino prodotti finiti,
This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Questo magazzino verrà aggiornato automaticamente nel campo Magazzino di destinazione dell&#39;ordine di lavoro.,
"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Se spuntato, il costo della distinta base verrà aggiornato automaticamente in base a Tasso di valutazione / Tasso di listino / ultimo tasso di acquisto delle materie prime.",
Source Warehouses (Optional),Magazzini di origine (facoltativo),
"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","Il sistema ritirerà i materiali dai magazzini selezionati. Se non specificato, il sistema creerà la richiesta di materiale per l&#39;acquisto.",
Lead Time,Tempi di consegna,
PAN Details,Dettagli PAN,
Create Customer,Crea cliente,
Invoicing,Fatturazione,
Enable Auto Invoicing,Abilita fatturazione automatica,
Send Membership Acknowledgement,Invia conferma di iscrizione,
Send Invoice with Email,Invia fattura con e-mail,
Membership Print Format,Formato di stampa dell&#39;iscrizione,
Invoice Print Format,Formato stampa fattura,
Revoke <Key></Key>,Revocare&lt;Key&gt;&lt;/Key&gt;,
You can learn more about memberships in the manual. ,Puoi saperne di più sugli abbonamenti nel manuale.,
ERPNext Docs,ERPNext Docs,
Regenerate Webhook Secret,Rigenera segreto webhook,
Generate Webhook Secret,Genera segreto webhook,
Copy Webhook URL,Copia l&#39;URL del webhook,
Linked Item,Elemento collegato,
Feedback By,Feedback di,
Manufacturing Section,Sezione Produzione,
"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Per impostazione predefinita, il nome del cliente è impostato in base al nome completo inserito. Se desideri che i clienti siano nominati da un",
Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Configurare il listino prezzi predefinito quando si crea una nuova transazione di vendita. I prezzi degli articoli verranno recuperati da questo listino prezzi.,
"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice or Delivery Note without creating a Sales Order first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Sales Order' checkbox in the Customer master.","Se questa opzione è configurata &quot;Sì&quot;, ERPNext ti impedirà di creare una fattura di vendita o una nota di consegna senza creare prima un ordine di vendita. Questa configurazione può essere sovrascritta per un particolare cliente abilitando la casella di spunta &quot;Consenti creazione fattura di vendita senza ordine di vendita&quot; nell&#39;anagrafica cliente.",
"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice without creating a Delivery Note first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Delivery Note' checkbox in the Customer master.","Se questa opzione è configurata &quot;Sì&quot;, ERPNext ti impedirà di creare una fattura di vendita senza prima creare una bolla di consegna. Questa configurazione può essere sovrascritta per un determinato cliente abilitando la casella di controllo &quot;Consenti creazione fattura di vendita senza nota di consegna&quot; nell&#39;anagrafica cliente.",
Default Warehouse for Sales Return,Magazzino predefinito per resi di vendita,
Default In Transit Warehouse,Predefinito nel magazzino di transito,
Enable Perpetual Inventory For Non Stock Items,Abilita inventario perpetuo per articoli non in stock,
HRA Settings,Impostazioni HRA,
Basic Component,Componente di base,
HRA Component,Componente HRA,
Arrear Component,Componente Arrear,
Please enter the company name to confirm,Immettere il nome dell&#39;azienda per confermare,
Quotation Lost Reason Detail,Dettaglio motivo smarrito preventivo,
Enable Variants,Abilita varianti,
Save Quotations as Draft,Salva offerte come bozza,
MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
Please Select a Customer,Seleziona un cliente,
Against Delivery Note Item,Contro articolo bolla di consegna,
Is Non GST ,Non è GST,
Image Description,Descrizione dell&#39;immagine,
Transfer Status,Stato di trasferimento,
MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
Track this Purchase Receipt against any Project,Tieni traccia di questa ricevuta di acquisto rispetto a qualsiasi progetto,
Please Select a Supplier,Seleziona un fornitore,
Add to Transit,Aggiungi a Transit,
Set Basic Rate Manually,Imposta manualmente la tariffa di base,
"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ","Per impostazione predefinita, il nome dell&#39;articolo è impostato in base al codice articolo immesso. Se desideri che gli elementi vengano nominati da un file",
Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Impostare un magazzino predefinito per le transazioni di magazzino. Questo verrà recuperato nel magazzino predefinito nell&#39;anagrafica articoli.,
"This will allow stock items to be displayed in negative values. Using this option depends on your use case. With this option unchecked, the system warns before obstructing a transaction that is causing negative stock.","Ciò consentirà di visualizzare gli articoli in magazzino con valori negativi. L&#39;utilizzo di questa opzione dipende dal tuo caso d&#39;uso. Con questa opzione deselezionata, il sistema avvisa prima di ostacolare una transazione che causa uno stock negativo.",
Choose between FIFO and Moving Average Valuation Methods. Click ,Scegli tra FIFO e metodi di valutazione della media mobile. Clic,
 to know more about them.,per saperne di più su di loro.,
Show 'Scan Barcode' field above every child table to insert Items with ease.,Mostra il campo &quot;Scansiona codice a barre&quot; sopra ogni tabella figlia per inserire facilmente gli elementi.,
"Serial numbers for stock will be set automatically based on the Items entered based on first in first out in transactions like Purchase/Sales Invoices, Delivery Notes, etc.","I numeri di serie per le scorte verranno impostati automaticamente in base agli articoli inseriti in base a first in first out in transazioni come fatture di acquisto / vendita, note di consegna, ecc.",
"If blank, parent Warehouse Account or company default will be considered in transactions","Se vuoto, nelle transazioni verrà considerato il conto magazzino principale o il valore predefinito della società",
Service Level Agreement Details,Dettagli del contratto sul livello di servizio,
Service Level Agreement Status,Stato del contratto sul livello di servizio,
On Hold Since,In attesa da,
Total Hold Time,Tempo di attesa totale,
Response Details,Dettagli risposta,
Average Response Time,Tempo di risposta medio,
User Resolution Time,Tempo di risoluzione dell&#39;utente,
SLA is on hold since {0},SLA è in attesa dal {0},
Pause SLA On Status,Metti in pausa lo stato del contratto di servizio,
Pause SLA On,Metti in pausa il contratto di servizio,
Greetings Section,Sezione saluti,
Greeting Title,Titolo di saluto,
Greeting Subtitle,Sottotitolo di saluto,
Youtube ID,ID Youtube,
Youtube Statistics,Statistiche Youtube,
Views,Visualizzazioni,
Dislikes,Non mi piace,
Video Settings,Impostazioni video,
Enable YouTube Tracking,Abilita il monitoraggio di YouTube,
30 mins,30 min,
1 hr,1 ora,
6 hrs,6 ore,
Patient Progress,Progresso del paziente,
Targetted,Mirato,
Score Obtained,Punteggio ottenuto,
Sessions,Sessioni,
Average Score,Punteggio medio,
Select Assessment Template,Seleziona Modello di valutazione,
 out of ,fuori da,
Select Assessment Parameter,Seleziona Parametro di valutazione,
Gender: ,Genere:,
Contact: ,Contatto:,
Total Therapy Sessions: ,Sessioni terapeutiche totali:,
Monthly Therapy Sessions: ,Sessioni terapeutiche mensili:,
Patient Profile,Profilo del paziente,
Point Of Sale,Punto vendita,
Email sent successfully.,Email inviata correttamente.,
Search by invoice id or customer name,Cerca per ID fattura o nome cliente,
Invoice Status,Stato fattura,
Filter by invoice status,Filtra per stato della fattura,
Select item group,Seleziona gruppo di articoli,
No items found. Scan barcode again.,Nessun articolo trovato. Scansiona di nuovo il codice a barre.,
"Search by customer name, phone, email.","Cerca per nome cliente, telefono, email.",
Enter discount percentage.,Immettere la percentuale di sconto.,
Discount cannot be greater than 100%,Lo sconto non può essere superiore al 100%,
Enter customer's email,Inserisci l&#39;email del cliente,
Enter customer's phone number,Inserisci il numero di telefono del cliente,
Customer contact updated successfully.,Contatto cliente aggiornato correttamente.,
Item will be removed since no serial / batch no selected.,L&#39;articolo verrà rimosso poiché non è stato selezionato alcun numero di serie / lotto.,
Discount (%),Sconto (%),
You cannot submit the order without payment.,Non è possibile inviare l&#39;ordine senza pagamento.,
You cannot submit empty order.,Non puoi inviare un ordine vuoto.,
To Be Paid,Essere pagato,
Create POS Opening Entry,Crea voce di apertura POS,
Please add Mode of payments and opening balance details.,Aggiungi modalità di pagamento e dettagli del saldo di apertura.,
Toggle Recent Orders,Attiva gli ordini recenti,
Save as Draft,Salva come bozza,
You must add atleast one item to save it as draft.,È necessario aggiungere almeno un elemento per salvarlo come bozza.,
There was an error saving the document.,Si è verificato un errore durante il salvataggio del documento.,
You must select a customer before adding an item.,È necessario selezionare un cliente prima di aggiungere un articolo.,
Please Select a Company,Seleziona una società,
Active Leads,Lead attivi,
Please Select a Company.,Seleziona una società.,
BOM Operations Time,Tempo di operazioni BOM,
BOM ID,ID BOM,
BOM Item Code,Codice articolo BOM,
Time (In Mins),Tempo (in minuti),
Sub-assembly BOM Count,Conteggio distinta componenti sottoassieme,
View Type,Tipo di visualizzazione,
Total Delivered Amount,Importo totale consegnato,
Downtime Analysis,Analisi dei tempi di inattività,
Machine,Macchina,
Downtime (In Hours),Tempo di inattività (in ore),
Employee Analytics,Analisi dei dipendenti,
"""From date"" can not be greater than or equal to ""To date""",&quot;Dalla data&quot; non può essere maggiore o uguale a &quot;Alla data&quot;,
Exponential Smoothing Forecasting,Previsione livellamento esponenziale,
First Response Time for Issues,Primo tempo di risposta per problemi,
First Response Time for Opportunity,Primo tempo di risposta per opportunità,
Depreciatied Amount,Importo ammortizzato,
Period Based On,Periodo basato su,
Date Based On,Data basata su,
{0} and {1} are mandatory,{0} e {1} sono obbligatori,
Consider Accounting Dimensions,Considera le dimensioni contabili,
Reserved Quantity for Production,Quantità riservata per la produzione,
Projected Quantity,Quantità prevista,
 Total Sales Amount,Importo totale delle vendite,
Job Card Summary,Riepilogo scheda lavoro,
Id,Id,
Time Required (In Mins),Tempo richiesto (in minuti),
From Posting Date,Dalla data di registrazione,
To Posting Date,Alla data di registrazione,
No records found,Nessun record trovato,
Customer/Lead Name,Nome cliente / lead,
Production Planning Report,Rapporto sulla pianificazione della produzione,
Order Qty,Qtà ordine,
Raw Material Code,Codice delle materie prime,
Raw Material Name,Nome della materia prima,
Allotted Qty,Qtà assegnata,
Expected Arrival Date,Data di arrivo prevista,
Arrival Quantity,Quantità di arrivo,
Raw Material Warehouse,Magazzino materie prime,
Order By,Ordinato da,
Include Sub-assembly Raw Materials,Includi materie prime del sottoassieme,
Program wise Fee Collection,Programma saggio raccolta delle commissioni,
Fees Collected,Commissioni riscosse,
Project Summary,Sintesi del progetto,
Total Tasks,Attività totali,
Tasks Completed,Attività completate,
Tasks Overdue,Attività scadute,
Completion,Completamento,
Purchase Order Analysis,Analisi degli ordini di acquisto,
From and To Dates are required.,Da e a Le date sono obbligatorie.,
To Date cannot be before From Date.,To Date non può essere precedente a From Date.,
Qty to Bill,Qtà a Bill,
Group by Purchase Order,Raggruppa per ordine di acquisto,
 Purchase Value,Valore d&#39;acquisto,
Total Received Amount,Importo totale ricevuto,
Quality Inspection Summary,Riepilogo dell&#39;ispezione di qualità,
 Quoted Amount,Importo quotato,
Lead Time (Days),Termine d&#39;esecuzione (giorni),
Include Expired,Includi scaduto,
Requested Items to Order and Receive,Articoli richiesti da ordinare e ricevere,
Sales Order Analysis,Analisi degli ordini di vendita,
Amount Delivered,Importo consegnato,
Delay (in Days),Ritardo (in giorni),
Group by Sales Order,Raggruppa per ordine di vendita,
 Sales Value,Valore delle vendite,
Stock Qty vs Serial No Count,Quantità stock vs numero di serie,
Serial No Count,Numero di serie,
Work Order Summary,Riepilogo dell&#39;ordine di lavoro,
Produce Qty,Produrre Qty,
Lead Time (in mins),Tempo di consegna (in minuti),
Charts Based On,Grafici basati su,
YouTube Interactions,Interazioni su YouTube,
Published Date,Data di pubblicazione,
Barnch,Barnch,
Select a Company,Seleziona una società,
Opportunity {0} created,Opportunità {0} creata,
Kindly select the company first,Si prega di selezionare prima l&#39;azienda,
Please enter From Date and To Date to generate JSON,Immettere Da data e A data per generare JSON,
Download DATEV File,Scarica il file DATEV,
Numero has not set in the XML file,Numero non è stato impostato nel file XML,
Inward Supplies(liable to reverse charge),Forniture interne (soggette a inversione contabile),
This is based on the course schedules of this Instructor,Questo si basa sugli orari dei corsi di questo istruttore,
Course and Assessment,Corso e valutazione,
Course {0} has been added to all the selected programs successfully.,Il corso {0} è stato aggiunto con successo a tutti i programmi selezionati.,
Programs updated,Programmi aggiornati,
Program and Course,Programma e corso,
{0} or {1} is mandatory,{0} o {1} è obbligatorio,
Mandatory Fields,Campi obbligatori,
Student {0}: {1} does not belong to Student Group {2},Studente {0}: {1} non appartiene al gruppo di studenti {2},
Student Attendance record {0} already exists against the Student {1},Il record di partecipazione degli studenti {0} esiste già rispetto allo studente {1},
Course and Fee,Corso e tariffa,
Not eligible for the admission in this program as per Date Of Birth,Non idoneo per l&#39;ammissione a questo programma in base alla data di nascita,
Topic {0} has been added to all the selected courses successfully.,L&#39;argomento {0} è stato aggiunto correttamente a tutti i corsi selezionati.,
Courses updated,Corsi aggiornati,
{0} {1} has been added to all the selected topics successfully.,{0} {1} è stato aggiunto correttamente a tutti gli argomenti selezionati.,
Topics updated,Argomenti aggiornati,
Academic Term and Program,Termine accademico e programma,
Please remove this item and try to submit again or update the posting time.,Rimuovi questo elemento e prova a inviarlo di nuovo o aggiorna l&#39;orario di pubblicazione.,
Failed to Authenticate the API key.,Impossibile autenticare la chiave API.,
Invalid Credentials,Credenziali non valide,
URL can only be a string,L&#39;URL può essere solo una stringa,
"Here is your webhook secret, this will be shown to you only once.","Ecco il tuo segreto per il webhook, ti verrà mostrato una sola volta.",
The payment for this membership is not paid. To generate invoice fill the payment details,Il pagamento per questa iscrizione non viene pagato. Per generare la fattura compila i dettagli di pagamento,
An invoice is already linked to this document,Una fattura è già collegata a questo documento,
No customer linked to member {},Nessun cliente collegato al membro {},
You need to set <b>Debit Account</b> in Membership Settings,È necessario impostare il <b>conto di debito</b> nelle impostazioni di iscrizione,
You need to set <b>Default Company</b> for invoicing in Membership Settings,È necessario impostare <b>Azienda predefinita</b> per la fatturazione nelle Impostazioni di iscrizione,
You need to enable <b>Send Acknowledge Email</b> in Membership Settings,È necessario abilitare <b>Invia e-mail</b> di conferma nelle impostazioni di iscrizione,
Error creating membership entry for {0},Errore durante la creazione della voce di iscrizione per {0},
A customer is already linked to this Member,Un cliente è già collegato a questo membro,
End Date must not be lesser than Start Date,La data di fine non deve essere inferiore alla data di inizio,
Employee {0} already has Active Shift {1}: {2},Il dipendente {0} ha già Active Shift {1}: {2},
 from {0},da {0},
 to {0},a {0},
Please set {0} for the Employee or for Department: {1},Impostare {0} per il dipendente o per il dipartimento: {1},
Employee Onboarding: {0} is already for Job Applicant: {1},Inserimento dei dipendenti: {0} è già per il candidato: {1},
Asset Value Analytics,Analisi del valore degli asset,
Category-wise Asset Value,Valore patrimoniale per categoria,
Total Assets,Totale attivo,
New Assets (This Year),Nuove risorse (quest&#39;anno),
Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Riga # {}: la data di registrazione dell&#39;ammortamento non deve essere uguale alla data di disponibilità per l&#39;uso.,
Incorrect Date,Data errata,
Invalid Gross Purchase Amount,Importo di acquisto lordo non valido,
There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Sono presenti manutenzioni o riparazioni attive rispetto al bene. È necessario completarli tutti prima di annullare l&#39;asset.,
% Complete,% Completare,
Back to Course,Torna al corso,
Finish Topic,Termina argomento,
Mins,Min,
by,di,
Back to,Torna a,
Enrolling...,Iscrizione ...,
You have successfully enrolled for the program ,Ti sei iscritto con successo al programma,
Enrolled,Iscritta,
Watch Intro,Guarda l&#39;intro,
We're here to help!,Siamo qui per aiutare!,
Frequently Read Articles,Articoli letti di frequente,
Please set a default company address,Imposta un indirizzo aziendale predefinito,
{0} is not a valid state! Check for typos or enter the ISO code for your state.,{0} non è uno stato valido! Verifica la presenza di errori di battitura o inserisci il codice ISO per il tuo stato.,
Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,Si è verificato un errore durante l&#39;analisi del piano dei conti: assicurati che non ci siano due account con lo stesso nome,
Plaid invalid request error,Errore di richiesta plaid non valida,
Please check your Plaid client ID and secret values,Controlla l&#39;ID del tuo cliente Plaid e i valori segreti,
Bank transaction creation error,Errore di creazione della transazione bancaria,
Unit of Measurement,Unità di misura,
Fiscal Year {0} Does Not Exist,L&#39;anno fiscale {0} non esiste,
Row # {0}: Returned Item {1} does not exist in {2} {3},Riga n. {0}: l&#39;articolo restituito {1} non esiste in {2} {3},
Valuation type charges can not be marked as Inclusive,Gli addebiti del tipo di valutazione non possono essere contrassegnati come inclusivi,
You do not have permissions to {} items in a {}.,Non disponi delle autorizzazioni per {} elementi in {}.,
Insufficient Permissions,Permessi insufficienti,
You are not allowed to update as per the conditions set in {} Workflow.,Non sei autorizzato ad aggiornare secondo le condizioni impostate in {} Flusso di lavoro.,
Expense Account Missing,Conto spese mancante,
{0} is not a valid Value for Attribute {1} of Item {2}.,{0} non è un valore valido per l&#39;attributo {1} dell&#39;elemento {2}.,
Invalid Value,Valore non valido,
The value {0} is already assigned to an existing Item {1}.,Il valore {0} è già assegnato a un elemento esistente {1}.,
"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","Per continuare con la modifica di questo valore di attributo, abilitare {0} in Impostazioni variante elemento.",
Edit Not Allowed,Modifica non consentita,
Row #{0}: Item {1} is already fully received in Purchase Order {2},Riga n. {0}: l&#39;articolo {1} è già stato ricevuto completamente nell&#39;ordine di acquisto {2},
You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Non è possibile creare o annullare alcuna registrazione contabile nel periodo contabile chiuso {0},
POS Invoice should have {} field checked.,La fattura POS dovrebbe avere selezionato il campo {}.,
Invalid Item,Articolo non valido,
Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Riga n. {}: Non è possibile aggiungere quantità positive in una fattura di reso. Rimuovi l&#39;articolo {} per completare il reso.,
The selected change account {} doesn't belongs to Company {}.,L&#39;account di modifica selezionato {} non appartiene alla società {}.,
Atleast one invoice has to be selected.,Deve essere selezionata almeno una fattura.,
Payment methods are mandatory. Please add at least one payment method.,I metodi di pagamento sono obbligatori. Aggiungi almeno un metodo di pagamento.,
Please select a default mode of payment,Seleziona una modalità di pagamento predefinita,
You can only select one mode of payment as default,Puoi selezionare solo una modalità di pagamento come predefinita,
Missing Account,Account mancante,
Customers not selected.,Clienti non selezionati.,
Statement of Accounts,Estratto conto,
Ageing Report Based On ,Rapporto sull&#39;invecchiamento basato su,
Please enter distributed cost center,Immettere il centro di costo distribuito,
Total percentage allocation for distributed cost center should be equal to 100,L&#39;allocazione percentuale totale per il centro di costo distribuito dovrebbe essere pari a 100,
Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Impossibile abilitare il centro di costo distribuito per un centro di costo già allocato in un altro centro di costo distribuito,
Parent Cost Center cannot be added in Distributed Cost Center,Il centro di costo padre non può essere aggiunto in Centro di costo distribuito,
A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Non è possibile aggiungere un centro di costo distribuito nella tabella di allocazione del centro di costo distribuito.,
Cost Center with enabled distributed cost center can not be converted to group,Il centro di costo con centro di costo distribuito abilitato non può essere convertito in gruppo,
Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Il centro di costo già allocato in un centro di costo distribuito non può essere convertito in gruppo,
Trial Period Start date cannot be after Subscription Start Date,La data di inizio del periodo di prova non può essere successiva alla data di inizio dell&#39;abbonamento,
Subscription End Date must be after {0} as per the subscription plan,La data di fine dell&#39;abbonamento deve essere successiva al {0} secondo il piano di abbonamento,
Subscription End Date is mandatory to follow calendar months,La data di fine dell&#39;abbonamento è obbligatoria per seguire i mesi di calendario,
Row #{}: POS Invoice {} is not against customer {},Riga n. {}: Fattura POS {} non è contro il cliente {},
Row #{}: POS Invoice {} is not submitted yet,Riga # {}: la fattura POS {} non è stata ancora inviata,
Row #{}: POS Invoice {} has been {},Riga n. {}: La fattura POS {} è stata {},
No Supplier found for Inter Company Transactions which represents company {0},Nessun fornitore trovato per Transazioni tra società che rappresenta la società {0},
No Customer found for Inter Company Transactions which represents company {0},Nessun cliente trovato per Transazioni tra società che rappresenta la società {0},
Invalid Period,Periodo non valido,
Selected POS Opening Entry should be open.,La voce di apertura POS selezionata dovrebbe essere aperta.,
Invalid Opening Entry,Voce di apertura non valida,
Please set a Company,Imposta una società,
"Sorry, this coupon code's validity has not started","Spiacenti, la validità di questo codice coupon non è iniziata",
"Sorry, this coupon code's validity has expired","Spiacenti, la validità di questo codice coupon è scaduta",
"Sorry, this coupon code is no longer valid","Spiacenti, questo codice coupon non è più valido",
For the 'Apply Rule On Other' condition the field {0} is mandatory,Per la condizione &quot;Applica regola su altro&quot; il campo {0} è obbligatorio,
{1} Not in Stock,{1} Non disponibile,
Only {0} in Stock for item {1},Solo {0} in magazzino per articolo {1},
Please enter a coupon code,Inserisci un codice coupon,
Please enter a valid coupon code,Inserisci un codice coupon valido,
Invalid Child Procedure,Procedura bambino non valida,
Import Italian Supplier Invoice.,Importa fattura fornitore italiano.,
"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.",Il tasso di valutazione per l&#39;articolo {0} è necessario per le registrazioni contabili per {1} {2}.,
 Here are the options to proceed:,Ecco le opzioni per procedere:,
"If the item is transacting as a Zero Valuation Rate item in this entry, please enable 'Allow Zero Valuation Rate' in the {0} Item table.","Se l&#39;articolo sta effettuando una transazione come articolo a tasso di valutazione zero in questa voce, abilitare &quot;Consenti tasso di valutazione zero&quot; nella tabella {0} articolo.",
"If not, you can Cancel / Submit this entry ","In caso contrario, puoi annullare / inviare questa voce",
 performing either one below:,eseguendo uno dei seguenti:,
Create an incoming stock transaction for the Item.,Creare una transazione stock in entrata per l&#39;articolo.,
Mention Valuation Rate in the Item master.,Indicare il tasso di valutazione nell&#39;anagrafica articolo.,
Valuation Rate Missing,Tasso di valutazione mancante,
Serial Nos Required,Numero di serie richiesto,
Quantity Mismatch,Quantità non corrispondente,
"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.","Rifornisci gli articoli e aggiorna l&#39;elenco di prelievo per continuare. Per interrompere, annullare la lista di prelievo.",
Out of Stock,Esaurito,
{0} units of Item {1} is not available.,Le {0} unità dell&#39;articolo {1} non sono disponibili.,
Item for row {0} does not match Material Request,L&#39;articolo per la riga {0} non corrisponde alla richiesta di materiale,
Warehouse for row {0} does not match Material Request,Il magazzino per la riga {0} non corrisponde alla richiesta di materiale,
Accounting Entry for Service,Registrazione contabile per il servizio,
All items have already been Invoiced/Returned,Tutti gli articoli sono già stati fatturati / restituiti,
All these items have already been Invoiced/Returned,Tutti questi articoli sono già stati fatturati / restituiti,
Stock Reconciliations,Riconciliazioni stock,
Merge not allowed,Unione non consentita,
The following deleted attributes exist in Variants but not in the Template. You can either delete the Variants or keep the attribute(s) in template.,I seguenti attributi eliminati esistono nelle varianti ma non nel modello. È possibile eliminare le varianti o mantenere gli attributi nel modello.,
Variant Items,Articoli varianti,
Variant Attribute Error,Errore attributo variante,
The serial no {0} does not belong to item {1},Il numero di serie {0} non appartiene all&#39;articolo {1},
There is no batch found against the {0}: {1},Nessun batch trovato per {0}: {1},
Completed Operation,Operazione completata,
Work Order Analysis,Analisi dell&#39;ordine di lavoro,
Quality Inspection Analysis,Analisi di ispezione della qualità,
Pending Work Order,Ordine di lavoro in sospeso,
Last Month Downtime Analysis,Analisi dei tempi di inattività dello scorso mese,
Work Order Qty Analysis,Analisi Qtà ordine di lavoro,
Job Card Analysis,Analisi della scheda lavoro,
Monthly Total Work Orders,Ordini di lavoro totali mensili,
Monthly Completed Work Orders,Ordini di lavoro completati mensilmente,
Ongoing Job Cards,Carte di lavoro in corso,
Monthly Quality Inspections,Ispezioni mensili di qualità,
(Forecast),(Previsione),
Total Demand (Past Data),Domanda totale (dati passati),
Total Forecast (Past Data),Previsione totale (dati passati),
Total Forecast (Future Data),Previsione totale (dati futuri),
Based On Document,Basato sul documento,
Based On Data ( in years ),Basato sui dati (in anni),
Smoothing Constant,Costante di levigatura,
Please fill the Sales Orders table,Compila la tabella Ordini di vendita,
Sales Orders Required,Ordini di vendita obbligatori,
Please fill the Material Requests table,Si prega di compilare la tabella Richieste di materiale,
Material Requests Required,Richieste di materiale richieste,
Items to Manufacture are required to pull the Raw Materials associated with it.,Gli articoli da produrre sono tenuti a estrarre le materie prime ad esso associate.,
Items Required,Articoli richiesti,
Operation {0} does not belong to the work order {1},L&#39;operazione {0} non appartiene all&#39;ordine di lavoro {1},
Print UOM after Quantity,Stampa UOM dopo la quantità,
Set default {0} account for perpetual inventory for non stock items,Imposta l&#39;account {0} predefinito per l&#39;inventario perpetuo per gli articoli non in stock,
Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Riga n. {0}: l&#39;elemento secondario non deve essere un pacchetto di prodotti. Rimuovi l&#39;elemento {1} e salva,
Credit limit reached for customer {0},Limite di credito raggiunto per il cliente {0},
Could not auto create Customer due to the following missing mandatory field(s):,Impossibile creare automaticamente il cliente a causa dei seguenti campi obbligatori mancanti:,
Please create Customer from Lead {0}.,Crea cliente da lead {0}.,
Mandatory Missing,Obbligatorio mancante,
From Date can not be greater than To Date.,Dalla data non può essere maggiore di Alla data.,
Row #{0}: Please enter the result value for {1},Riga n. {0}: inserisci il valore del risultato per {1},
Mandatory Results,Risultati obbligatori,
Sales Invoice or Patient Encounter is required to create Lab Tests,Per creare test di laboratorio è necessaria la fattura di vendita o l&#39;incontro con il paziente,
Insufficient Data,Dati insufficienti,
Lab Test(s) {0} created successfully,Test di laboratorio {0} creati correttamente,
Test :,Prova:,
Sample Collection {0} has been created,La raccolta di campioni {0} è stata creata,
Normal Range: ,Intervallo normale:,
Row #{0}: Check Out datetime cannot be less than Check In datetime,Riga # {0}: Check-out datetime non può essere inferiore a Check-in datetime,
"Missing required details, did not create Inpatient Record","Dettagli richiesti mancanti, non ha creato la cartella del ricoverato",
Unbilled Invoices,Fatture non fatturate,
Standard Selling Rate should be greater than zero.,La tariffa di vendita standard deve essere maggiore di zero.,
Conversion Factor is mandatory,Il fattore di conversione è obbligatorio,
Row #{0}: Conversion Factor is mandatory,Riga # {0}: il fattore di conversione è obbligatorio,
Sample Quantity cannot be negative or 0,La quantità del campione non può essere negativa o 0,
Invalid Quantity,Quantità non valida,
"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Imposta i valori predefiniti per Gruppo di clienti, Territorio e Listino prezzi di vendita in Impostazioni di vendita",
{0} on {1},{0} su {1},
{0} with {1},{0} con {1},
Appointment Confirmation Message Not Sent,Messaggio di conferma dell&#39;appuntamento non inviato,
"SMS not sent, please check SMS Settings","SMS non inviato, controlla le Impostazioni SMS",
Healthcare Service Unit Type cannot have both {0} and {1},Il tipo di unità di servizio sanitario non può avere sia {0} che {1},
Healthcare Service Unit Type must allow atleast one among {0} and {1},Il tipo di unità di servizio sanitario deve consentire almeno uno tra {0} e {1},
Set Response Time and Resolution Time for Priority {0} in row {1}.,Imposta il tempo di risposta e il tempo di risoluzione per la priorità {0} nella riga {1}.,
Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Il tempo di risposta per la {0} priorità nella riga {1} non può essere maggiore del tempo di risoluzione.,
{0} is not enabled in {1},{0} non è abilitato in {1},
Group by Material Request,Raggruppa per richiesta materiale,
Email Sent to Supplier {0},Email inviata al fornitore {0},
"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","L&#39;accesso alla richiesta di preventivo dal portale è disabilitato. Per consentire l&#39;accesso, abilitalo nelle impostazioni del portale.",
Supplier Quotation {0} Created,Offerta fornitore {0} creata,
Valid till Date cannot be before Transaction Date,La data valida fino alla data non può essere precedente alla data della transazione,
Unlink Advance Payment on Cancellation of Order,Scollegare il pagamento anticipato all&#39;annullamento dell&#39;ordine,
"Simple Python Expression, Example: territory != 'All Territories'","Espressione Python semplice, esempio: territorio! = &#39;Tutti i territori&#39;",
Sales Contributions and Incentives,Contributi alle vendite e incentivi,
Sourced by Supplier,Fornito dal fornitore,
Total weightage assigned should be 100%.<br>It is {0},Il peso totale assegnato dovrebbe essere del 100%.<br> È {0},
Account {0} exists in parent company {1}.,L&#39;account {0} esiste nella società madre {1}.,
"To overrule this, enable '{0}' in company {1}","Per annullare questa impostazione, abilita &quot;{0}&quot; nell&#39;azienda {1}",
Invalid condition expression,Espressione della condizione non valida,
Please Select a Company First,Seleziona prima una società,
Please Select Both Company and Party Type First,Seleziona prima sia la società che il tipo di partito,
Provide the invoice portion in percent,Fornisci la parte della fattura in percentuale,
Give number of days according to prior selection,Indicare il numero di giorni in base alla selezione precedente,
Email Details,Dettagli email,
"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Seleziona un saluto per il destinatario. Ad esempio, signor, signora, ecc.",
Preview Email,Anteprima email,
Please select a Supplier,Seleziona un fornitore,
Supplier Lead Time (days),Tempo di consegna del fornitore (giorni),
"Home, Work, etc.","Casa, lavoro, ecc.",
Exit Interview Held On,Esci Intervista trattenuta,
Sets 'Target Warehouse' in each row of the Items table.,Imposta &quot;Magazzino di destinazione&quot; in ogni riga della tabella Articoli.,
Sets 'Source Warehouse' in each row of the Items table.,Imposta &quot;Magazzino di origine&quot; in ogni riga della tabella Articoli.,
POS Register,Registro POS,
"Can not filter based on POS Profile, if grouped by POS Profile","Impossibile filtrare in base al profilo POS, se raggruppato per profilo POS",
"Can not filter based on Customer, if grouped by Customer","Non è possibile filtrare in base al cliente, se raggruppato per cliente",
"Can not filter based on Cashier, if grouped by Cashier","Non è possibile filtrare in base alla Cassa, se raggruppata per Cassa",
Payment Method,Metodo di pagamento,
"Can not filter based on Payment Method, if grouped by Payment Method","Non è possibile filtrare in base al metodo di pagamento, se raggruppato per metodo di pagamento",
Supplier Quotation Comparison,Confronto delle offerte dei fornitori,
Price per Unit (Stock UOM),Prezzo per unità (Stock UM),
Group by Supplier,Gruppo per fornitore,
Group by Item,Raggruppa per articolo,
Remember to set {field_label}. It is required by {regulation}.,Ricordati di impostare {field_label}. È richiesto dal {regolamento}.,
Enrollment Date cannot be before the Start Date of the Academic Year {0},La data di iscrizione non può essere antecedente alla data di inizio dell&#39;anno accademico {0},
Enrollment Date cannot be after the End Date of the Academic Term {0},La data di iscrizione non può essere successiva alla data di fine del periodo accademico {0},
Enrollment Date cannot be before the Start Date of the Academic Term {0},La data di iscrizione non può essere precedente alla data di inizio del periodo accademico {0},
Future Posting Not Allowed,Pubblicazione futura non consentita,
"To enable Capital Work in Progress Accounting, ","Per abilitare la contabilità dei lavori in corso,",
you must select Capital Work in Progress Account in accounts table,è necessario selezionare Conto lavori in corso nella tabella dei conti,
You can also set default CWIP account in Company {},Puoi anche impostare un account CWIP predefinito in Azienda {},
The Request for Quotation can be accessed by clicking on the following button,È possibile accedere alla Richiesta di offerta facendo clic sul pulsante seguente,
Regards,Saluti,
Please click on the following button to set your new password,Fare clic sul pulsante seguente per impostare la nuova password,
Update Password,Aggiorna password,
Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Riga n. {}: La percentuale di vendita dell&#39;articolo {} è inferiore alla relativa {}. La vendita di {} dovrebbe essere almeno {},
You can alternatively disable selling price validation in {} to bypass this validation.,"In alternativa, puoi disabilitare la convalida del prezzo di vendita in {} per ignorare questa convalida.",
Invalid Selling Price,Prezzo di vendita non valido,
Address needs to be linked to a Company. Please add a row for Company in the Links table.,L&#39;indirizzo deve essere collegato a una società. Aggiungi una riga per Azienda nella tabella Collegamenti.,
Company Not Linked,Società non collegata,
Import Chart of Accounts from CSV / Excel files,Importa piano dei conti da file CSV / Excel,
Completed Qty cannot be greater than 'Qty to Manufacture',La quantità completata non può essere maggiore di &quot;Qtà da produrre&quot;,
"Row {0}: For Supplier {1}, Email Address is Required to send an email","Riga {0}: per il fornitore {1}, l&#39;indirizzo e-mail è richiesto per inviare un&#39;e-mail",
"If enabled, the system will post accounting entries for inventory automatically","Se abilitato, il sistema registrerà automaticamente le voci contabili per l&#39;inventario",
Accounts Frozen Till Date,Conti congelati fino alla data,
Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,Le registrazioni contabili sono congelate fino a questa data. Nessuno può creare o modificare voci tranne gli utenti con il ruolo specificato di seguito,
Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Ruolo consentito per impostare account bloccati e modificare voci bloccate,
Address used to determine Tax Category in transactions,Indirizzo utilizzato per determinare la categoria fiscale nelle transazioni,
"The percentage you are allowed to bill more against the amount ordered. For example, if the order value is $100 for an item and tolerance is set as 10%, then you are allowed to bill up to $110 ","La percentuale che puoi fatturare di più rispetto all&#39;importo ordinato. Ad esempio, se il valore dell&#39;ordine è $ 100 per un articolo e la tolleranza è impostata sul 10%, allora puoi fatturare fino a $ 110",
This role is allowed to submit transactions that exceed credit limits,Questo ruolo è autorizzato a inviare transazioni che superano i limiti di credito,
"If ""Months"" is selected, a fixed amount will be booked as deferred revenue or expense for each month irrespective of the number of days in a month. It will be prorated if deferred revenue or expense is not booked for an entire month","Se si seleziona &quot;Mesi&quot;, verrà registrato un importo fisso come spesa o ricavo differito per ogni mese indipendentemente dal numero di giorni in un mese. Verrà ripartito se le entrate o le spese differite non vengono registrate per un intero mese",
"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Se questa opzione è deselezionata, verranno create voci GL dirette per contabilizzare entrate o spese differite",
Show Inclusive Tax in Print,Mostra IVA inclusiva in stampa,
Only select this if you have set up the Cash Flow Mapper documents,Selezionalo solo se hai impostato i documenti Cash Flow Mapper,
Payment Channel,Canale di pagamento,
Is Purchase Order Required for Purchase Invoice & Receipt Creation?,È necessario un ordine di acquisto per la creazione di fatture di acquisto e ricevute?,
Is Purchase Receipt Required for Purchase Invoice Creation?,È richiesta la ricevuta di acquisto per la creazione della fattura di acquisto?,
Maintain Same Rate Throughout the Purchase Cycle,Mantieni la stessa tariffa per tutto il ciclo di acquisto,
Allow Item To Be Added Multiple Times in a Transaction,Consenti all&#39;elemento di essere aggiunto più volte in una transazione,
Suppliers,Fornitori,
Send Emails to Suppliers,Invia email ai fornitori,
Select a Supplier,Seleziona un fornitore,
Cannot mark attendance for future dates.,Impossibile contrassegnare la partecipazione per date future.,
Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Vuoi aggiornare le presenze?<br> Presente: {0}<br> Assente: {1},
Mpesa Settings,Impostazioni Mpesa,
Initiator Name,Nome iniziatore,
Till Number,Fino al numero,
Sandbox,Sandbox,
 Online PassKey,PassKey in linea,
Security Credential,Credenziali di sicurezza,
Get Account Balance,Ottieni il saldo del conto,
Please set the initiator name and the security credential,Imposta il nome dell&#39;iniziatore e le credenziali di sicurezza,
Inpatient Medication Entry,Ingresso per farmaci ospedalieri,
HLC-IME-.YYYY.-,HLC-IME-.YYYY.-,
Item Code (Drug),Codice articolo (farmaco),
Medication Orders,Ordini di farmaci,
Get Pending Medication Orders,Ottieni ordini di farmaci in sospeso,
Inpatient Medication Orders,Ordini di farmaci ospedalieri,
Medication Warehouse,Magazzino dei farmaci,
Warehouse from where medication stock should be consumed,Magazzino da cui consumare le scorte di farmaci,
Fetching Pending Medication Orders,Recupero di ordini di farmaci in sospeso,
Inpatient Medication Entry Detail,Dettagli immissione farmaci ospedalieri,
Medication Details,Dettagli sui farmaci,
Drug Code,Codice dei farmaci,
Drug Name,Nome del farmaco,
Against Inpatient Medication Order,Contro l&#39;ordinanza di farmaci ospedalieri,
Against Inpatient Medication Order Entry,Contro l&#39;entrata dell&#39;ordine di farmaci ospedalieri,
Inpatient Medication Order,Ordine di farmaci ospedalieri,
HLC-IMO-.YYYY.-,HLC-IMO-.YYYY.-,
Total Orders,Ordini totali,
Completed Orders,Ordini completati,
Add Medication Orders,Aggiungi ordini di farmaci,
Adding Order Entries,Aggiunta di voci di ordine,
{0} medication orders completed,{0} ordini di farmaci completati,
{0} medication order completed,{0} ordine del farmaco completato,
Inpatient Medication Order Entry,Inserimento ordine di farmaci ospedalieri,
Is Order Completed,L&#39;ordine è stato completato,
Employee Records to Be Created By,Documenti dei dipendenti da creare,
Employee records are created using the selected field,I record dei dipendenti vengono creati utilizzando il campo selezionato,
Don't send employee birthday reminders,Non inviare promemoria di compleanno dei dipendenti,
Restrict Backdated Leave Applications,Limita le domande di uscita retrodatate,
Sequence ID,ID sequenza,
Sequence Id,ID sequenza,
Allow multiple material consumptions against a Work Order,Consenti più consumi di materiale rispetto a un ordine di lavoro,
Plan time logs outside Workstation working hours,Pianifica i registri orari al di fuori dell&#39;orario di lavoro della workstation,
Plan operations X days in advance,Pianifica le operazioni con X giorni di anticipo,
Time Between Operations (Mins),Tempo tra le operazioni (minuti),
Default: 10 mins,Predefinito: 10 min,
Overproduction for Sales and Work Order,Sovrapproduzione per vendita e ordine di lavoro,
"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","Aggiorna automaticamente il costo della distinta base tramite il pianificatore, in base all&#39;ultimo tasso di valutazione / tasso di listino / ultimo tasso di acquisto delle materie prime",
Purchase Order already created for all Sales Order items,Ordine di acquisto già creato per tutti gli articoli dell&#39;ordine di vendita,
Select Items,Seleziona elementi,
Against Default Supplier,Contro il fornitore predefinito,
Auto close Opportunity after the no. of days mentioned above,Opportunità di chiusura automatica dopo il n. dei giorni sopra menzionati,
Is Sales Order Required for Sales Invoice & Delivery Note Creation?,L&#39;ordine di vendita è necessario per la creazione di fatture di vendita e bolle di consegna?,
Is Delivery Note Required for Sales Invoice Creation?,La bolla di consegna è necessaria per la creazione della fattura di vendita?,
How often should Project and Company be updated based on Sales Transactions?,Con che frequenza è necessario aggiornare il progetto e la società in base alle transazioni di vendita?,
Allow User to Edit Price List Rate in Transactions,Consenti all&#39;utente di modificare il tasso di listino nelle transazioni,
Allow Item to Be Added Multiple Times in a Transaction,Consenti all&#39;elemento di essere aggiunto più volte in una transazione,
Allow Multiple Sales Orders Against a Customer's Purchase Order,Consenti più ordini di vendita a fronte di un ordine di acquisto del cliente,
Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Convalida del prezzo di vendita dell&#39;articolo rispetto al tasso di acquisto o al tasso di valutazione,
Hide Customer's Tax ID from Sales Transactions,Nascondi l&#39;ID fiscale del cliente dalle transazioni di vendita,
"The percentage you are allowed to receive or deliver more against the quantity ordered. For example, if you have ordered 100 units, and your Allowance is 10%, then you are allowed to receive 110 units.","La percentuale che ti è consentito ricevere o consegnare di più rispetto alla quantità ordinata. Ad esempio, se hai ordinato 100 unità e la tua indennità è del 10%, allora puoi ricevere 110 unità.",
Action If Quality Inspection Is Not Submitted,Azione se l&#39;ispezione di qualità non viene inviata,
Auto Insert Price List Rate If Missing,Inserimento automatico del tasso di listino se mancante,
Automatically Set Serial Nos Based on FIFO,Imposta automaticamente i numeri di serie in base a FIFO,
Set Qty in Transactions Based on Serial No Input,Imposta la quantità nelle transazioni in base al numero di serie non immesso,
Raise Material Request When Stock Reaches Re-order Level,Aumenta la richiesta di materiale quando lo stock raggiunge il livello di riordino,
Notify by Email on Creation of Automatic Material Request,Notifica tramite e-mail alla creazione di una richiesta di materiale automatica,
Allow Material Transfer from Delivery Note to Sales Invoice,Consenti trasferimento materiale dalla nota di consegna alla fattura di vendita,
Allow Material Transfer from Purchase Receipt to Purchase Invoice,Consenti trasferimento materiale dalla ricevuta d&#39;acquisto alla fattura d&#39;acquisto,
Freeze Stocks Older Than (Days),Blocca scorte più vecchie di (giorni),
Role Allowed to Edit Frozen Stock,Ruolo consentito per modificare stock congelati,
The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,L&#39;importo non allocato della voce di pagamento {0} è maggiore dell&#39;importo non allocato della transazione bancaria,
Payment Received,Pagamento ricevuto,
Attendance cannot be marked outside of Academic Year {0},La frequenza non può essere contrassegnata al di fuori dell&#39;anno accademico {0},
Student is already enrolled via Course Enrollment {0},Lo studente è già iscritto tramite l&#39;iscrizione al corso {0},
Attendance cannot be marked for future dates.,La partecipazione non può essere contrassegnata per date future.,
Please add programs to enable admission application.,Si prega di aggiungere programmi per abilitare la domanda di ammissione.,
The following employees are currently still reporting to {0}:,I seguenti dipendenti attualmente stanno ancora segnalando a {0}:,
Please make sure the employees above report to another Active employee.,Assicurati che i dipendenti di cui sopra riferiscano a un altro dipendente attivo.,
Cannot Relieve Employee,Non posso alleviare il dipendente,
Please enter {0},Inserisci {0},
Please select another payment method. Mpesa does not support transactions in currency '{0}',Seleziona un altro metodo di pagamento. Mpesa non supporta le transazioni nella valuta &quot;{0}&quot;,
Transaction Error,Errore di transazione,
Mpesa Express Transaction Error,Errore di transazione Mpesa Express,
"Issue detected with Mpesa configuration, check the error logs for more details","Problema rilevato con la configurazione di Mpesa, controlla i log degli errori per maggiori dettagli",
Mpesa Express Error,Errore di Mpesa Express,
Account Balance Processing Error,Errore di elaborazione del saldo del conto,
Please check your configuration and try again,Controlla la configurazione e riprova,
Mpesa Account Balance Processing Error,Errore di elaborazione del saldo del conto Mpesa,
Balance Details,Dettagli del saldo,
Current Balance,Bilancio corrente,
Available Balance,saldo disponibile,
Reserved Balance,Saldo riservato,
Uncleared Balance,Equilibrio non chiarito,
Payment related to {0} is not completed,Il pagamento relativo a {0} non è stato completato,
Row #{}: Item Code: {} is not available under warehouse {}.,Riga n. {}: Codice articolo: {} non è disponibile in magazzino {}.,
Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Riga n. {}: Quantità di stock non sufficiente per il codice articolo: {} in magazzino {}. Quantità disponibile {}.,
Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Riga # {}: selezionare un numero di serie e un batch rispetto all&#39;articolo: {} o rimuoverlo per completare la transazione.,
Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,Riga # {}: nessun numero di serie selezionato per l&#39;articolo: {}. Seleziona uno o rimuovilo per completare la transazione.,
Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,Riga n. {}: Nessun batch selezionato per l&#39;elemento: {}. Seleziona un batch o rimuovilo per completare la transazione.,
Payment amount cannot be less than or equal to 0,L&#39;importo del pagamento non può essere inferiore o uguale a 0,
Please enter the phone number first,Si prega di inserire prima il numero di telefono,
Row #{}: {} {} does not exist.,Riga # {}: {} {} non esiste.,
Row #{0}: {1} is required to create the Opening {2} Invoices,Riga n. {0}: {1} è richiesta per creare le {2} fatture di apertura,
You had {} errors while creating opening invoices. Check {} for more details,Hai avuto {} errori durante la creazione delle fatture di apertura. Controlla {} per maggiori dettagli,
Error Occured,C&#39;è stato un&#39;errore,
Opening Invoice Creation In Progress,Creazione fattura di apertura in corso,
Creating {} out of {} {},Creazione di {} su {} {},
(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,(Numero di serie: {0}) non può essere utilizzato poiché è riservato per completare l&#39;ordine di vendita {1}.,
Item {0} {1},Articolo {0} {1},
Last Stock Transaction for item {0} under warehouse {1} was on {2}.,L&#39;ultima transazione di magazzino per l&#39;articolo {0} in magazzino {1} è stata in data {2}.,
Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Le transazioni di magazzino per l&#39;articolo {0} in magazzino {1} non possono essere registrate prima di questo orario.,
Posting future stock transactions are not allowed due to Immutable Ledger,La registrazione di transazioni di stock future non è consentita a causa di Immutable Ledger,
A BOM with name {0} already exists for item {1}.,Esiste già una distinta base con il nome {0} per l&#39;articolo {1}.,
{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Hai rinominato l&#39;elemento? Si prega di contattare l&#39;amministratore / supporto tecnico,
At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},Alla riga # {0}: l&#39;ID sequenza {1} non può essere inferiore all&#39;ID sequenza di righe precedente {2},
The {0} ({1}) must be equal to {2} ({3}),{0} ({1}) deve essere uguale a {2} ({3}),
"{0}, complete the operation {1} before the operation {2}.","{0}, completa l&#39;operazione {1} prima dell&#39;operazione {2}.",
Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,Non è possibile garantire la consegna tramite numero di serie poiché l&#39;articolo {0} viene aggiunto con e senza garantire la consegna tramite numero di serie,
Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,L&#39;articolo {0} non ha un numero di serie. Solo gli articoli con numero di serie possono avere la consegna basata sul numero di serie,
No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Nessuna distinta base attiva trovata per l&#39;articolo {0}. La consegna tramite numero di serie non può essere garantita,
No pending medication orders found for selected criteria,Nessun ordine di farmaci in sospeso trovato per i criteri selezionati,
From Date cannot be after the current date.,Dalla data non può essere successiva alla data corrente.,
To Date cannot be after the current date.,Alla data non può essere successiva alla data corrente.,
From Time cannot be after the current time.,Dall&#39;ora non può essere successivo all&#39;ora corrente.,
To Time cannot be after the current time.,L&#39;ora non può essere successiva all&#39;ora corrente.,
Stock Entry {0} created and ,Stock Entry {0} creato e,
Inpatient Medication Orders updated successfully,Ordini di farmaci ospedalieri aggiornati correttamente,
Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Riga {0}: impossibile creare una voce di farmaco ospedaliero a fronte di un ordine di farmaci ospedalieri annullato {1},
Row {0}: This Medication Order is already marked as completed,Riga {0}: questo ordine di farmaci è già contrassegnato come completato,
Quantity not available for {0} in warehouse {1},Quantità non disponibile per {0} in magazzino {1},
Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Abilita Consenti stock negativo in Impostazioni scorte o crea immissione scorte per procedere.,
No Inpatient Record found against patient {0},Nessun record di degenza trovato per il paziente {0},
An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Esiste già un ordine per farmaci ospedalieri {0} contro l&#39;incontro con il paziente {1}.,
Allow In Returns,Consenti resi,
Hide Unavailable Items,Nascondi elementi non disponibili,
Apply Discount on Discounted Rate,Applica lo sconto sulla tariffa scontata,
Therapy Plan Template,Modello di piano terapeutico,
Fetching Template Details,Recupero dei dettagli del modello,
Linked Item Details,Dettagli articolo collegato,
Therapy Types,Tipi di terapia,
Therapy Plan Template Detail,Dettaglio del modello del piano terapeutico,
Non Conformance,Non conformità,
Process Owner,Proprietario del processo,
Corrective Action,Azione correttiva,
Preventive Action,Azione preventiva,
Problem,Problema,
Responsible,Responsabile,
Completion By,Completamento da,
Process Owner Full Name,Nome completo del proprietario del processo,
Right Index,Indice destro,
Left Index,Indice sinistro,
Sub Procedure,Procedura secondaria,
Passed,Passato,
Print Receipt,Stampa ricevuta,
Edit Receipt,Modifica ricevuta,
Focus on search input,Concentrati sull&#39;input di ricerca,
Focus on Item Group filter,Focus sul filtro Gruppo di articoli,
Checkout Order / Submit Order / New Order,Ordine di pagamento / Invia ordine / Nuovo ordine,
Add Order Discount,Aggiungi sconto ordine,
Item Code: {0} is not available under warehouse {1}.,Codice articolo: {0} non è disponibile in magazzino {1}.,
Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Numeri di serie non disponibili per l&#39;articolo {0} in magazzino {1}. Prova a cambiare magazzino.,
Fetched only {0} available serial numbers.,Sono stati recuperati solo {0} numeri di serie disponibili.,
Switch Between Payment Modes,Passa da una modalità di pagamento all&#39;altra,
Enter {0} amount.,Inserisci {0} importo.,
You don't have enough points to redeem.,Non hai abbastanza punti da riscattare.,
You can redeem upto {0}.,Puoi riscattare fino a {0}.,
Enter amount to be redeemed.,Inserisci l&#39;importo da riscattare.,
You cannot redeem more than {0}.,Non puoi riscattare più di {0}.,
Open Form View,Apri la visualizzazione modulo,
POS invoice {0} created succesfully,Fattura POS {0} creata con successo,
Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Quantità in stock non sufficiente per Codice articolo: {0} in magazzino {1}. Quantità disponibile {2}.,
Serial No: {0} has already been transacted into another POS Invoice.,Numero di serie: {0} è già stato trasferito in un&#39;altra fattura POS.,
Balance Serial No,Numero di serie della bilancia,
Warehouse: {0} does not belong to {1},Magazzino: {0} non appartiene a {1},
Please select batches for batched item {0},Seleziona batch per articolo in batch {0},
Please select quantity on row {0},Seleziona la quantità nella riga {0},
Please enter serial numbers for serialized item {0},Inserisci i numeri di serie per l&#39;articolo con numero di serie {0},
Batch {0} already selected.,Batch {0} già selezionato.,
Please select a warehouse to get available quantities,Seleziona un magazzino per ottenere le quantità disponibili,
"For transfer from source, selected quantity cannot be greater than available quantity","Per il trasferimento dall&#39;origine, la quantità selezionata non può essere maggiore della quantità disponibile",
Cannot find Item with this Barcode,Impossibile trovare l&#39;articolo con questo codice a barre,
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} è obbligatorio. Forse il record di cambio valuta non è stato creato da {1} a {2},
{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} ha inviato risorse ad esso collegate. È necessario annullare le risorse per creare un reso di acquisto.,
Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Impossibile annullare questo documento poiché è collegato alla risorsa inviata {0}. Annullalo per continuare.,
Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Riga # {}: il numero di serie {} è già stato trasferito in un&#39;altra fattura POS. Selezionare un numero di serie valido,
Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Riga n. {}: I numeri di serie {} sono già stati trasferiti in un&#39;altra fattura POS. Selezionare un numero di serie valido,
Item Unavailable,Articolo non disponibile,
Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Riga n. {}: Il numero di serie {} non può essere restituito poiché non è stato oggetto di transazione nella fattura originale {},
Please set default Cash or Bank account in Mode of Payment {},Imposta il conto corrente o il conto bancario predefinito in Modalità di pagamento {},
Please set default Cash or Bank account in Mode of Payments {},Imposta il conto corrente o il conto bancario predefinito in Modalità di pagamento {},
Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Assicurati che il conto {} sia un conto di bilancio. È possibile modificare il conto principale in un conto di bilancio o selezionare un conto diverso.,
Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Assicurati che il conto {} sia un conto pagabile. Cambia il tipo di conto in Pagabile o seleziona un conto diverso.,
Row {}: Expense Head changed to {} ,Riga {}: Intestazione spese modificata in {},
because account {} is not linked to warehouse {} ,perché l&#39;account {} non è collegato al magazzino {},
or it is not the default inventory account,oppure non è l&#39;account inventario predefinito,
Expense Head Changed,Testa di spesa modificata,
because expense is booked against this account in Purchase Receipt {},perché la spesa è registrata a fronte di questo account nella ricevuta di acquisto {},
as no Purchase Receipt is created against Item {}. ,poiché non viene creata alcuna ricevuta di acquisto per l&#39;articolo {}.,
This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Questa operazione viene eseguita per gestire la contabilità dei casi quando la ricevuta di acquisto viene creata dopo la fattura di acquisto,
Purchase Order Required for item {},Ordine di acquisto richiesto per l&#39;articolo {},
To submit the invoice without purchase order please set {} ,"Per inviare la fattura senza ordine di acquisto, impostare {}",
as {} in {},come in {},
Mandatory Purchase Order,Ordine di acquisto obbligatorio,
Purchase Receipt Required for item {},Ricevuta di acquisto richiesta per articolo {},
To submit the invoice without purchase receipt please set {} ,"Per inviare la fattura senza ricevuta di acquisto, impostare {}",
Mandatory Purchase Receipt,Ricevuta d&#39;acquisto obbligatoria,
POS Profile {} does not belongs to company {},Il profilo POS {} non appartiene all&#39;azienda {},
User {} is disabled. Please select valid user/cashier,L&#39;utente {} è disabilitato. Seleziona un utente / cassiere valido,
Row #{}: Original Invoice {} of return invoice {} is {}. ,Riga n. {}: La fattura originale {} della fattura di reso {} è {}.,
Original invoice should be consolidated before or along with the return invoice.,La fattura originale deve essere consolidata prima o insieme alla fattura di reso.,
You can add original invoice {} manually to proceed.,Puoi aggiungere manualmente la fattura originale {} per procedere.,
Please ensure {} account is a Balance Sheet account. ,Assicurati che il conto {} sia un conto di bilancio.,
You can change the parent account to a Balance Sheet account or select a different account.,È possibile modificare il conto principale in un conto di bilancio o selezionare un conto diverso.,
Please ensure {} account is a Receivable account. ,Assicurati che il conto {} sia un conto clienti.,
Change the account type to Receivable or select a different account.,Modificare il tipo di conto in Crediti o selezionare un conto diverso.,
{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} non può essere annullato poiché i punti fedeltà guadagnati sono stati riscattati. Per prima cosa annulla il {} No {},
already exists,esiste già,
POS Closing Entry {} against {} between selected period,Voce di chiusura POS {} contro {} tra il periodo selezionato,
POS Invoice is {},La fattura POS è {},
POS Profile doesn't matches {},Il profilo POS non corrisponde a {},
POS Invoice is not {},La fattura POS non è {},
POS Invoice isn't created by user {},La fattura POS non è stata creata dall&#39;utente {},
Row #{}: {},Riga n. {}: {},
Invalid POS Invoices,Fatture POS non valide,
Please add the account to root level Company - {},Aggiungi l&#39;account all&#39;Azienda di livello root - {},
"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Durante la creazione dell&#39;account per l&#39;azienda figlia {0}, account genitore {1} non trovato. Si prega di creare l&#39;account genitore nel corrispondente COA",
Account Not Found,Account non trovato,
"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Durante la creazione dell&#39;account per la società figlia {0}, l&#39;account principale {1} è stato trovato come conto contabile.",
Please convert the parent account in corresponding child company to a group account.,Converti l&#39;account genitore nella corrispondente azienda figlia in un account di gruppo.,
Invalid Parent Account,Account genitore non valido,
"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Rinominarlo è consentito solo tramite la società madre {0}, per evitare mancate corrispondenze.",
"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Se si {0} {1} la quantità dell&#39;articolo {2}, lo schema {3} verrà applicato all&#39;articolo.",
"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Se {0} {1} vali un articolo {2}, lo schema {3} verrà applicato all&#39;elemento.",
"As the field {0} is enabled, the field {1} is mandatory.","Poiché il campo {0} è abilitato, il campo {1} è obbligatorio.",
"As the field {0} is enabled, the value of the field {1} should be more than 1.","Poiché il campo {0} è abilitato, il valore del campo {1} dovrebbe essere maggiore di 1.",
Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Impossibile consegnare il numero di serie {0} dell&#39;articolo {1} poiché è riservato per completare l&#39;ordine di vendita {2},
"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","L&#39;ordine di vendita {0} ha una prenotazione per l&#39;articolo {1}, puoi solo consegnare prenotato {1} contro {0}.",
{0} Serial No {1} cannot be delivered,{0} Numero di serie {1} non può essere consegnato,
Row {0}: Subcontracted Item is mandatory for the raw material {1},Riga {0}: l&#39;articolo in conto lavoro è obbligatorio per la materia prima {1},
"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Poiché sono disponibili materie prime sufficienti, la richiesta di materiale non è richiesta per il magazzino {0}.",
" If you still want to proceed, please enable {0}.","Se desideri comunque procedere, abilita {0}.",
The item referenced by {0} - {1} is already invoiced,L&#39;articolo a cui fa riferimento {0} - {1} è già fatturato,
Therapy Session overlaps with {0},La sessione di terapia si sovrappone a {0},
Therapy Sessions Overlapping,Sessioni di terapia sovrapposte,
Therapy Plans,Piani terapeutici,
"Item Code, warehouse, quantity are required on row {0}","Codice articolo, magazzino e quantità sono obbligatori nella riga {0}",
Get Items from Material Requests against this Supplier,Ottieni articoli da richieste di materiale contro questo fornitore,
Enable European Access,Consentire l&#39;accesso europeo,
Creating Purchase Order ...,Creazione dell&#39;ordine di acquisto ...,
"Select a Supplier from the Default Suppliers of the items below. On selection, a Purchase Order will be made against items belonging to the selected Supplier only.","Seleziona un fornitore dai fornitori predefiniti degli articoli seguenti. Alla selezione, verrà effettuato un Ordine di acquisto solo per gli articoli appartenenti al Fornitore selezionato.",
Row #{}: You must select {} serial numbers for item {}.,Riga # {}: è necessario selezionare i {} numeri di serie per l&#39;articolo {}.,
Add Comment,Aggiungi un commento,
More...,Di Più...,
Notes,Note,
Payment Gateway,Gateway di pagamento,
Payment Gateway Name,Nome gateway di pagamento,
Payments,pagamenti,
Plan Name,Nome piano,
Portal,Portale,
Scan Barcode,Scansione Barcode,
Some information is missing,Alcune informazioni manca,
Successful,Riuscito,
Tools,Strumenti,
Use Sandbox,Usa Sandbox,
Busy,Occupato,
Completed By,Completato da,
Payment Failed,Pagamento fallito,
Column {0},Colonna {0},
Field Mapping,Mappatura dei campi,
Not Specified,Non specificato,
Update Type,Tipo di aggiornamento,
Dr,Dr,
End Time,Ora fine,
Fetching...,Recupero ...,
"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.",
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.,
Master,Maestro,
Pay,Paga,
You can also copy-paste this link in your browser,È possibile anche copiare e incollare questo link nel tuo browser,
Verified By,Verificato da,
Invalid naming series (. missing) for {0},Serie di denominazione non valida (. Mancante) per {0},
Phone Number,Numero di telefono,
Account SID,Account SID,
Global Defaults,Predefiniti Globali,
Is Mandatory,È obbligatorio,
WhatsApp,WhatsApp,
Make a call,Effettuare una chiamata,
Approve,Approva,
Reject,Rifiutare,
