apidesk API v3 - Documentazione tecnica
apidesk è un Hub di servizi, tra i quali la spedizione e la ricezione delle fatture elettroniche a/da privati e pubblica amministrazione.
Autenticazione e Login
Ogni account abilitato all'utilizzo delle API dispone di una Bridge key e di una password.
Tutte le chiamate devono includere un Basic authentication header generato da tali credenziali, ad esempio con:
Bridge Key: test_12345678901234567890
Password: 123456
L'header da inviare sarà:
Authorization: Basic dGVzdF8xMjM0NTY3ODkwMTIzNDU2Nzg5MDoxMjM0NTY=
Tutte gli endpoint rispondono con un opportuno stato HTTP ed un JSON nella forma:
{
"result": mixed, // risultato della richiesta
"code": int // codice del risultato
}
In caso di successo lo status HTTP sarà 200e il valore della sezione code sarà 0
Corrispettivi elettronici
Tutte le richieste ai metodi dei corrispettivi dovranno essere inviate come multipart/form-data seguendo i metodi http indicati e i relativi dati da fornire.
Recupero configurazione
Recupera la configurazione corrente per il servizio Corrispettivi. Non è necessario passare nessun dato.
GET https://www.uniwix.com/api/Corrispettivo/Configurazione
Risposta di successo:
{
"result": {
"fisconline_tipoutenza": "1",
"fisconline_user": "username_fisconline",
"fisconline_pass": "password_fisconline",
"fisconline_pincode": "pincode_fisconline",
"fisconline_utenza1": "01234567890",
"updated_at": "2023-10-22 10:30:00"
},
"code": 1
}
Crea configurazione
POST https://www.uniwix.com/api/Corrispettivo/Configurazione
Crea la configurazione per il servizio Corrispettivi.
Parametri:
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
fisconline_tipoutenza |
string | Si | Tipo di utenza Fisconline (0=Incaricato, 1=Me Stesso). Default: 1. |
fisconline_user |
string | Si | Username dell'utente Fisconline. |
fisconline_pass |
string | Si | Password dell'utente Fisconline. |
fisconline_pincode |
string | Si | Pincode dell'utente Fisconline. |
fisconline_utenza1 |
string | Si | Partita IVA del soggetto emittente. |
fisconline_email |
string | Si | Email del soggetto emittente. |
fisconline_azienda |
string | Si | Azienda del soggetto emittente. |
ATTENZIONE: email ed azienda dopo la creazione non possono essere più modificate.
Esempio di richiesta:
"fisconline_tipoutenza": "1"
"fisconline_user": "mio_user"
"fisconline_pass": "mia_password"
"fisconline_pincode": "1234567890"
"fisconline_utenza1": "01234567890"
"fisconline_email": "azienda@azienda.it"
"fisconline_azienda": "Azienda S.R.L."
Risposta: Restituisce la configurazione aggiornata, come per GET Configurazione.
Modifica configurazione
PATCH https://www.uniwix.com/api/Corrispettivo/Configurazione
Aggiorna la configurazione per il servizio Corrispettivi.
Parametri:
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
fisconline_tipoutenza |
string | Si | Tipo di utenza Fisconline (0=Incaricato, 1=Me Stesso). Default: 1. |
fisconline_user |
string | Si | Username dell'utente Fisconline. |
fisconline_pass |
string | Si | Password dell'utente Fisconline. |
fisconline_pincode |
string | Si | Pincode dell'utente Fisconline. |
fisconline_utenza1 |
string | Si | Partita IVA del soggetto emittente. |
Esempio di richiesta:
"fisconline_tipoutenza": "1"
"fisconline_user": "mio_user"
"fisconline_pass": "mia_password"
"fisconline_pincode": "1234567890"
"fisconline_utenza1": "01234567890"
Risposta: Restituisce la configurazione aggiornata, come per GET Configurazione.
Chiamate Corrispettivi
Qui di seguito trovate le tre chiamate per i corrispettivi elettronici:
Invio corrispettivo
Invia un nuovo corrispettivo elettronico al sistema dell'Agenzia delle Entrate.
POST https://www.uniwix.com/api/Corrispettivo/invio
Parametri:
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
tipo_pagamento |
string | No | Tipo di pagamento. Valori: contante, elettronico, mixed. Default: contante. |
articoli |
array | Sì | Elenco degli articoli del corrispettivo. |
sconto_abbuono |
number | No | Importo totale dello sconto o abbuono applicato al documento. |
Parametri per ogni articolo (array articoli):
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
quantita |
number | No | Quantità del prodotto. Default: 1. |
descrizione |
string | No | Descrizione del prodotto. Default: Articolo. |
prezzo_lordo |
number | No | Prezzo unitario del prodotto (IVA inclusa). |
aliquota_iva |
number | No | Aliquota IVA in percentuale. Default: 22. |
sconto_lordo |
number | No | Sconto applicato per singola unità. |
sku |
number | No | Codice dell'articolo. |
Se il prezzo è 0, verrà dichiarato automaticamente come complemetary (free)
Parametri per pagamento mixed (almeno uno deve essere inviato):
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
contanti |
number | No | Importo pagato in contanti. Default: 0. |
elettronico |
number | No | Importo pagato elettronicamente. Default: 0. |
ticket_restaurant |
number | No | Importo pagato con il ticket restaurant (Il valore non si intende per il valore singolo, ma per l'importo complessivo). Default: 0. |
ticket_restaurant_qta |
number | No | Numero di buoni pasto utilizzati. Default: 0. |
Esempio di richiesta:
tipo_pagamento: mixed
mixed[ticket_restaurant_qta]: 4
mixed[ticket_restaurant]: 20
mixed[elettronico]: 25
articoli[0][quantita]: 2
articoli[0][descrizione]: Prodotto A
articoli[0][prezzo_lordo]: 10.00
articoli[0][aliquota_iva]: 22
articoli[0][sconto_lordo]: 0
articoli[1][quantita]: 1
articoli[1][descrizione]: Prodotto B
articoli[1][prezzo_lordo]: 25.00
articoli[1][aliquota_iva]: 22
articoli[1][sconto_lordo]: 0
sconto_abbuono: 0
Risposta di successo:
{
"result": {
"data": {
"fiscal_id": "07686800967",
"items": [
{
"quantity": 1,
"description": "Articolo",
"unit_price": "0.05",
"vat_rate_code": "22",
"complimentary": false,
"discount": 0,
"sku": ""
}
],
"cash_payment_amount": 0.05,
"id": "6955131543dab3e45c020072",
"invoice_issuing": false,
"services_uncollected_amount": 0,
"goods_uncollected_amount": 0,
"electronic_payment_amount": 0,
"ticket_restaurant_payment_amount": 0,
"ticket_restaurant_quantity": 0,
"discount": 0,
"linked_receipt": null,
"lottery_code": null,
"created_at": "2025-12-31T12:12:05.000Z",
"error_message": null,
"error_code": null,
"total_amount": 0.05,
"document_number": "",
"document_date": null,
"transaction_id": null,
"create_timestamp": 1767183124,
"status": "new",
"total_discount": 0,
"total_gross_discount": 0,
"total_taxable_amount": 0,
"total_uncollected_amount": 0,
"total_vat_amount": 0,
"deductible_amount": 0,
"type": "sale",
"tags": null
},
"success": true,
"message": "6955131543dab3e45c020072",
"error": null
},
"code": 0
}
Annulla corrispettivo
Annulla un corrispettivo elettronico precedentemente inviato.
POST https://www.uniwix.com/api/Corrispettivo/annullo
Parametri:
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
progressivoSdi |
string | Sì | Progressivo del documento commerciale da annullare. |
Esempio di richiesta:
"progressivoSdi": "12345"
Risposta di successo:
{
"result": {
"data": {
"fiscal_id": "0123456789",
"items": [
{
"quantity": 2,
"description": "Articolo",
"unit_price": 0.02459016,
"vat_rate_code": "22",
"complimentary": false,
"discount": 0,
"sku": "",
"gross_discount": 0,
"gross_price": 0.03,
"id": "150253",
"return": 0,
"taxable_amount": 0.04918033,
"net_taxable_amount": 0.04918033,
"vat_amount": 0.01081967,
"unit_discount": 0,
"total_amount": 0.06
}
],
"cash_payment_amount": 0.06,
"id": "6942bb57b3948e43dc0af0a3",
"invoice_issuing": false,
"services_uncollected_amount": 0,
"goods_uncollected_amount": 0,
"electronic_payment_amount": 0,
"ticket_restaurant_payment_amount": 0,
"ticket_restaurant_quantity": 0,
"discount": 0,
"linked_receipt": null,
"lottery_code": null,
"created_at": "2025-12-17T14:16:55.000Z",
"error_message": null,
"error_code": null,
"total_amount": 0.06,
"document_number": "",
"document_date": null,
"transaction_id": null,
"create_timestamp": 1765981014,
"parent_receipt_id": "69403b46d7c965052f0e1c63",
"status": "new",
"total_discount": 0,
"total_gross_discount": 0,
"total_taxable_amount": 0,
"total_uncollected_amount": 0,
"total_vat_amount": 0,
"deductible_amount": 0,
"type": "void",
"tags": null
},
"message": "voided receipt:69403b46d7c965052f0e1c63",
"success": true,
"error": null
},
"code": 0
}
Lista corrispettivo
Recupera la lista dei corrispettivi elettronici dal cassetto fiscale o dal gestionale.
POST https://www.uniwix.com/api/Corrispettivo/lista
Parametri:
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
dataDal |
string | No | Data di inizio ricerca (formato: YYYY-MM-DD). Default: giorno corrente. |
dataAl |
string | No | Data di fine ricerca (formato: YYYY-MM-DD). Default: giorno corrente. |
Esempio di richiesta:
"dataDal": "2023-10-01",
"dataAl": "2023-10-31",
Risposta di successo:
{
"result": [
{
"fiscal_id": "0123456789",
"items": [
{
"quantity": "2",
"description": "Articolo",
"unit_price": "0.03",
"vat_rate_code": "22",
"complimentary": false,
"discount": 0,
"sku": ""
}
],
"cash_payment_amount": 0.06,
"id": "69403b5e81a1abbf2e085e73",
"invoice_issuing": false,
"services_uncollected_amount": 0,
"goods_uncollected_amount": 0,
"electronic_payment_amount": 0,
"ticket_restaurant_payment_amount": 0,
"ticket_restaurant_quantity": 0,
"discount": 0,
"linked_receipt": null,
"lottery_code": null,
"created_at": "2025-12-15T16:46:21.000Z",
"error_message": null,
"error_code": null,
"total_amount": 0.06,
"document_number": "",
"document_date": null,
"transaction_id": null,
"create_timestamp": 1765817181,
"status": "new",
"total_discount": 0,
"total_gross_discount": 0,
"total_taxable_amount": 0,
"total_uncollected_amount": 0,
"total_vat_amount": 0,
"deductible_amount": 0,
"type": "sale",
"tags": null
},
{
"fiscal_id": "0123456789",
"items": [
{
"quantity": 2,
"description": "Articolo",
"unit_price": 0.02459016,
"vat_rate_code": "22",
"complimentary": false,
"discount": 0,
"sku": "",
"gross_discount": 0,
"gross_price": 0.03,
"id": "150253",
"return": 0,
"taxable_amount": 0.04918033,
"net_taxable_amount": 0.04918033,
"vat_amount": 0.01081967,
"unit_discount": 0,
"total_amount": 0.06
}
],
"cash_payment_amount": 0.06,
"id": "6942bb57b3948e43dc0af0a3", //Il nuovo id univoco dell'annullo viene inserito qui
"invoice_issuing": false,
"services_uncollected_amount": 0,
"goods_uncollected_amount": 0,
"electronic_payment_amount": 0,
"ticket_restaurant_payment_amount": 0,
"ticket_restaurant_quantity": 0,
"discount": 0,
"linked_receipt": null,
"lottery_code": null,
"created_at": "2025-12-17T14:16:55.000Z",
"error_message": null,
"error_code": null,
"total_amount": 0.06,
"document_number": "",
"document_date": null,
"transaction_id": null,
"create_timestamp": 1765981014,
"parent_receipt_id": "69403b46d7c965052f0e1c63", //In caso di annullo, il precedente id univoco del documento viene inserito qui
"status": "new",
"total_discount": 0,
"total_gross_discount": 0,
"total_taxable_amount": 0,
"total_uncollected_amount": 0,
"total_vat_amount": 0,
"deductible_amount": 0,
"type": "void",
"tags": null
},
........
],
"code": 0
}
Note Importanti
- Autenticazione: Tutte le chiamate ai corrispettivi utilizzano le credenziali configurate tramite Configurazione_POST.
- Formato Date: Le date nei parametri devono essere nel formato YYYY-MM-DD. La data del documento (dataDoc) viene generata automaticamente in formato yyyy-MM-ddTHH:mm:ss.
- Limiti di Ricerca: Per la chiamata Corrispettivo_lista, l'intervallo tra dataDal e dataAl non può superare i 31 giorni.
- Codici di Esito: Nelle risposte, esito: 0 indica sempre un'operazione andata a buon fine. Qualsiasi altro valore indica un errore.
Fatture elettroniche
Invio fattura XML
L'endpoint da chiamare per inviare una fattura XML all'SdI è:
POST https://www.uniwix.com/api/Uniwix/Invoices/Upload
Il nome del file XML da inviare deve avere il formato:
IT PIVA _ PROGRESSIVO .xml
dove:
PIVAè la partita iva del prestatore, di 11 cifrePROGRESSIVOè un codice alfanumerico progressivo, univoco per ogni invio. Deve essere di almeno 1 carattere.
Il nome del file privo della sua estensione è un identificativo della fattura, di seguito indicato col nome di FID, utile per ottenere la cronologia degli stati di una fattura, o scaricarne l'esito.
Ad esempio:
IT12345678901_A0001.xml => FID: IT12345678901_A0001
Il file XML va inviato come parametro fattura.
Il body del POST deve avere la codifica multipart/form-data.
In caso di successo le API rispondono con uno stato HTTP 200 e un JSON nella forma:
{
"result": {
"id": 482313,
"tipo": 3,
"fid": "IT12345678901_A0001",
"data": "2019-05-12",
"msg": "Uploading in FTP...",
"anagrafica": "Acme spa",
"doc_number": "A1003/19",
"totale": "20.74",
"stato": null,
"stato_sdi": null
},
"code": 0
}
La sezione result riporta lo stato corrente della fattura appena caricata. Per maggiori dettagli vedere il paragrafo Stati delle fatture.
In caso di fallimento verrà resituito un codice di errore, come indicato nella sezione Codici di errore.
Invio fattura da tracciato (versione semplificata)
L'endpoint da chiamare per inviare una fattura mediante tracciato è:
POST https://www.uniwix.com/api/Uniwix/Invoices/UploadData
Il tracciato ha la seguente struttura
{
"data": "2024-10-19", // Data della fattura
"num_documento": "000001/TEST", // Numero del documento
"anagrafica": { // Sezione anagrafica
"descrizione": "Acme srl", // Nome del destinatario
"piva": "12345678902",
"indirizzo": "Via Roma, 100",
"citta": "Roma",
"provincia": "RM",
"cap": "00100",
"stato": "IT",
"cod_ufficio": "ABCDEFG" // Cod. destinatario
},
"articoli": [
{
"nome": "Prodotto di prova", // Nome della merce/servizio indicato in fattura
"qta": "1", // Quantità indicata
"prezzo": "10.50", // Prezzo imponibile
"iva": "10" // Percentuale iva
}
],
"cod_pagamento": "MP05" // Codice del metodo di pagamento associato
}
e va passato come RAW POST. La risposta dell'endpoint è uguale a quella descritta per l'upload XML.
Invio fattura da tracciato (versione completa)
L'endpoint da chiamare per inviare una fattura mediante tracciato è:
POST https://www.uniwix.com/api/Uniwix/Invoices/UploadData
Il tracciato ha la seguente struttura
{
"tipo_documento": "TD01",
"data": "2026-06-05",
"num_documento": "45/A",
"oggetto": "Fornitura materiale informatico",
"anagrafica": {
"cap": "35129",
"citta": "Padova",
"stato": "IT",
"indirizzo": "Via Venezia 10",
"provincia": "PD",
"cod_ufficio": "ABC1234",
"email_pec": "cliente@pec.it",
"nome": "Mario",
"cognome": "Rossi",
"CF": "RSSMRA80A01G224X",
"descrizione": "Rossi Mario",
"piva": "01234567890"
},
"articoli": [
{
"nome": "Notebook Lenovo ThinkPad",
"codice": "NB001",
"qta": 2,
"prezzo": 850.0,
"sconto_mc": "",
"iva": 22,
"dal": "",
"al": "",
"sconto": 10
},
{
"nome": "Servizio assistenza tecnica",
"codice": "SRV001",
"qta": 1,
"prezzo": 120.0,
"sconto_mc": "",
"iva": 22,
"dal": "2026-06-01",
"al": "2026-06-30"
},
{
"nome": "Articolo non imponibile",
"codice": "NIMP001",
"qta": 1,
"prezzo": 100.0,
"sconto_mc": "",
"iva": 0,
"natura": "N2.2",
"dal": "",
"al": ""
}
],
"rate": [
{
"data": "2026-07-05",
"importo": "1000.00",
"tipo": "MP05"
},
{
"data": "2026-08-05",
"importo": "940.00",
"tipo": "MP05"
}
],
"iban": "IT60X0542811101000000123456",
"incasso": {
"importo": 2.0,
"iva": 22,
"natura": ""
},
"trasporto": {
"causale": "Vendita",
"peso_lordo": "12.5",
"peso_netto": "11.8",
"colli": "2",
"inizio_trasporto": "2026-06-05",
"vettore": "BRT Spa",
"piva": "04507990150",
"iva": 22,
"natura": ""
},
"bollo": {
"importo": "2.00",
"applicato": "SI",
"carico": ""
},
"sconto": "50.00",
"sconto_perc": "5",
"arrotondamento": "0.01",
"ritenuta": {
"tipo": "RT01",
"importo": "200.00"
},
"esigibilita_iva": "I",
"ordini": [
{
"RiferimentoNumeroLinea": "1,2",
"IdDocumento": "ORD-2026-001",
"Data": "2026-05-15",
"CodiceCommessaConvenzione": "COMM001",
"CodiceCUP": "CUP123456789",
"CodiceCIG": "CIG987654321"
}
],
"contratti": [
{
"RiferimentoNumeroLinea": "",
"IdDocumento": "CTR-2026-001",
"Data": "2026-01-01",
"CodiceCommessaConvenzione": "",
"CodiceCUP": "",
"CodiceCIG": ""
}
],
"convenzioni": [
{
"RiferimentoNumeroLinea": "",
"IdDocumento": "CONV-01",
"Data": "2026-01-10",
"CodiceCommessaConvenzione": "",
"CodiceCUP": "",
"CodiceCIG": ""
}
],
"ricezioni": [
{
"RiferimentoNumeroLinea": "",
"IdDocumento": "RCV-2026-001",
"Data": "2026-05-30",
"CodiceCommessaConvenzione": "",
"CodiceCUP": "",
"CodiceCIG": ""
}
],
"fatture": [
{
"RiferimentoNumeroLinea": "",
"IdDocumento": "FT-2026-010",
"Data": "2026-04-15",
"CodiceCommessaConvenzione": "",
"CodiceCUP": "",
"CodiceCIG": ""
}
]
}
e va passato come RAW POST. La risposta dell'endpoint è uguale a quella descritta per l'upload XML.
Struttura Generale
| Campo | Tipo | Descrizione |
|---|---|---|
| tipo_documento | string | Codice del tipo documento secondo le specifiche SDI. Ad esempio TD01 per una fattura immediata, TD24 per una fattura differita o altri codici previsti dall'Agenzia delle Entrate. |
| data | date | Data di emissione del documento nel formato YYYY-MM-DD. |
| num_documento | string | Numero progressivo della fattura. Può contenere caratteri alfabetici, numerici e separatori. |
| oggetto | string | Descrizione sintetica del documento o della fornitura effettuata. |
| anagrafica | object | Informazioni fiscali e anagrafiche del destinatario della fattura. |
| articoli | array | Elenco delle righe che compongono il documento. Ogni elemento rappresenta un bene o servizio fatturato. |
| rate | array | Elenco delle scadenze di pagamento associate alla fattura. |
| iban | string | Coordinate bancarie sulle quali dovrà essere effettuato il pagamento. |
| incasso | object | Dati relativi a spese di incasso |
| trasporto | object | Informazioni relative alla spedizione o al trasporto della merce. |
| bollo | object | Configurazione dell'imposta di bollo virtuale prevista dalla normativa fiscale. |
| sconto | decimal | Importo complessivo di sconto applicato all'intero documento. |
| sconto_perc | decimal | Percentuale di sconto globale applicata sul totale imponibile. |
| arrotondamento | decimal | Arrotondamento sul totale documento. |
| ritenuta | object | Informazioni relative alla ritenuta d'acconto o ad altri contributi trattenuti. |
| esigibilita_iva | string | Modalità di esigibilità dell'IVA secondo la normativa fiscale vigente. |
| ordini | array | Riferimenti ad eventuali ordini di acquisto associati alla fattura. |
| contratti | array | Riferimenti a contratti collegati alla fornitura. |
| convenzioni | array | Riferimenti a convenzioni o accordi quadro. |
| ricezioni | array | Riferimenti a documenti di ricezione o verbali di consegna. |
| fatture | array | Collegamenti ad altre fatture correlate al documento corrente. |
Anagrafica Cliente
Contiene tutte le informazioni necessarie all'identificazione fiscale del destinatario della fattura.
Struttura
{
"cap": "35129",
"citta": "Padova",
"stato": "IT",
"indirizzo": "Via Venezia 10",
"provincia": "PD",
"cod_ufficio": "ABC1234",
"email_pec": "cliente@pec.it",
"nome": "Mario",
"cognome": "Rossi",
"CF": "RSSMRA80A01G224X",
"descrizione": "Rossi Mario",
"piva": "01234567890"
}
| Campo | Tipo | Descrizione |
|---|---|---|
| cap | string | Codice di avviamento postale della sede fiscale o operativa del cliente. |
| citta | string | Comune di residenza o sede legale del destinatario. |
| stato | string | Codice ISO dello Stato di appartenenza (es. IT, FR, DE). |
| indirizzo | string | Via, piazza o altro indirizzo completo comprensivo di numero civico. |
| provincia | string | Sigla automobilistica della provincia. |
| cod_ufficio | string | Codice destinatario SDI utilizzato per la consegna della fattura elettronica. |
| email_pec | string | Indirizzo PEC del destinatario, utilizzato come canale alternativo di recapito. |
| nome | string | Nome del soggetto destinatario quando si tratta di persona fisica. |
| cognome | string | Cognome del soggetto destinatario quando si tratta di persona fisica. |
| CF | string | Codice fiscale del destinatario. |
| descrizione | string | Denominazione dell'azienda oppure nominativo completo del soggetto. |
| piva | string | Partita IVA del cliente o del soggetto destinatario. |
Articoli
L'array contiene le righe che verranno riportate nel corpo della fattura.
| Campo | Tipo | Descrizione |
|---|---|---|
| nome | string | Descrizione estesa del bene o servizio fornito. Sarà riportata nella riga della fattura elettronica. |
| codice | string | Codice interno dell'articolo, del servizio o della prestazione. |
| qta | decimal | Quantità del bene o numero di prestazioni fatturate. |
| prezzo | decimal | Prezzo unitario dell'articolo prima dell'applicazione di eventuali sconti. |
| iva | decimal | Percentuale IVA applicata alla riga. Per operazioni non imponibili utilizzare valore 0. |
| sconto | decimal | Percentuale di sconto applicata esclusivamente alla singola riga. |
| sconto_mc | string | Eventuale maggiorazione o sconto espresso secondo logiche personalizzate del gestionale. |
| dal | date | Data iniziale del periodo di competenza del servizio fatturato. |
| al | date | Data finale del periodo di competenza del servizio fatturato. |
| natura | string | Codice natura IVA richiesto quando l'aliquota è pari a zero. Consente di identificare il motivo fiscale dell'esenzione o non imponibilità. |
Codici Natura IVA
| Codice | Descrizione |
|---|---|
| N1 | Operazioni escluse dal campo IVA ai sensi dell'art. 15 |
| N2.1 | Operazioni non soggette ad IVA |
| N2.2 | Operazioni non soggette per altri motivi |
| N3.x | Operazioni non imponibili |
| N4 | Operazioni esenti |
| N5 | Regime del margine |
| N6.x | Reverse charge |
| N7 | IVA assolta in altro Stato membro |
Rate di Pagamento
Definiscono le modalità e le scadenze previste per il saldo del documento.
| Campo | Tipo | Descrizione |
|---|---|---|
| data | date | Data entro la quale il pagamento della rata deve essere effettuato. |
| importo | decimal | Importo previsto per la singola scadenza. |
| tipo | string | Codice modalità di pagamento secondo il tracciato della fattura elettronica. |
Modalità di Pagamento
| Codice | Descrizione |
|---|---|
| MP01 | Contanti |
| MP02 | Assegno |
| MP05 | Bonifico bancario |
| MP08 | Carta di pagamento |
| MP12 | Ricevuta bancaria |
Incasso
Permette di indicare gli eventuali costi di incasso
| Campo | Tipo | Descrizione |
|---|---|---|
| importo | decimal | Importo delle spese di incasso. |
| iva | decimal | Aliquota IVA applicata alle spese di incasso. |
| natura | string | Natura IVA da specificare quando il costo non è imponibile. |
Trasporto
Contiene le informazioni relative alla spedizione della merce o all'esecuzione del trasporto.
| Campo | Tipo | Descrizione |
|---|---|---|
| causale | string | Motivazione del trasporto, ad esempio vendita, conto visione o reso. |
| peso_lordo | decimal | Peso complessivo della spedizione comprensivo degli imballaggi. |
| peso_netto | decimal | Peso netto della merce trasportata. |
| colli | integer | Numero totale dei colli che compongono la spedizione. |
| inizio_trasporto | date | Data di presa in carico della merce da parte del vettore. |
| vettore | string | Ragione sociale o denominazione del trasportatore. |
| piva | string | Partita IVA del vettore incaricato del trasporto. |
| iva | decimal | Aliquota IVA applicata alle eventuali spese di trasporto. |
| natura | string | Natura IVA da valorizzare in presenza di trasporto non imponibile. |
Bollo
Permette la gestione automatica dell'imposta di bollo virtuale prevista per specifiche tipologie di documenti.
| Campo | Tipo | Descrizione |
|---|---|---|
| importo | decimal | Importo dell'imposta di bollo applicata alla fattura. |
| applicato | string | Indica se il bollo deve essere riportato nel documento elettronico. |
| carico | string | Specifica il soggetto a cui viene addebitato il costo del bollo. |
Sconto Documento
Gli sconti definiti a livello documento vengono applicati all'intero imponibile della fattura.
| Campo | Tipo | Descrizione |
|---|---|---|
| sconto | decimal | Valore assoluto dello sconto applicato. |
| sconto_perc | decimal | Percentuale di sconto applicata sul totale documento. |
Ritenuta
Contiene i dati relativi alle ritenute fiscali o previdenziali.
| Campo | Tipo | Descrizione |
|---|---|---|
| tipo | string | Tipologia della ritenuta prevista dalla normativa fiscale. |
| importo | decimal | Importo della ritenuta trattenuta sul documento. |
Tipologie Ritenuta
| Codice | Descrizione |
|---|---|
| RT01 | Ritenuta persone fisiche |
| RT02 | Ritenuta persone giuridiche |
| RT03 | Contributo INPS |
| RT04 | Contributo ENASARCO |
| RT05 | Contributo ENPAM |
| RT06 | Altri contributi previdenziali |
Esigibilità IVA
| Codice | Descrizione |
|---|---|
| I | IVA ad esigibilità immediata |
| D | IVA ad esigibilità differita |
| S | Split Payment |
Documenti Collegati
Le sezioni ordini, contratti, convenzioni, ricezioni e fatture utilizzano la stessa struttura dati.
| Campo | Tipo | Descrizione |
|---|---|---|
| RiferimentoNumeroLinea | string | Numero o elenco delle righe della fattura a cui il documento collegato fa riferimento. |
| IdDocumento | string | Identificativo univoco del documento esterno collegato. |
| Data | date | Data di emissione del documento collegato. |
| CodiceCommessaConvenzione | string | Codice interno della commessa, convenzione o progetto associato. |
| CodiceCUP | string | Codice Unico di Progetto previsto negli appalti pubblici. |
| CodiceCIG | string | Codice Identificativo Gara utilizzato nelle procedure di appalto pubblico. |
Tipologie di Collegamento
| Sezione | Descrizione |
|---|---|
| ordini | Ordini di acquisto emessi dal cliente |
| contratti | Contratti commerciali o di fornitura |
| convenzioni | Convenzioni e accordi quadro |
| ricezioni | Documenti di ricezione merci o servizi |
| fatture | Fatture precedenti o correlate |
Stati fatture attive
Per richiedere gli stati delle fatture attive, la chiamata HTTP da fare è:
GET https://www.uniwix.com/api/Uniwix/Invoices/Attive
La risposta è il JSON nella forma standard già documentata. La sezione result è questa volta un array di tutti gli stati delle fatture.
L'array degli stati è ordinato per data documento e data ricezione/spedizione, in ordine descrescente.
La richiesta consente di specificare una serie di filtri e la paginazione.
Filtri e paginazione
I filtri disponibili sono:
dal: (date) in formato ISO, se specificato mostra gli stati con data successiva al valore passato.al: (date) come dal, mostra gli stati con data fino al valore passato.last: (int) mostra gli stati con id maggiore del valore passato.row: (int) mostra lo stato con id uguale al valore passato.
La paginazione si abilita valorizzando il parametro page. I parametri sono:
page: (int) il numero di pagina da richiedere.0è la prima pagina, con i risultati più recenti.pagesize: (int) la dimensione di ogni pagina, nell'intervallo[10,1000], default25.
Nel caso in cui venga richiesta la paginazione dei risultati (fortemente consigliato) il JSON di risposta avrà questa forma:
{
"result": {
"records": 7390,
"pagesize": 25,
"pages": 296,
"page": 0,
"data": [
...
Dove:
records: (int) numero totale di stati.pagesize: (int) numero di record per paginapages: (int) numero di paginepage: (int) pagina correntedata: (array) array degli stati
Stati fatture passive
L'endpoint è:
GET https://www.uniwix.com/api/Uniwix/Invoices/Passive
Filtri, paginazione e stati di ritorno sono uguali a quelli indicati nella sezione Stati fatture attive
Stati singola fattura
E' possibile richiedere la lista completa degli stati di una specifica fattura, identificata dal FID, con la chiamata:
GET https://www.uniwix.com/api/Uniwix/Invoices/FID
In alternativa, si può richiedere un singolo stato, indicandone l'ID:
GET https://www.uniwix.com/api/Uniwix/Invoices/ID
Download fattura
GET https://www.uniwix.com/api/Uniwix/Invoices/FID_O_ID/Download
Questo endpoint consente il download del file identificato dal FID o in alternativa dall'id di uno stato specifico indicato nell'url.
Passando il valore di un FID, il sistema avvia il download del documento di fattura collegato.
Passando invece il valore di un id, il sistema avvia il download del file relativo allo specifico stato.
Ad esempio, per una fattura attiva della quale esiste anche uno stato SdI, è possibile scaricare il documento XML originario passando semplicemente il FID, mentre per scaricare il file XML inviato dall'SdI, è possibile indicare il valore dell'id dello stato corrispondente.
Stati delle fatture
Ogni fattura è caratterizzata da una lista contenente almeno uno stato. La struttura di uno stato è la seguente:
id: (int) è un identificativo interno del singolo stato della fatturatipo: (int) indica il tipo di fattura e può valere:1: Fattura ATTIVA alla PA3: Fattura ATTIVA a privato4: Fattura PASSIVA
fid: (string) il FID associato alla fatturadata: (date) la data della fattura, come riportato nell'XMLdata_ricezione: (date) la data di ricezione della fattura passiva. In caso di fattura attiva, questo campo riporta la data di spedizioneanagrafica: (string) il nome del cliente/fornitore indicato in fatturadoc_number: (string) il numero documento, come riportato nell'XMLtotale: (float) l'importo totale della fatturastato: (int) lo stato in cui si trova la fatturanull: fattura presa in carico dal sistema, in attesa di essere inviata all'SdI1: fattura inviata all'SdI5: notifica ricevuta dall'SdI. I dettagli sul tipo di notifica ricevuta sono riportati sul campostato_sdi9: fattura passiva ricevuta
stato_sdi: (string) riporta il codice di notifica SdI, come da specifiche dell'Agenzia delle Entrate:RC: Ricevuta di consegnaNS: Notifica di scartoMC: Notifica di mancata consegnaNE: Notifica esito cedente / prestatoreMT: File dei metadatiEC: Notifica di esito cessionario / committenteSE: Notifica di scarto esito cessionario / committenteDT: Notifica decorrenza terminiAT: Attestazione di avvenuta trasmissione della fattura con impossibilità di recapito
msg: (string) riporta lo stato corrente in formato testuale
Codici di errore
In caso di fallimento verrà resituito uno stato HTTP differente da 200 e un JSON nella forma
{
"result": mixed, // descrizione dell'errore
"code": int // codice errore
}
L'elenco dei possibili codici di errore è:
-1: File XML vuoto o non specificato (stato HTTP400)-2: Errore nell'invio del file XML (stato HTTP400)-3: Formato file non supportato (stato HTTP400)-4: Credito insufficiente (stato HTTP402)-5: Errore nel caricamento del file XML (stato HTTP500)-6: Identificativo fattura non trovato (stato HTTP404)-7: Stato fattura non trovato (stato HTTP404)-8: L'url indicato non contiene la macro obbligatoria #URL# (stato HTTP400)-9: Metodo non valido (stato HTTP405)-10: File non disponibile per questo stato (stato HTTP404)-11: ["message":"Errore di validazione", "errors":[errori]] (stato HTTP400)-12: File già presente nella coda (stato HTTP409)-13: Delega mancante (stato HTTP403)-15: File già caricato (stato HTTP409)-16: Allegato non trovato (stato HTTP404)-17: File non trovato (stato HTTP404)-18: P.iva prestatore non valida (stato HTTP406)-19: Configurazione richiesta mancante (stato HTTP500)-20: Fattura duplicata (stato HTTP409)
Recupero dati azienda da P.IVA
Per richiedere i dati di un'azienda va usato il seguente endpoint, indicando la PIVA da cercare:
GET https://www.uniwix.com/api/Uniwix/companyDetails/PIVA
In caso di successo lo status HTTP sarà 200 e verrà restituito un JSON nella forma:
{
"result": {
"denominazione": "Acme Spa",
"piva": "12345678901",
"cf": "12345678901",
"codice_destinatario": "ABCDEFG",
"indirizzo": "VIA ROMA 100",
"cap": "00143",
"comune": "ROMA",
"frazione": null,
"provincia": "RM",
"stato_attivita": "ATTIVA"
},
"code": 0
}
In caso di errore lo status HTTP sarà 400, il valore della sezione code sarà -1 e la sezione result conterrà il messaggio di errore, ad es.:
{
"result": "cf/piva not valid",
"code": -1
}
Statistiche di utilizzo
Per richiedere le statistiche di utilizzo del servizio va usato il seguente endpoint:
GET https://www.uniwix.com/api/Uniwix/companyDetails/stats
La chiamata restituisce un JSON nella forma:
{
"result": {
"requests": "17",
"successes": "10",
"errors": "7",
"last_request": "2021-07-11 08:58:57"
},
"code": 0
}
Dove requests indica il totale delle richieste fatte, successes quelle completate con successo (corrispondenti al numero di crediti consumati), errors quelle completate con errore (non comportano il consumo di crediti) e last_request il timestamp dell'ultima richiesta inviata.