Documentazione API Contabilità facile online (Json RPC v. 2.0)
Indice
(rev. 5 121212)
Prima di iniziare
Campi
Metodi di Controllo
… ping()
Anagrafiche soggetti Clienti e Fornitori
… soggetto()
Articoli di Magazzino
… articolo()
Documenti / Operazioni
… Fatture, Note di Accredito, Note di Debito
… … documento()
… Incassi e Pagamenti, Corrispettivi, Ricevute Fiscali
… … documento()
… Preventivi, Ordini clienti, Rapporti Intervento tecnico, DDT
… … documento()
Errori
Prima d’iniziare
Protocollo
Lo scambio dati è basato sul protocollo JSON-RPC v.2.0.
Per l’utilizzo con il linguaggio PHP scarica JsonRPC v2 client (zip).
Autenticazione
Per l’utilizzo delle API di Contabilità facile online l’utente deve disporre di un nome utente e di un token d’autenticazione.
ATTENZIONE
Le credenziali di autenticazione identificano l’utente in modo univoco e permettono di gestire le anagrafiche dei clienti e fornitori, i documenti e le registrazioni contabili. È consigliato di custodire le credenziali di autenticazione con attenzione e non divulgarle a persone non autorizzate.
URL API
URL a cui collegarsi per l’utilizzo delle API: https://api.contabilitafacileonline.it/api/APIjsonrpc2.php
Supporto
In caso di necessità richiedi supporto per l’utilizzo delle API contattandoci
- via email all’indirizzo api@contabilitafacile.it oppure
- chiamaci al 0481 091172.
Flusso di lavoro
Per un corretto inserimento dei dati è necessario assicurasi che i soggetti e gli articoli coinvolti nei documenti da inserire e contabilizzare siano stati precedentemente trasmessi al servizio di Contabilità facile online.
Se nei dati trasmessi vengono rilevati degli errori questi non verrano elaborati ma resteranno nella coda di elaborazione. Per documenti relativi alla Contabilità gli errori creano un blocco, quindi le registrazioni contabili in coda dopo la riga che ha generato il problema non vengono create, per sbloccare bisogna accedere all’ambiente Contabilità facile online.Se ci sono errori relativi ai documenti del ciclo merce, questi non bloccano la coda.
Se gli errori riguardano il tipodocumento questi vengono registrati nella tabella di controllo.
Campi
ATTENZIONE
Tutte le etichette e i valori dei campi sono case sensitive. Se ci sono delle eccezioni queste vengono segnalate esplicitamente. Alcuni campi devono seguire una specifica formattazione.
- Le date devono avere il formato aaaa-mm-gg
{ "datadocumento":"2012-11-30" }
- Il separatore dei decimale è il punto
//es. 105789.2568
- I campi jolly non hanno un preciso formato. Questi campi vengono utilizzati per inviare dei campi personalizzati. In sede di richiesta della personalizzazione viene anche stabilita la formattazione con cui devono essere inviati i dati.
'jolly' : 'campo1=valore1,campo2=valore2' //esempio di formattazione, ma non vincolante
- Ci sono campi il cui valore può essere letto dalle tabelle di conversione visibili nell’ambiente di Contabilità facile online .
Metodi di controllo
Test di connessione
Metodo: ping()
Metodo per testare la connessione alle API.
input JSON
{
"oggetto-input"
}
JSON output
{
"pong": "oggetto-input"
}
Anagrafiche soggetti Clienti e Fornitori
ATTENZIONE
- Salvo il 1° invio, l’invio dei soggetti deve essere sempre = (minore uguale) al n° di documenti/operazioni inviate.
- Per ogni tipologia di tiporapporto ci può essere un solo Rapporto con il soggetto.
- Ogni volta che viene inviata un’anagrafica deve contenere tutti i dati (completa), se questa è esistente verrà aggiornata, in particolare:
- i dati di testata verranno sovrascritti
- le sedi saranno aggiornate in base all’idsede
- i rapporti con il soggetto verranno aggiornati in base al tiporapporto, se non esiste verrà creato un nuovo rapporto
- i contatti preesistenti saranno sovrascritti da quelli presenti nell’invio.
Metodo: soggetto()
Input JSON
I dati inviati per l’inserimento dell’anagrafica di un soggetto sono divisi in 4 sezioni incapsulate in un array associativo multidimensionale:
La sezione principale (d’ora in poi denominata TESTATA del soggetto (T) ).
La sezione RAPPORTI (R[]): è un array di array associativi. Con un soggetto si possono avere tipologie di rapporto diverso (es. cliente, fornitore, ecc.). Per ogni tipologia viene inserito un array con i relativi dati. Deve essere inviato almeno un rapporto.
La sezione SEDI (S[]): è un array di array associativi. Un soggetto può avere più sedi (es. sede amministrativa, sede di spedizione, sede di fatturazione…). La sezione è facoltativa.
La sezione CONTATTI (C[]): è un array di array associativi. Per ogni soggetto possono essere inseriti più contatti (persone di riferimento) come ad esempio il responsabile vendite, amministratore,…
La sezione è facoltativa.
{
'ragionesociale': '',
'cognome': '',
'nome': '',
'partitaiva': '',
'codicefiscale': '',
'tiposoggetto': '',
'jolly': '',
'sedi': [
{
'idsede': '',
'tiposede': '',
'insegna': '',
'indirizzo': '',
'cap': '',
'comune': '',
'localita': '',
'provincia': '',
'nazioneiso': '',
'nazioneuic': '',
'telefono': '',
'fax': ''
},
{
'idsede': '',
'tiposede': '',
'insegna': '',
'indirizzo': '',
'cap': '',
'comune': '',
'localita': '',
'provincia': '',
'nazioneiso': '',
'nazioneuic': '',
'telefono': '',
'fax': ''
},
...],
'rapporti': [
{
'tiporapporto': '',
'codicerapporto': '',
'settore': '',
'sedeinviodoc': '',
'linguadoc': '',
'email': '',
'modpagamento': '',
'banca': '',
'iban': '',
'swift': '',
'jolly': ''
},
{
'tiporapporto': '',
'codicerapporto': '',
'settore': '',
'sedeinviodoc': '',
'linguadoc': '',
'email': '',
'modpagamento': '',
'banca': '',
'iban': '',
'swift': '',
'jolly': ''
},
...],
'contatti':[
{
'nome': '',
'cognome': '',
'ufficio': '',
'ufficio2': '',
'fax': '',
'cellulare': '',
'cellulare2': '',
'email': '',
'jolly': ''
},
{
'nome': '',
'cognome': '',
'ufficio': '',
'ufficio2': '',
'fax': '',
'cellulare': '',
'cellulare2': '',
'email': '',
'jolly': ''
},
...]
}
Esempio inserimento soggetto (PHP, Javascript)
JSON output
// soggetto inserito
{
'code': '0',
'msg' : 'ok'
}
// Errore nei dati
{
'code': '-2',
'msg' : 'si sono verificati i seguenti errori: descrizione problema'
}
// Errore d'autenticazione
{
'code' : '-1',
'msg' : 'auth error'
}
Riepilogo campi
Condizioni Campi
-
- ragionesociale : obbligatorio
- cognome : obbligatorio se manca la ragionesociale
- nome : facoltativo
- partitaiva : obbligatorio se soggetto IVA. Il controllo sulla correttezza della partita IVA viene effettutato solo se questa ha prefisso IT, altrimenti non verrà effettuato nessun controllo.
- codicefiscale : obbligatorio se non soggetto IVA
- tiposoggetto : obbligatorio. Identifica la natura giuridica del soggetto.
- jolly : facoltativo
Condizioni campi Sedi
- idsede : obbligatorio se più sedi; inviare un codice che identifica ogni sede (max. 6 caratteri).
- tiposede : obbligatorio SE vengono inserite più di una sede, deve essere specificato quale è la sede legale e la tipologia delle altre sedi. Se invece viene inserita una sola sede, è definita di default come sede legale. Può assumere solo i seguenti valori:
'LEGALE' 'COMMERCIALE' 'AMMINISTRATIVA' 'OPERATIVA' 'MAGAZZINO' 'CANTIERE' 'ESTERA' 'NEGOZIO' 'PUNTO VENDITA' 'DIPARTIMENTO' 'DOMICILIO'
- insegna : facoltativo, denominazione della sede.
- indirizzo : obbligatorio
- cap : obbligatorio
- comune : obbligatorio
- provincia : facoltativo, (sigla ad esempio GO – Gorizia) viene assegnata in base al CAP
- localita : facoltativo
- nazioneiso : facoltativo, valore di default IT (Italia)
- nazioneuic : facoltativo, valore di default 086 (uic per Italia)
- telefono : facoltativo, se più numeri vanno separati da virgole
- fax : facoltativo, se più numeri vanno separati da virgole
Condizioni campi Rapporti
- tiporapporto: obbligatorio. Serve a specificare il tipo di rapporto con il soggetto. Può assumere solo i seguenti valori:
'tiporapporto' : 'C' // Cliente 'tiporapporto' : 'F' // Fornitore 'tiporapporto' : 'A' // Agente
- codicerapporto : obbligatorio solo se vanno mantenuti i codici esterni a contabilità facile online altrimenti vengono assegnati in automatico (max. 6 caratteri).
- settore : facoltativo, campo utile per la classificazione dei soggetti (es. clienti privati, aziende, rivenditori, alimentari…)
- sedeinviodoc : facoltativo, sede per l’invio di documenti (di default è assegnata la sede legale)
- linguadoc: facoltativo, valore di default IT. Può assumere i seguenti valori
'linguadoc' : 'IT' // valore di default 'linguadoc' : 'ENG' // fattura emessa in lingua Inglese
- email : obbligatorio se va inviata la fattura via email
- modpagamento : facoltativo
- banca : facoltativo, da trasmettere se viene inviato l’IBAN. Se la banca non è nella banca dati di Contabilità facile online, questa verrà inserita nell’elenco personalizzato delle banche.
- iban : facoltativo
- swift : facoltativo
- jolly : facoltativo
Condizioni campi Contatti
- nome : facoltativo
- cognome : facoltativo
- ufficio : facoltativo,ruolo del contatto o tipo ufficio (es. Agente, Responsabile vendite, Uffcio acquisti…)
- ufficio2 : facoltativo, riferimento telefonico del contatto
- fax : facoltativo
- cellulare : facoltativo
- cellulare2 : facoltativo
- email : facoltativo
- jolly : facoltativo
Tabella di riepilogo condizioni dei campi
SEMPRE obbligatorio | |
Obbligatorio (in certe condizioni) | |
Facoltativo | |
— | Non necessario |
Nome Campo | * | |
ragionesociale | T | |
cognome | T | |
nome | T | |
partitaiva | T | |
codicefiscale | T | |
tiposoggetto | T | |
jolly | T | |
idsede | S[] | |
tiposede | S[] | |
insegna | S[] | |
indirizzo | S[] | |
cap | S[] | |
comune | S[] | |
provincia | S[] | |
localita | S[] | |
nazioneiso | S[] | |
nazioneuic | S[] | |
telefono | S[] | |
fax | S[] | |
tiporapporto | R[] | |
codicerapporto | R[] | |
settore | R[] | |
sedeinviodoc | R[] | |
linguadoc | R[] | |
sedeinviodoc | R[] | |
R[] | ||
modpagamento | R[] | |
banca | R[] | |
iban | R[] | |
swift | R[] | |
jolly | R[] | |
nome | C[] | |
cognome | C[] | |
ufficio | C[] | |
ufficio2 | C[] | |
fax | C[] | |
cellulare | C[] | |
cellulare2 | C[] | |
C[] | ||
jolly | C[] |
Articoli di Magazzino
ATTENZIONE
- Ogni volta che si invia un’anagrafica di un articolo di magazzino questa deve essere completa, in caso di un codarticoloesistente l’anagrafica verrà aggiornata, in particolare:
- i dati di Testata e Fornitori verranno sovrascritti;
- i dati dei Lotti verranno aggiornati se il codlotto è già presente, altrimenti sarà creato un nuovo lotto;
- i dati dei Fornitori verranno aggiornati se l’idfornitore è già presente, altrimenti sarà aggiunto un nuovo fornitore (che deve essere già presente nell’anagrafica dei soggetti).
Metodo: articolo()
Input JSON
I dati inviati per l’inserimento dell’anagrafica di un soggetto sono divisi in 4 sezioni incapsulate in un array associativo multidimensionale:
La sezione principale (d’ora in poi denominata TESTATA dell’articolo (T) ).
La sezione FORNITORI (F[]): è un array di array associativi. Per la gestione degli intercambiabili è possibile inserire i codice che i fornitori utilizzano per identificare l’articolo. La sezione è facoltativa.
La sezione LOTTI (L[]): è un array di array associativi. Sezione per l’inserimento dei dati di riferimento dei lotti dell’articolo . La sezione è facoltativa.
{
'codarticolo': '',
'codbarre': '',
'categoria': '',
'sottocategoria': '',
'descarticolo': '',
'descarticoloest': '',
'unitmisura': '',
'prezzounitarticolo': '',
'aliquota': '',
'gestmagazzino': '',
'conto': '',
'jolly': '',
'fornitori': [
{
'tipoidfornitore': '',
'idfornitore': '',
'codartfornitore': '',
'jolly': ''
},
{
'tipoidfornitore': '',
'idfornitore': '',
'codartfornitore':'',
'jolly': ''
},
...]
'lotti': [
{
'codlotto': '',
'desclotto': '',
'notelotto':'',
'jolly': ''
},
{
'codlotto': '',
'desclotto': '',
'notelotto':'',
'jolly': ''
},
...]
}
Esempio inserimento articolo (PHP, Javascript)
JSON output
// articolo inserito
{
'code': '0',
'msg' : 'ok'
}
// Errore nei dati
{
'code': '-2',
'msg' : 'si sono verificati i seguenti errori: descrizione problema'
}
// Errore d'autenticazione
{
'code' : '-1',
'msg' : 'auth error'
}
Riepilogo campi
Condizioni campi
Condizioni campi Testata
- codarticolo : obbligatorio
- codbarre : facoltativo
- categoria : facoltativo
- sottocategoria : facoltativo
- descarticolo : obbligatorio
- descarticoloest : facoltativo
- unitmisura : obbligatorio
- prezzounitarticolo : obbligatorio
- aliquota : obbligatorio se articolo soggetto IVA
- gestmagazzino : obbligatorio se articolo non gestisce magazzino
- conto : facoltativo
- jolly : facoltativo
Condizioni campi Fornitori
- tipoidfornitore: obbligatorio se gestione degli intercambiabili. Può assumere i seguenti valori:
'tipoidfornitore' : 'PIVA' // idfornitore che viene inviato è la Partita IVA 'tipoidfornitore' : 'CF' // idfornitore che viene inviato è il Codice Fiscale 'tipoidfornitore' : 'CODR' // idfornitore che viene inviato è il Codice Rapporto
- idfornitore : obbligatorio se gestione degli intercambiabili, è case insensitive se viene inserita la Partita IVA o il Codice Fiscale.
- codartfornitore : obbligatorio se gestione degli intercambiabili
- jolly : facoltativo
Condizioni campi Lotti
- codlotto : obbligatorio se gestione lotti magazzin. Se non viene inviato assume il codice lotto “NON DEFINITO”
- desclotto : obbligatorio se gestione lotti magazzino. Se non inviata assume il valore “DESCRIZIONE NON FORNITA”
- notelotto : facoltativo
- jolly : facoltativo
Tabella di riepilogo condizioni dei campi
SEMPRE obbligatorio | |
Obbligatorio (in certe condizioni) | |
Facoltativo | |
— | Non necessario |
Nome Campo | * | |
codarticolo | T | |
codbarre | T | |
categoria | T | |
sottocategoria | T | |
descarticolo | T | |
descarticoloest | T | |
unitmisura | T | |
prezzounitarticolo | T | |
aliquota | T | |
gestmagazzino | T | |
conto | T | |
jolly | T | |
tipoidfornitore | F[] | |
idfornitore | F[] | |
codartfornitore | F[] | |
jolly | F[] | |
codlotto | L[] | |
deslotto | L[] | |
notelotto | L[] | |
jolly | L[] |
Contabilità – Documenti/Operazioni
ATTENZIONE
L’invio di documenti od operazioni generano registrazioni contabili in automatico.
- Se per identificare il soggetto viene usato il codicerapporto e questo non è univoco , questo crea un errore: in particolare nel caso di registrazioni contabili questo errore blocca le successive nelle coda.
- Se non viene inserito l’idsedefattura per default l’invio della fattura è all’indirizzo della sede Legale o sede selezionata nel rapporto con il soggetto; se non è possibile stabilire la sede (ad esempio perchè sono presenti più sedi legali) viene restituito un errore.
La coda di elaborazione C (contabilità) elabora le registrazioni contabili seguendo l’ordine del numero documento e data documento.
I dati inviati per l’inserimento di un documento od operazione sono divisi in 3 sezioni incapsulate in un array associativo multidimensionale:
La sezione principale (d’ora in poi denominata TESTATA del documento/operazione (T))
La sezione DETTAGLIO (D): è un array di array associativi in quanto ogni riga di dettaglio viene inserita come un record.
La sezione ZOCCOLO (Z): è un array di array associativi. In questa sezioni vengono inserite informazioni integrative come ad esempio le ritenute fiscali e ritenute previdenziali.
Fatture, Note di Accredito, Note di Addebito
La tipologia di fattura viene indicata dal valore del campo tipo. Di seguito viene specificato il valore che il campo deve assumere in base al tipo di documento inviato.
Fattura Cliente | Note Accredito Cliente | Nota Debito Cliente | Fattura Fornitore | Nota Accredito Fornitore | Nota Debito Fornitore | |
tipodocumento | 10 | 11 | 12 | 20 | 21 | 22 |
Metodo: documento()
Parametri input JSON
{
'rinvio' : 'NO',
'tipodocumento': 'codice-tipo-documento',
'unitaterritoriale': '',
'dataregistrazione':'aaaa-mm-gg',
'numerodocumento': 'n°-documento',
'datadocumento': 'aaaa-mm-gg',
'regsezionaleiva': '',
'totaledocumento':'',
'tipoidsoggetto': '',
'idsoggetto':'',
'modellocontabile':'',
'modpagamento': '',
'oneridiriscossione': '',
'riferimentidoc':'',
'compextracdal': '',
'compextracal': '',
'jolly': '',
'dettaglio' : [
{
'importo' : '',
'tipoimportoiva' : '',
'aliquota' : '',
'soggettoritenuta': '',
'conto': '',
'settconto': '',
'jolly': ''
},
{
'importo' : '',
'tipoimportoiva' : '',
'aliquota' : '',
'soggettoritenuta': '',
'conto': '',
'settconto': '',
'jolly': ''
},
... ],
'zoccolo' : [
{
'impritenutafiscale': '',
'percritenutafiscale' : '',
'totritenutafiscale' : '',
'impritenutafiscale': '',
'percritenutaprevid': '',
'totritenutaprevid':'',
'jolly':''
},
{
'impritenutafiscale': '',
'percritenutafiscale' : '',
'totritenutafiscale' : '',
'impritenutafiscale': '',
'percritenutaprevid': '',
'totritenutaprevid':'',
'jolly':''
},
... ]
}
Esempio inserimento fattura (PHP, Javascript)
JSON output
// documento inserito nella coda e coda elaborata totalmente
{
'code' : '0',
'msg' : 'ok',
'id' : 'MOAS..............................'//stringa identificativa
}
// documento inserito ed elaborato ma altri elementi nella coda sono in errore
{
'code' : '0',
'msg' : 'ok, ma coda sincronizzazione con altri elementi in errore',
'id' : 'MOAS..............................'//stringa identificativa
}
// Errore: documento in errore
{
'code' : '-3',
'msg' : 'documento in errore',
'id' : 'MOAS..............................' //stringa identificativa
}
// Errore: tipodocumento mancante o inesistente, l'elemento viene scartato
{
'code' : '-2',
'msg' : 'tipodocumento errato o mancante'
}
// Errore d'autenticazione
{
'code' : '-1',
'msg' : 'auth error'
}
Riepilogo campi
Condizioni campi
Condizioni campi Testata
- rinvio : obbligatorio SE è un rinvio di un documento. Può assumere i seguenti valori:
'rinvio' : 'NO' //non è un rinvio, valore di default 'rinvio' : 'SI' //è un rinvio, sovrascrive il documento/operazione a cui si riferisce
- tipodocumento : sempre obbligatorio.
- unitaterritoriale : obbligatorio SE le registrazioni contabili devono essere distinte per negozio, operatore, ecc oppure se i documenti vengono emessi da più sedi (Ciclo Merce da gestire in più sedi)
- dataregistrazione : sempre obbligatorio per i documenti di tipo fattura fornitore, nota accredito fornitore, nota addebito fornitore. Il formato è del tipo aaaa-mm-gg.
- numerodocumento : sempre obbligatorio per i documenti dei fornitori.
- datadocumento : sempre obbligatorio.
- tipoidsoggetto: obbligatorio. può assumere i seguenti valori:
'tipoidsoggetto' : 'PIVA' // idsoggetto che viene inviato è la Partita IVA 'tipoidsoggetto' : 'CF' // idsoggetto che viene inviato è il Codice Fiscale 'tipoidsoggetto' : 'CODR' // idsoggetto che viene inviato è il Codice Rapporto
- idsoggetto obbligatorio, è case insensitive se viene inserita la Partita IVA o il Codice Fiscale.
- totaledocumento: sempre obbligatorio.
- modellocontabile : facoltativo SE siamo in presenza di un unico modello contabile (uno per le vendite ed uno per gli acquisti)
- modpagamento : obbligatorio SE necessita di gestire le partite aperte
- oneridiriscossione : obbligatorio SE contabilizzati in automatico nella registrazione contabile. (Solo per fatture clienti, note accredito clienti, note debito clienti)
- riferimentidoc : facoltativo. Es. riferimenti ordini, preventivi.
- compextracdal : facoltativo. Data inizio competenze extracontabili.
- compextracal : facoltativo. Data fine competenze extracontabili
- jolly : facoltativo.
Condizioni campi Dettaglio
- importo : sempre obbligatorio.
- tipoimportoiva : sempre obbligatorio.
- aliquota : obbligatorio SE tipoimportoiva prevede aliquota IVA
- soggettoritenuta : facoltativo. NO = non soggetto a ritenuta, SI = soggetto a ritenuta. Solo nelle fatture clienti, note accredito clienti e note debito clienti.
- conto : facoltativo.
- settconto : facoltativo.
- jolly : facoltativo.
Condizioni campi Zoccolo
- impritenutafiscale : obbligatorio SE prevista la ritenuta fiscale.
- percritenutafiscale : obbligatorio SE prevista la ritenuta fiscale.
- totritenutafiscale : obbligatorio SE prevista la ritenuta fiscale.
- impritenutaprevid : obbligatorio SE prevista la ritenuta previdenziale.
- percritenutaprevid : obbligatorio SE prevista la ritenuta previdenziale.
- totritentutaprevid : obbligatorio SE prevista la ritenuta previdenziale.
- jolly : facoltativo.
Tabella di riepilogo condizioni dei campi
SEMPRE obbligatorio | |
Obbligatorio (in certe condizioni) | |
Facoltativo | |
— | Non necessario |
Nome Campo | * | 10 – Fattura Cliente | 11 – Nota Accredito Cliente | 12 – Nota Debito Cliente | 20 – Fattura Fornitore | 21 – Nota Accredito Fornitore | 22 – Nota Debito Cliente |
rinvio | T | ||||||
tipodocumento | T | ||||||
unitaterritoriale | T | ||||||
dataregistrazione | T | — | — | — | |||
numerodocumento | T | ||||||
datadocumento | T | ||||||
regsezionaleiva | T | ||||||
totaledocumento | T | ||||||
tipoidsoggetto | T | ||||||
idsoggetto | T | ||||||
modellocontabile | T | ||||||
modpagamento | T | ||||||
oneridiriscossione | T | — | — | — | |||
modpagamentoold | T | ||||||
riferimentidoc | T | ||||||
compextracdal | T | ||||||
compextracal | T | ||||||
jolly | T | ||||||
importo | D[] | ||||||
tipoimportoiva | D[] | ||||||
aliquota | D[] | ||||||
soggettoritenuta | D[] | — | — | — | |||
conto | D[] | ||||||
settconto | D[] | ||||||
jolly | D[] | ||||||
impritenutafiscale | Z[] | ||||||
percritenutafiscale | Z[] | ||||||
totritenutafiscale | Z[] | ||||||
impritenutaprevid | Z[] | ||||||
percritenutaprevid | Z[] | ||||||
totritenutaprevid | Z[] | ||||||
jolly | Z[] |
Incassi e Pagamenti, Corrispettivi, Ricevute Fiscali
La tipologia di operazione viene stabilita dal valore del campo tipo. Di seguito viene specificato il valore che il campo deve assumere in base al tipo di operazione inviata.
Incassi e Pagamenti | Corrispettivi | Ricevute Fiscali | |
tipodocumento | 30 | 31 | 32 |
Metodo: documento()
input JSON
{
'rinvio' : 'NO',
'tipodocumento': '30',
'unitaterritoriale': '',
'dataregistrazione': 'aaaa-mm-gg',
'numerodocumento': '',
'datadocumento': 'aaaa-mm-gg',
'regsezionaleiva': '',
'totaledocumento': '',
'tipoidsoggetto' : '',
'idsoggetto':'',
'modellocontabile':'',
'modpagamento': '',
'riferimentidocumento': '',
'compextracdal': '',
'compextracal': '',
'jolly': '',
'dettaglio' : [
{
'importo' : '',
'tipoimportoiva' : '',
'aliquota' : '',
'conto': '',
'settconto': '',
'jolly': ''
},
{
'importo' : '',
'tipoimportoiva' : '',
'aliquota' : '',
'conto': '',
'settconto': '',
'jolly': ''
},... ]
}
Esempio inserimento Corrispettivi (PHP, Javascript)
JSON output
// documento inserito nella coda e coda elaborata totalmente
{
'code' : '0',
'msg' : 'ok',
'id' : 'MOAS..............................'//stringa identificativa
}
// documento inserito ed elaborato ma altri elementi nella coda sono in errore
{
'code' : '0',
'msg' : 'ok, ma coda sincronizzazione con altri elementi in errore',
'id' : 'MOAS..............................'//stringa identificativa
}
// Errore: documento in errore
{
'code' : '-3',
'msg' : 'documento in errore',
'id' : 'MOAS..............................' //stringa identificativa
}
// Errore: tipodocumento mancante o inesistente, l'elemento viene scartato
{
'code' : '-2',
'msg' : 'tipodocumento errato o mancante'
}
// Errore d'autenticazione
{
'code' : '-1',
'msg' : 'auth error'
}
Riepilogo campi
Condizioni campi
Condizioni campi Testata
- rinvio : obbligatorio SE l’invio è un rinvio di un’operazione.Può assumere i seguenti valori:
'rinvio' : 'NO' //non è un rinvio, valore di default 'rinvio' : 'SI' //è un rinvio, sovrascrive il documento/operazione a cui si riferisce
- tipodocumento : sempre obbligatorio.
- unitaterritoriale : obbligatorio SE le registrazioni contabili devono essere distinte per negozio, operatore, ecc, oppure se i documenti vengono emessi da pià sedi (cilo merce da gestire in più sedi)
- dataregistrazione : sempre obbligatorio
- numerodocumento : sempre obbligatorio solo per incassi e pagamenti
- datadocumento : sempre obbligatorio solo per incassi e pagamenti
- regsezionaleiva : obbligatorio SE presenza di più registri Vendite, Acquisti e Corrispettivi
- totaledocumento : sempre obbligatorio
- tipoidsoggetto : sempre obbligatorio nel caso di incassi e pagamenti
- idsoggetto : sempre obbligatorio nel caso di incassi e pagamenti, è case insensitive se viene inserita la Partita IVA o il Codice Fiscale.
- modellocontabile : facoltativo SE siamo in presenza di un unico modello contabile, viene attribuito quello di default in base al tipo di documento; obbligatorio per incassi e pagamenti
- modpagaemnto : obbligatorio SE c’è la necessita di gestire le partite aperte.
- riferimentidoc : facoltativo, ma sempre obbligatorio per le ricevute fiscali
- compextracdal : facoltativo (eventualmente usato solo per i corrispettivi). Data inizio competenze extracontabili.
- compextracal : facoltativo (eventualmente usato solo per i corrispettivi). Data fine competenze extracontabili
- jolly : facoltativo.
Condizioni campi Dettaglio
- importo : sempre obbligatorio.
- tipoimportoiva : sempre obbligatorio.
- aliquota : obbligatorio SE presente aliquota IVA.
- conto : facoltativo.
- settconto : obbligatorio se attiva la gestione dei settori attività, in presenza di un documento di acquisto o vendita da imputare in più settori.
Tabella di riepilogo condizioni dei campi
SEMPRE obbligatorio | |
Obbligatorio (in certe condizioni) | |
Facoltativo | |
— | Non necessario |
Nome Campo | * | 30 – Incassi e Pagamenti | 31 – Corrispettivi | 32 – Ricevute Fiscali |
rinvio | T | |||
tipodocumento | T | |||
unitaterritoriale | T | |||
dataregistrazione | T | |||
numerodocumento | T | — | — | |
datadocumento | T | — | — | |
regsezionaleiva | T | |||
totaledocuemnto | T | |||
tipoidsoggetto | T | — | — | |
idsoggetto | T | — | — | |
modellocontabile | T | |||
modpagamento | T | |||
riferimentidoc | T | |||
compextracdal | T | — | — | |
compextracal | T | — | — | |
jolly | T | |||
importo | D[] | |||
tipoimportoiva | D[] | |||
aliquota | D[] | |||
conto | D[] | |||
settconto | D[] | |||
jolly | D[] |
Documenti Ciclo Merci
I dati inviati per l’inserimento di un documento sono divisi in 2 sezioni incapsulate in un array associativo multidimensionale:
La sezione principale (d’ora in poi denominata TESTATA del documento (T) ): dati principali.
La sezione DETTAGLIO (D[])
Preventivi, Ordini, Rapporti Intervento Tecnico, DDT
Preventivi | Ordine Cliente | DDT | Rapporto Intervento Tecnico (garanzia/contratti manutenzione) | Rapporto intervento tecnico (da addebitare) | |
tipodocumento | 40 | 50 | 60 | 70 | 71 |
Metodo: documento
input JSON
{
'rinvio' : '',
'tipodocumento': '',
'unitaterritoriale': '',
'numerodocumento': '',
'datadocumento':'aaaa-mm-gg',
'dataemissionedocumento':'aaaa-mm-gg',
'regsezionaleiva': '',
'totaledocumento': '',
'tipoidsoggetto':'',
'idsoggetto':'',
'tipoidvenditore':'',
'idvenditore':'',
'modellocontabile': '',
'modpagamento': '',
'modpagamentoold': '',
'riferimentidoc': '',
'idsedefattura': '',
'competenze': '',
'compdata': '',
'compquota': '',
'compextracdal': '',
'compextracal': '',
'jolly': '',
'dettaglio' : [
{
'codarticolo': '',
'codarticoloj1': '',
'codarticoloj2': '',
'codarticololotto': '',
'codbarre' : '',
'descarticolo' : '',
'qtarticolo' : '',
'unitmisura' : '',
'prezzounitarticolo': '',
'scontoperc': '',
'importo' : '',
'caumagazzino': '',
'tipoimportoiva' : '',
'aliquota' : '',
'conto': '',
'settconto': '',
'jolly':''
},
{
'codarticolo': '',
'codarticoloj1': '',
'codarticoloj2': '',
'codarticololotto': '',
'codbarre' : '',
'descarticolo' : '',
'qtarticolo' : '',
'unitmisura' : '',
'prezzounitarticolo': '',
'scontoperc': '',
'importo' : '',
'caumagazzino': '',
'tipoimportoiva' : '',
'aliquota' : '',
'conto': '',
'settconto': '',
'jolly':''
},
... ]
}
Esempio inserimento Corrispettivi (PHP, Javascript)
output JSON
// documento inserito nella coda e coda elaborata totalmente
{
'code' : '0',
'msg' : 'ok',
'id' : 'MOAS..............................'//stringa identificativa
}
// documento inserito ed elaborato ma altri elementi nella coda sono in errore
{
'code' : '0',
'msg' : 'ok, ma coda sincronizzazione con altri elementi in errore',
'id' : 'MOAS..............................'//stringa identificativa
}
// Errore: documento in errore
{
'code' : '-3',
'msg' : 'documento in errore',
'id' : 'MOAS..............................' //stringa identificativa
}
// Errore: tipodocumento mancante o inesistente, l'elemento viene scartato
{
'code' : '-2',
'msg' : 'tipodocumento errato o mancante'
}
// Errore d'autenticazione
{
'code' : '-1',
'msg' : 'auth error'
}
Riepilogo campi
Condizioni campi
Condizioni campi Testata
- rinvio : obbligatorio SE è un rinvio di un documento. Può assumere i seguenti valori:
'rinvio' : 'NO' //non è un rinvio, valore di default 'rinvio' : 'SI' //è un rinvio, sovrascrive il documento/operazione a cui si riferisce
- tipodocumento : sempre obbligatorio
- unitaterritoriale : obbligatorio SE le registrazioni contabili devono essere distinte per negozio, operatore, ecc oppure se i documenti vengono emessi da più sedi.
- numerodocumento : sempre obbligatorio.
- datadocumento : sempre obbligatorio.
- dataemissionedocumento : sempre obbligatorio.
- regsezionaleiva : obbligatorio SE in presenza di più registri Vendite, Acquisti e Corrispettivi.
- totaledocumento : facoltativo.
- tipoidsoggetto : sempre obbligatorio. Valori possibili: CF, PIVA, SOGR
- idsoggetto : sempre obbligatorio, è case insensitive se viene inserita la Partita IVA o il Codice Fiscale.
- tipoidvenditore : facoltativo (obbligatorio se viene inviato idvenditore). Valori possibili: CF, PIVA, SOGR.
- idvenditore : facoltativo.
- modellocontabile : sempre obbligatorio per ordine cliente, DDT e Rapporto Intervento tecnico (da addebitare).
- modpagamento : obbligatorio SE necessità di gestire le partite aperte. Non necessario per Rapporti intervento tecnico (garanzia /contratto manutenzione).
- modpagamentoold : facoltativo. Non necessario per Rapporti intervento tecnico (garanzia /contratto manutenzione).
- riferimentidoc : facoltativo.
- idsedefattura : idindirizzo (vedi anagrafica clienti) per l’invio della fattura; se non
specificato invio fattura di default alla sede principale; - competenze : facoltativo. Competenze annuali costi e ricavi;
- compdata : facoltativo. Data per il calcolo competenza;
- compquota : facoltativo. Quota per il calcolo competenza;
- compextracdal : facoltativo. Data inizio competenze extracontabili.
- compextracal : facoltativo. Data fine competenze extracontabili
- jolly : facoltativo.
Condizioni campi Dettaglio
- codarticolo : obbligatorio PER la gestione del magazzino.
- codarticoloj1 : obbligatorio se necessitano altri parametri per la gestione del magazzino
- codarticoloj2 : obbligatorio se necessitano altri parametri per la gestione del magazzino
- codarticololotto : obbligatorio se magazzino con gestione lotti
- codbarre : facoltativo.
- descarticolo : obbligatoria SE modificata o non è presente il codice articolo.
- descarticoloest : facoltativo.
- qtarticolo : obbligaroio SE presente il prezzo unitario
- unitmisura : obbligatorio SE presente quantità e non è prensete codice articolo magazzino.
- prezzounitarticolo : obbligatorio SE presente la quantità. Se non viene inviato il sistema cerca di desumerlo tramite il codice articolo.
- scontoperc : facoltativo.
- importo : facoltativo.
- caumagazzino : obbligatorio SE prensente un codice articolo che gestisce il magazzino. Facoltativo solo nel caso di un preventivo.
- tipoimportoiva : obbligatorio per i tipi documento 50,60 e 71.
- aliquota : obbligatorio SE presente aliquota IVA. Se non viene inviata, le API cercheranno di desumerla dal tipoimportoiva.
- conto : facoltativo.
- settconto : obbligatorio SE attiva la gestione dei settori attività, in presenza di un documento di acquisto o vendita da imputare in più settori.
- jolly : facolativo.
Tabella di riepilogo condizioni dei campi
SEMPRE obbligatorio | |
Obbligatorio (in certe condizioni) | |
Facoltativo | |
— | Non necessario |
Nome Campo | * | 40 – Preventivi | 50 – Ordini | 60 – DDT | 70 – Rapporti Intervento Tecnico (garanzia/contratti manutenzione) | 71 – Rapporti Intervento Tecnico (da addebitare) |
rinvio | T | |||||
tipodocumento | T | |||||
unitaterritoriale | T | |||||
numerodocumento | T | |||||
datadocumento | T | |||||
dataemissionedocumento | T | |||||
regsezionaleiva | T | |||||
totaledocumento | T | |||||
tipoidsoggetto | T | |||||
idsoggetto | T | |||||
tipoidvenditore | T | |||||
idvenditore | T | |||||
modellocontabile | T | — | — | |||
modpagamento | T | — | ||||
modpagamentoold | T | — | ||||
riferimentidoc | T | |||||
idsedefattura | T | |||||
competenze | T | — | — | |||
compdata | T | — | — | |||
compquota | T | — | — | |||
compextracdal | T | — | — | |||
compextracal | T | — | — | |||
jolly | T | |||||
codarticolo | D[] | |||||
codarticoloj1 | D[] | |||||
codarticoloj2 | D[] | |||||
codarticololotto | D[] | |||||
codbarre | D[] | |||||
descarticolo | D[] | |||||
descarticoloest | D[] | |||||
qtarticolo | D[] | |||||
unitmisura | D[] | |||||
prezzounitarticolo | D[] | |||||
scontoperc | D[] | |||||
importo | D[] | |||||
caumagazzino | D[] | |||||
tipoimportoiva | D[] | — | — | |||
aliquota | D[] | |||||
conto | D[] | |||||
settconto | D[] | |||||
jolly | D[] |
Errori
Errore d’autenticazione:
{
'code' : '-1',
'msg' : 'auth error'
}
Manca il tipo documento, quindi è impossibile inserirlo nel database:
{
'code' : '-2',
'msg' : 'tipodocumento errato o mancante');
}
Documento inserito in coda, ma l’elaborazione della coda s’è fermata ad un certo punto per qualche problema:
{
'code' : '-3',
'msg' : 'documento in errore',
'id' : 'MOAS..............................' //stringa identificativa
}
Vuoi ulteriori informazioni o chiarimenti?
Scopri tutti i vantaggi per la tua attività, come?
sui servizi di Contabilità facile che comprendono:
- il Programma Gestionale online in cloud,
- l’Assistente Contabile Personale,
- i Servizi Aggiuntivi di Commercialista Online (Servizi Fiscali),