POST/v1/finance/report
Ottenere un report finanziario di sintesi
finance_report
Restituisce i totali delle fatture o dei pagamenti dell’organizzazione, raggruppati per un massimo di tre dimensioni (categoria, gruppo, settore di attività del fornitore, fornitore, acquirente, controparte, direzione, valuta, mese, trimestre, anno), con le misure invoiced, paid, unpaid e tax. I totali includono solo i documenti visibili all’utente (le raccolte e le categorie del suo profilo dati e l’impostazione “rispondere solo in base alle schede verificate”); i filtri della richiesta restringono questo perimetro ma non lo ampliano mai.
In modalità reporting (predefinita) gli importi vengono convertiti nella valuta di rendicontazione dell’organizzazione al tasso della data del documento, e gli importi senza tasso sono elencati in conversion.unconverted. In modalità original gli importi in valute diverse non vengono sommati e la valuta diventa una dimensione della riga. Se le righe sono più di limit, truncated è true e totals copre comunque tutte le righe. Richiede un profilo dati con accesso ai dati finanziari (finance.forbidden).
Il report, gli elenchi di fatture e pagamenti e le loro esportazioni sono operazioni di lettura anche se usano POST: sono disponibili in modalità “View as” e per le chiavi API con l’ambito read (e, come prima, per le chiavi con l’ambito write).
Autenticazione
Invia una chiave API nell’intestazione Authorization: Authorization: Bearer <chiave>.
Parametri di intestazione
X-View-AsstringSolo per le chiavi API con il ruolo
admin. Esegue la richiesta come il profilo dati<profile>[:viewer|verifier|editor], ad esempioemployee:viewer. La chiave di installazione non può usare questa intestazione (403).
Parametri cookie
kb_view_asstringCookie della modalità “View as” per una sessione.
POST /auth/view-aslo imposta eDELETE /auth/view-aslo cancella.
Corpo della richiesta
application/json
basisstringinvoices: fatture, note di credito e ricevute.payments: il registro dei pagamenti (flusso di cassa). Conpaymentsl’unica misura èpaid, e la dimensionedirectione il totale mostrano il movimento del denaro,inoout, mentre un trasferimento tra le tue persone giuridiche èinternal.Valori ammessi:
invoicespaymentsPredefinito: "invoices"
group_byarray of FinanceDimensionitems ≤ 3
measuresarray of FinanceMeasurePer impostazione predefinita
invoiced(paidperpayments).currency_modeFinanceCurrencyModedate_basisstringQuale data determina il periodo e il filtro
from/to: la data del documento o la data del pagamento.Valori ammessi:
documentpaymentPredefinito: "document"
filtersFinanceFilterorder_bystringMisura o dimensione per l’ordinamento. Per impostazione predefinita, la prima misura in ordine decrescente.
order_descbooleanPredefinito: true
limitintegerPredefinito: 1000≥ 1, ≤ 10000
languagestringLingua delle etichette di categorie e gruppi,
en|ru. Per impostazione predefinitaen.
Risposte
200Il report
Intestazioni della risposta
RateLimit-PolicyLimiti in vigore, nel formato della bozza IETF
draft-ietf-httpapi-ratelimit-headers: elementi separati da virgole"<name>";q=<quota>;w=<window in seconds>.keyè la frequenza delle richieste della chiave API (la quota è il burst, la finestra è il tempo necessario a ricaricarla completamente; per una sessione èuser, senza credenzialiip);minute,dayemonthsono le quote dell’organizzazione per il minuto, il giorno e il mese di calendario in UTC.RateLimitQuanto resta di ciascun limite di
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite della voce più restrittiva di
RateLimit-Policy(quella con meno richieste rimanenti).X-RateLimit-RemainingRichieste rimanenti nel limite più restrittivo.
X-RateLimit-ResetSecondi che mancano all’azzeramento del limite più restrittivo.
application/json
currencystringValuta di rendicontazione (modalità
reporting).Totali su tutte le righe prima del troncamento, un elemento per valuta (in un report suddiviso per direzione, per valuta e direzione,
FinanceReportTotal.direction).truncatedbooleanobbligatoriolimitintegerobbligatoriototal_rowsintegerobbligatorioNumero di righe raggruppate prima del troncamento.
conversionFinanceConversionwarningsarray of stringCodici di avviso:
profile_missing, i dati aziendali dell’organizzazione non sono impostati, quindi la direzione delle fatture èinper impostazione predefinita;catalog_missing, l’anagrafica delle aziende non è caricata;fx_rate_missing, alcuni importi non hanno un tasso di cambio (conversion.unconverted);fx_rate_stale, alcuni tassi non sono aggiornati;enrichment_pending, alcuni documenti sono ancora in elaborazione e non sono inclusi nei totali. Mostra un codice sconosciuto con un messaggio generico.
400La richiesta non è valida: il valore di un parametro o lo stato dell’oggetto non consente l’azione (`detail` è un messaggio).
Intestazioni della risposta
RateLimit-PolicyLimiti in vigore, nel formato della bozza IETF
draft-ietf-httpapi-ratelimit-headers: elementi separati da virgole"<name>";q=<quota>;w=<window in seconds>.keyè la frequenza delle richieste della chiave API (la quota è il burst, la finestra è il tempo necessario a ricaricarla completamente; per una sessione èuser, senza credenzialiip);minute,dayemonthsono le quote dell’organizzazione per il minuto, il giorno e il mese di calendario in UTC.RateLimitQuanto resta di ciascun limite di
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite della voce più restrittiva di
RateLimit-Policy(quella con meno richieste rimanenti).X-RateLimit-RemainingRichieste rimanenti nel limite più restrittivo.
X-RateLimit-ResetSecondi che mancano all’azzeramento del limite più restrittivo.
application/json
401Non sono state inviate credenziali (né un cookie di sessione né una chiave API), oppure la chiave non è stata trovata.
Intestazioni della risposta
RateLimit-PolicyLimiti in vigore, nel formato della bozza IETF
draft-ietf-httpapi-ratelimit-headers: elementi separati da virgole"<name>";q=<quota>;w=<window in seconds>.keyè la frequenza delle richieste della chiave API (la quota è il burst, la finestra è il tempo necessario a ricaricarla completamente; per una sessione èuser, senza credenzialiip);minute,dayemonthsono le quote dell’organizzazione per il minuto, il giorno e il mese di calendario in UTC.RateLimitQuanto resta di ciascun limite di
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite della voce più restrittiva di
RateLimit-Policy(quella con meno richieste rimanenti).X-RateLimit-RemainingRichieste rimanenti nel limite più restrittivo.
X-RateLimit-ResetSecondi che mancano all’azzeramento del limite più restrittivo.
application/json
403L’azione non è consentita: il ruolo non è sufficiente, manca l’accesso alla raccolta o alla scheda, la richiesta viene eseguita in modalità “View as”, oppure l’organizzazione è sospesa o eliminata (`detail` è un oggetto con `code: org_suspended | org_deleted`).
Intestazioni della risposta
RateLimit-PolicyLimiti in vigore, nel formato della bozza IETF
draft-ietf-httpapi-ratelimit-headers: elementi separati da virgole"<name>";q=<quota>;w=<window in seconds>.keyè la frequenza delle richieste della chiave API (la quota è il burst, la finestra è il tempo necessario a ricaricarla completamente; per una sessione èuser, senza credenzialiip);minute,dayemonthsono le quote dell’organizzazione per il minuto, il giorno e il mese di calendario in UTC.RateLimitQuanto resta di ciascun limite di
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite della voce più restrittiva di
RateLimit-Policy(quella con meno richieste rimanenti).X-RateLimit-RemainingRichieste rimanenti nel limite più restrittivo.
X-RateLimit-ResetSecondi che mancano all’azzeramento del limite più restrittivo.
application/json
429Troppe richieste (`api.rate_limited`), la quota dell’organizzazione per il minuto, il giorno o il mese è esaurita (`api.quota_exceeded`; `error.details` contiene `quota`, `limit` e `reset_at`), è stato raggiunto il limite dell’organizzazione, oppure il servizio delle risposte è occupato (`answers.engine_busy`). Attendi il tempo indicato nell’intestazione `Retry-After`.
Intestazioni della risposta
Retry-AfterNumero di secondi da attendere prima di ripetere la richiesta.
RateLimit-PolicyLimiti in vigore, nel formato della bozza IETF
draft-ietf-httpapi-ratelimit-headers: elementi separati da virgole"<name>";q=<quota>;w=<window in seconds>.keyè la frequenza delle richieste della chiave API (la quota è il burst, la finestra è il tempo necessario a ricaricarla completamente; per una sessione èuser, senza credenzialiip);minute,dayemonthsono le quote dell’organizzazione per il minuto, il giorno e il mese di calendario in UTC.RateLimitQuanto resta di ciascun limite di
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite della voce più restrittiva di
RateLimit-Policy(quella con meno richieste rimanenti).X-RateLimit-RemainingRichieste rimanenti nel limite più restrittivo.
X-RateLimit-ResetSecondi che mancano all’azzeramento del limite più restrittivo.
application/json
503Un servizio da cui dipende questa richiesta non è temporaneamente disponibile. Riprova più tardi.
Intestazioni della risposta
RateLimit-PolicyLimiti in vigore, nel formato della bozza IETF
draft-ietf-httpapi-ratelimit-headers: elementi separati da virgole"<name>";q=<quota>;w=<window in seconds>.keyè la frequenza delle richieste della chiave API (la quota è il burst, la finestra è il tempo necessario a ricaricarla completamente; per una sessione èuser, senza credenzialiip);minute,dayemonthsono le quote dell’organizzazione per il minuto, il giorno e il mese di calendario in UTC.RateLimitQuanto resta di ciascun limite di
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimite della voce più restrittiva di
RateLimit-Policy(quella con meno richieste rimanenti).X-RateLimit-RemainingRichieste rimanenti nel limite più restrittivo.
X-RateLimit-ResetSecondi che mancano all’azzeramento del limite più restrittivo.
application/json
Codici di errore
Codici che questo endpoint può restituire in error.code, oltre ai codici generali di ogni richiesta.
Nuovi tentativi sicuri
Invia un’intestazione Idempotency-Key (per esempio un UUID) con ogni POST e PATCH. Un nuovo tentativo con la stessa chiave entro 24 ore restituisce la risposta salvata invece di eseguire di nuovo la richiesta.
Limiti di frequenza
Le risposte contengono le intestazioni RateLimit e RateLimit-Policy e le precedenti X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset. Una risposta 429 contiene Retry-After in secondi: attendi e riprova.