Prognos på intäkter via Fortnox Avtal

Fortnox avsaknar den enkla funktionen att skapa en prognos på datan som finns i Fortnox Avtal.

Det är går att manuellt ta fram framtida intäkter via Fortnox Avtal. Fortnox har dock bestämt sig för att det är en bra idé att summera EUR som SEK och visa totalsumman på avtalen i inkl moms.

Kan Enhanza hjälpa med detta?

1 gillning

Hej @Oscar!

Tack för din fråga! I dagsläget hämtar vi inte data från Fortnox Avtal. Det har helt enkelt inte funnits en efterfrågan från kunderna.

Avtalsfakturor istället för avtalen?

Vad som däremot redan nu är möjligt, och som vi själva gör för att analysera våra abonnemang, är att använda perioden på genererade avtalsfakturor för att analysera historik och nuläge.

Två alternativ

Ni har, som jag ser det, två alternativ:

  1. Använda perioder från redan skapade avtalsfakturor som exemplet ovan.
    Då delar vi gärna med oss att den datamodell (SQL-fråga) som vi själva använder för det.

  2. Begära att vi inkludera Fortnox Avtal i vår integration. Då behöver ni vara med och finanseria en del av den utvecklingen.

Vilket alternativ skulle passa er bäst?

Tack för snabbt svar @Jon.

Du får väldigt gärna dela er datamodell!

1 gillning

Nedan kan du se den datamodell som vi använder för att visa historisk och aktuell avtalsfakturering.

Först hämtar vi alla avtalsfakturor med start- och slutdatum. Ni behöver kanske laborera med Quantity utifrån era artiklar; om ni fakturerar flera månader på en gång och om antalet är fler än 1.
Givetvis behöver ni välja era artikelnummer osv.

I nästa steg skapar vi en serie av månader utifrån fakturerade perioden.

Lycka till! Hör av dig om ni kör fast! :nerd_face:

Ps. Testkör i Google Bigquery innan ni använder den i Data Studio.

with i as (
  select
    i.InvoicePeriodStart,
    i.InvoicePeriodEnd,
    r.ArticleNumber,
    --if(r.DeliveredQuantity < 0, -1, 1) * r.DeliveredQuantity / r.DeliveredQuantity as Quantity,
    r.DeliveredQuantity as Quantity,
    if(r.DeliveredQuantity < 0, -1, 1) * r.price
    -- Convert from foreign currency to SEK
    * i.CurrencyRate *
    -- Apply any % discount rows
    IF (
      DiscountType = "PERCENT",
      1 - r.Discount / 100,
      1
    )
    -- Apply any amount discount rows
    - IF (
      DiscountType = "AMOUNT",
      r.Discount,
      0
    ) Value,
    IF (
      DiscountType = "AMOUNT",
      r.Discount,
      0
    ) Discount,
    i.ContractReference,
    i.CustomerName,
    i.DocumentNumber
  from
    `enhanza-elt.fortnox_api.invoices` i
    cross join UNNEST(InvoiceRows) r
  where
   Cancelled is false
    and ArticleNumber in("111","1001","1002")
)
select
  a as Month,
  ArticleNumber,
  safe_divide(sum(i.Quantity),sum(i.Quantity)) as Quantity,
  sum(i.Value) as Value,
  min(Discount) as Discount,
  CustomerName
from
  i
  cross join UNNEST(
    GENERATE_DATE_ARRAY(
      InvoicePeriodStart,
      InvoicePeriodEnd,
      INTERVAL 1 MONTH
    )
  ) a
group by
  Month,
  CustomerName,
  ArticleNumber
order by
  Month desc,
  CustomerName
1 gillning

Tack för det @Jon. Testar och återkommer!