Fältet Transaktionsinfo till tabell vouchers_stg

Hej,

Är det möjligt att få fältet Transaktionsinfo (TransactionInformation) tillagt i tabellen vouchers_stg?

Tack!
Andreas

Hej @Andreas! Välkommen till forumet! :wave:

Vi kommer fasa ut dataset vouchers_stg. Den ersätts av vouchers_flat.
Där finner du fältet VoucherDescription.

Är det var du söker?

Hej Jon,

VoucherDescription är “Beskrivning” av hela verifikationen och detta finns redan i voucher_stg. Vad jag är ute efter är radbeskrivning i varje rad i verifikationen. I Fortnox heter detta Transaktionsinfo.

Mvh,
Andreas

Ursäkta dröjsmålet! Nu finns fältet TransactionInformation tillgänglig i fortnox_stg.vouchers_stg.
Men vänligen observera att vi strävar efter att ersätta den med tabellerna i fortnox_flat.

Ett bra alternativ för dig skulle kunna vara att använda en “custom query” istället för att ansluta till en färdig datamodell (vy).

Du kan använda query:n nedan och i första stycket lägga till de fält du önskar från fortnox_api.vouchers.
r.” innebär transaktionsrad och “v.” övriga fält.

Löser det dina behov, @Andreas?

with v as (
  select OrgId,
  VoucherSeries,
  VoucherNumber,
  CAST(TransactionDate as DATE) TransactionDate,
  v.Description VoucherDesc,
  r.TransactionInformation,
  case
  when CAST(r.Account as INTEGER) between 1000 and 1999 then "1. Tillgångar" --1. Assets
  when CAST(r.Account as INTEGER) between 2000 and 2999 then "2. Eget kapital och skulder" --2. Equity and Liabilities
  when CAST(r.Account as INTEGER) between 3000 and 3999 then "3. Intäkter" --3. Operating income/revenue
  when CAST(r.Account as INTEGER) between 4000 and 4999 then "4. Materialkostnader" --4. Cost of goods
  when CAST(r.Account as INTEGER) between 5000 and 6999 then "5-6. Övriga kostnader" --5-6. Other external costs
  when CAST(r.Account as INTEGER) between 7000 and 7999 then "7. Personal" --7. Personnel costs
  when CAST(r.Account as INTEGER) between 8000 and 8999 then "8. Finansiella intäkter/kostnader" --8. Financials
  ELSE CAST(r.Account as STRING)
  END AccountClass,
  r.Account,
  if(r.CostCenter="",null,r.CostCenter) CostCenterID,
  if(r.Project="",null,r.Project) ProjectID,
  r.Credit,
  r.Debit,
  r.Credit - r.Debit Balance,
  v.Year
  from `enhanza-elt.fortnox_api.vouchers` v
  ,UNNEST(VoucherRows) r
  where r.removed is not true
  ),
 
fy as (
  select OrgId,
  FinancialYear,
  Year, FyCounter
  from `enhanza-elt.fortnox_stg.financial_years_stg`
  ),

a as (
  select OrgId,
  Year,
  Number,
  Description
  from `enhanza-elt.fortnox_api.accounts`
  order by OrgId, Year, Number 
),

org as (
  select OrgId, Name OrgName
  from `enhanza-elt.fortnox_api.company_settings` 
),

cc as (
  select OrgId, Code, Description
  from `enhanza-elt.fortnox_api.cost_centers`
),

p as (
  select OrgId, ProjectNumber, Description
  from `enhanza-elt.fortnox_api.projects`
)
 
select org.OrgName, v.*, fy.FinancialYear, fy.FyCounter, a.Description AccountName, cc.Description CostCenterDesc,
p.Description ProjectDesc
from v
left join fy on v.OrgId = fy.OrgId and v.Year = fy.Year
left join org on v.OrgId = org.OrgId
left join a on v.OrgId = a.OrgId and v.Year = a.Year and v.Account = a.Number
left join cc on v.OrgId = cc.OrgId and v.CostCenterID = cc.Code
left join p on v.OrgId = p.OrgId and v.ProjectID = p.ProjectNumber