OData för Power BI och Excel
Ska rapporten bara läsa data behöver du ingen integration. BI-verktyget kopplas direkt mot systemet med samma API-nyckel.
API och integrationer OData
Fluit exponeras som ett OData-flöde som Power BI, Excel och andra BI-verktyg kopplar upp sig mot direkt. Ingen export, ingen nattlig fil, ingen kopia som är en dag gammal. Du väljer själv kolumner, filter och perioder i verktyget; bara det hämtas.
- Bas-URL
- https://api.erp.fluit.cloud/odata
- Autentisering
-
API-nyckel i headern
X-Api-Keyeller HTTP Basic med nyckeln som användarnamn, vilket är vad Power BI och Excel använder. - Behörighet
- Read-only. Ytan deklarerar inga skrivoperationer alls, så rapportverktyget kan aldrig ändra något i Fluit, och nyckeln når bara ditt eget företags data.
- Schema
-
Alla tabeller, fält och datatyper finns i
https://api.erp.fluit.cloud/odata/$metadata.
Tabeller i flödet
16 platta tabeller: dimensioner och fakta, redo att relateras i verktyget.
| Tabell | Innehåll | Kolumner i urval |
|---|---|---|
| Customers | Kundregistret: namn, organisationsnummer, ort, kundgrupp och aktiv-flagga. | CustomerNumber, Name, CustomerGroupCode, IsActive, CreatedDate |
| Suppliers | Leverantörsregistret med kontaktuppgifter och ledtid. | SupplierNumber, Name, LeadTimeDays, IsActive, CreatedDate |
| Items | Artikelregistret: typ, status, kategori, enhet, vikt, försäljningspris och varumärke. | ItemNumber, Name, ItemType, Status, CategoryName, SalesPrice |
| ItemWarehouses | Lagersaldo per artikel och lager: saldo, allokerat, tillgängligt, snittkostnad och lagervärde. | ItemNumber, WarehouseCode, TotalQuantity, AvailableQuantity, AverageCost, StockValue, SafetyStock |
| SalesOrders | Kundorderhuvuden med status, datum, kund och belopp med och utan moms. | OrderNumber, Status, OrderDate, PlannedDeliveryDate, CustomerNumber, TotalAmount, TotalAmountIncludingTax |
| SalesOrderLines | Kundorderrader med kvantitet, pris, rabatt samt levererad och fakturerad kvantitet. | OrderNumber, LineNumber, ItemNumber, Quantity, UnitPrice, LineTotal, DeliveredQuantity, InvoicedQuantity |
| PurchaseOrders | Inköpsorderhuvuden med status, leverantör, orderdatum och förväntad leverans. | OrderNumber, Status, OrderDate, ExpectedDeliveryDate, SupplierNumber, TotalAmount |
| PurchaseOrderLines | Inköpsorderrader med beställd och mottagen kvantitet, pris och radsumma. | OrderNumber, LineNumber, ItemNumber, Quantity, ReceivedQuantity, UnitPrice, LineTotal |
| Pipelines | Säljpipelines med typ, antal steg och om de är aktiva. | Name, Type, StageCount, IsDefault, IsActive |
| PipelineStages | Stegen i varje pipeline: ordning, sannolikhet och vunnet/förlorat-flaggor. | PipelineName, Name, SortOrder, Probability, IsWon, IsLost |
| Deals | Affärer med belopp, viktat belopp, status, pipeline och steg, kund, ägare och förväntat stängningsdatum. | Title, Status, PipelineName, StageName, StageOrder, CustomerNumber, Amount, WeightedAmountBase, ExpectedCloseDate |
| DealStageHistory | Ett stegbyte per rad — underlaget för genomloppstid per steg och konvertering mellan steg. | DealId, DealTitle, FromStageName, ToStageName, ChangedAt |
| Quotes | Offerthuvuden med status, kund, giltighetstid, nettobelopp och koppling till affär och order. | QuoteNumber, Status, CustomerNumber, QuoteDate, ValidUntil, TotalAmount, TotalAmountBase, ConvertedToOrderNumber |
| QuoteLines | Offertrader med antal, pris, rabatt, radsumma och moms. | QuoteNumber, LineNumber, ItemNumber, Quantity, UnitPrice, LineTotal, TaxAmount |
| Activities | Loggade CRM-aktiviteter: samtal, e-post, möten och anteckningar, med tid och ägare. | Type, Subject, ActivityDate, DurationMinutes, CustomerNumber, DealTitle, OwnerId |
| Contacts | Kontaktpersoner hos kund med roll, avdelning, beslutsnivå och kontaktvägar. | CustomerNumber, Name, Title, Department, DecisionLevel, Email, Phone |
Utkast (ordrar som ännu inte är lagda) och borttagna poster ingår inte. En summering av
SalesOrders innehåller alltså aldrig provisoriska
belopp, utan bara det som faktiskt gäller.
Så kopplar du upp dig
Power BI
- Skapa en API-nyckel i Fluit under Inställningar → API-nycklar.
- Hämta data → OData-flöde och ange bas-URL:en ovan.
- Välj kontotypen Grundläggande (Basic).
- Skriv API-nyckeln som användarnamn och anslut.
- Bocka i tabellerna du vill ha och klicka Läs in.
Excel
- Data → Hämta data → Från andra källor → Från OData-flöde.
- Ange bas-URL:en ovan.
- Välj Grundläggande och skriv API-nyckeln som användarnamn.
- Välj tabell och klicka Läs in.
Både Power BI Service och Excel kan schemalägga uppdatering, samma nyckel återanvänds, så rapporten håller sig aktuell av sig själv.
Varför Basic och inte headern? Power BI:s och Excels OData-kopplingar kan inte skicka en egen
X-Api-Key-header. Därför tar ytan emot samma nyckel
via HTTP Basic. Bygger du en egen klient använder du headern som vanligt.
Relatera tabellerna
Flödet levererar platta tabeller utan navigationsegenskaper. Du relaterar dem själv i modellvyn, på affärsnycklarna. Det innebär också att integrationen aldrig behöver spegla Fluits interna id:n.
- SalesOrderLines[OrderNumber] → SalesOrders[OrderNumber]
- SalesOrders[CustomerNumber] → Customers[CustomerNumber]
- SalesOrderLines[ItemNumber] → Items[ItemNumber]
- PurchaseOrderLines[OrderNumber] → PurchaseOrders[OrderNumber]
- PurchaseOrders[SupplierNumber] → Suppliers[SupplierNumber]
- PurchaseOrderLines[ItemNumber] → Items[ItemNumber]
- ItemWarehouses[ItemNumber] → Items[ItemNumber]
- Deals[CustomerNumber] → Customers[CustomerNumber]
- Deals[StageId] → PipelineStages[Id]
- PipelineStages[PipelineId] → Pipelines[Id]
- DealStageHistory[DealId] → Deals[Id]
- Quotes[CustomerNumber] → Customers[CustomerNumber]
- QuoteLines[QuoteNumber] → Quotes[QuoteNumber]
- QuoteLines[ItemNumber] → Items[ItemNumber]
- Activities[DealId] → Deals[Id]
- Contacts[CustomerNumber] → Customers[CustomerNumber]
Filtrera direkt i URL:en
Frågan körs mot databasen, inte i minnet: ett filter på orderdatum hämtar bara de raderna.
# Aktiva kunder, bara nummer och namn, max 10
https://api.erp.fluit.cloud/odata/Customers?$filter=IsActive eq true&$select=CustomerNumber,Name&$top=10
# Kundorder från ett visst datum, nyast först
https://api.erp.fluit.cloud/odata/SalesOrders?$filter=OrderDate ge 2026-01-01&$orderby=OrderDate desc
# Antal artiklar med saldo i ett visst lager
https://api.erp.fluit.cloud/odata/ItemWarehouses?$filter=WarehouseCode eq 'HUVUD' and TotalQuantity gt 0&$count=true
Stödda frågeoperatorer: $select, $filter, $orderby, $top, $skip och $count. Fältnamn skrivs med stor begynnelsebokstav. Stora tabeller sidindelas automatiskt med 200
rader per sida och $top är begränsat till 1000.
Power BI och Excel hämtar alla sidor åt dig.
Nyckeln visas bara en gång när den skapas, och kan återkallas när som helst under Inställningar → API-nycklar. Behöver du fler tabeller i flödet, eller hjälp att bygga upp modellen? Hör av dig.
Ska integrationen också skriva?
OData-ytan är read-only. Ska ett system skapa ordrar eller uppdatera artiklar använder du REST API:et med samma API-nyckel.
Vanliga frågor om OData-flödet
- Kan jag koppla Power BI eller Excel till Fluit?
- Ja. Fluit exponerar ett read-only OData-flöde på https://api.erp.fluit.cloud/odata med 16 tabeller: kunder, leverantörer, artiklar, lagersaldo per lager, kund- och inköpsorder med rader samt CRM med affärer, pipelines, offerter, aktiviteter och kontaktpersoner. I Power BI väljer du Hämta data → OData-flöde, i Excel Data → Hämta data → Från OData-flöde. Logga in med kontotypen Grundläggande (Basic) och skriv din API-nyckel som användarnamn. Ingen export, ingen mellanlagring. Rapporten läser direkt ur systemet och kan schemaläggas att uppdatera sig själv.
- Går det att ändra data via OData-flödet?
- Nej. OData-ytan är read-only och deklarerar varken skrivoperationer eller funktioner: ett rapportverktyg kan aldrig ändra något i Fluit. Ska du skriva data använder du REST API:et. Nyckeln ser bara ditt eget företags data.
- Vilka OData-frågeoperatorer stöds?
- $select, $filter, $orderby, $top, $skip och $count. Frågan körs mot databasen, inte i minnet, så ett filter på orderdatum hämtar bara de raderna. Stora tabeller sidindelas automatiskt med 200 rader per sida och $top är begränsat till 1000. Power BI och Excel hämtar alla sidor åt dig. Fälten och deras datatyper står i $metadata.
- Varför loggar Power BI in med Basic i stället för API-nyckel i headern?
- Power BI:s och Excels OData-kopplingar kan inte skicka en egen X-Api-Key-header. Därför tar ytan emot samma nyckel via HTTP Basic, med nyckeln som användarnamn. Bygger du en egen klient använder du headern som vanligt.
- Ingår utkast och borttagna poster i flödet?
- Borttagna poster ingår aldrig. Utkast — ordrar som ännu inte är lagda — utesluts också, så en summering av SalesOrders innehåller aldrig provisoriska belopp. CRM-tabellerna är undantaget: där ingår hela livscykeln, inklusive offertutkast och öppna affärer, eftersom det är själva poängen med en tratt. Filtrera på Status när du bara vill ha en del av den.
Vill ni se rapporten mot er egen data?
Vi kopplar upp Power BI mot ett skarpt Fluit-system och visar vägen från tabell till färdig rapport.