PowerOffice Go-integrasjon¶
PowerOffice Go er en SaaS-regnskapsplattform. ePortal har fire adaptere mot PowerOffice Go: import av stamdata, import/oppdatering av ansatte, eksport av godkjente fakturagrunnlag som utgående fakturaer, og import av timetransaksjoner som KPI-cache. I tillegg finnes en live finansrapporterings-tjeneste som henter saldobalanse, transaksjoner og budsjett direkte fra PowerOffice Go uten lokal cache.
Type: Server-til-server REST/OData over OAuth 2.0 client credentials Modul i ePortal: Konfigureres og overvåkes i Konti Connect-modulen
Tilgang¶
| Hvem | Hva trengs |
|---|---|
| Hos PowerOffice Go | API-bruker (Client ID + Client Secret) generert i PowerOffice Go-administrasjonen |
| Hos Konti | Administrator-tilgang til Konti Connect-modulen |
| Hos kunden | Aktivt PowerOffice Go-abonnement |
Adapterne autentiseres maskin-til-maskin med grant_type=client_credentials og Basic Auth (base64(ClientId:ClientSecret)) — det er ingen brukerinnlogging eller browser-redirect ved oppsett. Se PowerOfficeGoApiService.cs:75.
Hva integrasjonen synker¶
ePortal har følgende adaptere mot PowerOffice Go (registrert som integrasjons-typer i wv_IntegrationType):
| Retning | Adapter / IntegrationTypeCode | Hva | Kilde |
|---|---|---|---|
| PowerOffice → ePortal | PowerOfficeGoMasterDataImport |
Kunder, leverandører, produkter, avdelinger, prosjekter, kontoplan (GL accounts) | PowerOfficeGoMasterDataImportAdapter.cs:17-23 |
| PowerOffice → ePortal | PowerOfficeGoEmployeeImport |
Ansatte — matches på Code → wv_User.userEmplNo. Oppdatering kun (kan opprette nye hvis CreateNewUsers=true) |
PowerOfficeGoEmployeeImportAdapter.cs:18-21 |
| ePortal → PowerOffice | PowerOfficeGoInvoiceExport |
Godkjente fakturagrunnlag (wv_InvoiceBasis med Status='Approved') som utgående fakturaer via POST /OutgoingInvoice |
PowerOfficeGoInvoiceExportAdapter.cs:19-27 |
| PowerOffice → ePortal | PowerOfficeGoTimeKpiImport |
Timetransaksjoner fra GET /TimeTracking/TimeTrackingEntry lastes inn i lokal KPI-cache (per ansatt/aktivitet/dato). Brukes til time-rapportering uten å hamre PoGo Reporting API |
PowerOfficeGoTimeKpiImportAdapter.cs:14-22 |
| PowerOffice → ePortal (live) | Finansrapportering | Saldobalanse, transaksjoner, budsjett og resultatsammendrag hentes on-demand uten lokal cache | PowerOfficeGoFinancialReportingService.cs |
Merk om API-base-URL: Stamdata-, ansatt-, faktura- og finansrapporterings-adapterne bruker
https://go.poweroffice.net(default). Time-KPI-adapteren brukerhttps://api.poweroffice.net(det legacy Reporting API-et) (PowerOfficeGoTimeKpiImportAdapter.cs:41) — settApiBaseUrleksplisitt hvis du flytter integrasjonen mellom miljøer.Merk: Bilag fra aktivering-timer går ikke til PowerOffice Go. Den voucher-flyten er kun implementert mot Visma Business NXT.
Forutsetninger¶
- PowerOffice Go-abonnement er aktivt
- ePortal har Konti Connect-modulen aktivert for tenant
- Du har generert Client ID + Client Secret i PowerOffice Go
- Kontoplanen i PowerOffice Go er ferdig oppsatt —
DefaultSalesAccount(standard3000) brukes for fakturalinjer uten produktkode
Slik gjør du — første oppsett¶
1. Generer API-credentials i PowerOffice Go¶
I PowerOffice Go-administrasjonen oppretter du en API-bruker som gir deg Client ID og Client Secret. Disse brukes som maskin-til-maskin-credentials — det opprettes ingen vanlig brukersesjon.
2. Opprett integrasjon i Konti Connect¶
- Gå til Konti Connect → Integrasjoner → Ny integrasjon
- Velg ønsket adapter (
PowerOfficeGoMasterDataImport,PowerOfficeGoEmployeeImportellerPowerOfficeGoInvoiceExport) - Fyll inn autentiseringsverdier:
- ClientId (påkrevd)
- ClientSecret (påkrevd, lagres kryptert)
- Fyll inn konfigurasjonsverdier (se "Konfigurasjon" nedenfor)
3. Test tilkoblingen¶
Kjør integrasjonen manuelt fra Konti Connect (se Kjøre integrasjon manuelt). Den første kjøringen autentiserer mot /OAuth/Token på ApiBaseUrl — ved feil får du HTTP 401 med PowerOffice Go sin egen feilmelding i loggen. Se PowerOfficeGoApiService.cs:110-112.
4. Aktivér og planlegg¶
Etter vellykket testkjøring kan integrasjonen aktiveres på vanlig måte i Konti Connect og settes opp med ønsket frekvens.
Konfigurasjon — adapterne¶
Stamdata-import (PowerOfficeGoMasterDataImport)¶
| Nøkkel | Standard | Beskrivelse |
|---|---|---|
ApiBaseUrl |
https://go.poweroffice.net |
API base-URL |
ClientId |
— | OAuth client ID (auth) |
ClientSecret |
— | OAuth client secret (auth) |
EnableDeltaSync |
true |
Henter kun rader med lastChanged etter LastSyncTimestamp |
LastSyncTimestamp |
(null) | ISO-timestamp for siste vellykkede synk |
ImportCustomers |
true |
Synk kunder → wv_Actor via delt aktør-writer (matcher på actCustNo; finnes ingen match, slås kunden sammen med en leverandør-rad med samme org.nr. før det opprettes en ny rad). acttID settes ikke — rollen (kunde/leverandør) avledes av at actCustNo/actSupNo er utfylt |
ImportSuppliers |
true |
Synk leverandører → wv_Actor via delt aktør-writer (matcher på actSupNo; finnes ingen match, slås leverandøren sammen med en kunde-rad med samme org.nr. før det opprettes en ny rad). acttID settes ikke |
ImportProducts |
true |
Synk produkter → wv_ExtCache_Product |
ImportDepartments |
true |
Synk avdelinger → wv_Time_Dep + wv_ExtCache_AccVoucher (DataType=2) |
ImportProjects |
true |
Synk prosjekter → wv_Time_Proj + wv_ExtCache_AccVoucher (DataType=3) |
ImportGLAccounts |
true |
Synk kontoplan → wv_ExtCache_AccVoucher (DataType=1) |
Kilde: PowerOfficeGoMasterDataImportAdapter.cs:63-66, 89-138.
Ansatt-import (PowerOfficeGoEmployeeImport)¶
| Nøkkel | Standard | Beskrivelse |
|---|---|---|
ApiBaseUrl |
https://go.poweroffice.net |
API base-URL |
ClientId / ClientSecret |
— | Auth (påkrevd) |
EnableDeltaSync |
true |
Delta-filter på lastChanged |
UpdateEmail |
true |
Oppdater wv_User.userEmail |
UpdatePhone |
true |
Oppdater telefonnummer |
CreateNewUsers |
false |
Hvis true: opprett nye wv_User-rader for ansatte som ikke finnes |
DefaultUserLevelId |
2 |
Brukernivå for nye brukere |
Matchnøkkelen er PowerOffice Employee.code → wv_User.userEmplNo. Kilde: PowerOfficeGoEmployeeImportAdapter.cs:18-36.
Faktura-eksport (PowerOfficeGoInvoiceExport)¶
| Nøkkel | Standard | Beskrivelse |
|---|---|---|
ApiBaseUrl |
https://go.poweroffice.net |
API base-URL |
ClientId / ClientSecret |
— | Auth (påkrevd) |
DryRun |
false |
Validér uten å POSTe til PowerOffice Go |
DefaultSalesAccount |
3000 |
GL-konto som brukes for linjer uten egen produktkonto |
Kilde: PowerOfficeGoInvoiceExportAdapter.cs:29-32, 76-82.
Time-KPI-import (PowerOfficeGoTimeKpiImport)¶
| Nøkkel | Standard | Beskrivelse |
|---|---|---|
ApiBaseUrl |
https://api.poweroffice.net |
Reporting API base-URL (annerledes enn de øvrige adapterne) (PowerOfficeGoTimeKpiImportAdapter.cs:41) |
ClientId / ClientSecret |
— | Auth — kan settes i Auth-seksjonen eller i Config-seksjonen (PowerOfficeGoTimeKpiImportAdapter.cs:42-43) |
InternalActivityTypeCodes |
200,250 |
Komma-separert liste av aktivitets-koder som regnes som "intern" tid (filtreres ut i KPI) (PowerOfficeGoTimeKpiImportAdapter.cs:56) |
EnableDeltaSync |
true |
Henter kun rader endret siden forrige kjøring (PowerOfficeGoTimeKpiImportAdapter.cs:284) |
InitialLookbackDays |
30 |
Hvor langt tilbake i tid det skal hentes første gang (når delta-cursor ikke finnes) (PowerOfficeGoTimeKpiImportAdapter.cs:287) |
LookbackHoursOnDelta |
24 |
Overlap i timer på delta-kjøringer (for å fange sent-bokførte timer) (PowerOfficeGoTimeKpiImportAdapter.cs:294) |
Tabellen lagres i wv_Time_KpiSource_PoGo (lokal KPI-cache for å unngå runtime-hit mot PoGo). Brukes hovedsakelig som datakilde for tid-relaterte KAI Live-rapporter og dashboard.
Flyt for faktura-eksport:
- OAuth-autentisering
- Hent godkjente fakturagrunnlag (
wv_InvoiceBasis.Status='Approved') inkludert linjer POST /OutgoingInvoicetil PowerOffice Go — én faktura per fakturagrunnlag- Marker fakturagrunnlaget som
Status='Sent'og lagre ERP-referanse - Marker kildelinjer på arbeidsordren (
wv_WorkOrderLine) medInvoiceStatus=30ogInvoiceReference - Logg i
wv_Integration_SyncTracking
Hva som ikke er implementert¶
For å unngå misforståelser — disse tingene er ikke del av PowerOffice Go-integrasjonen i ePortal:
- Bilag/voucher-eksport fra aktivering-timer. Voucher-adapteren finnes kun for Visma Business NXT (
VismaBusinessNXTVoucherAdapter). - Bilagsserier (VoucherSeries). Verken stamdata-import eller faktura-eksport bruker konseptet bilagsserier.
- Webhooks / push fra PowerOffice Go. All synk er pull-basert via planlagt kjøring eller manuell trigger.
- Frontend-dashboard for finansrapportering. Endepunktene under
/api/financialreporting/*finnes, men det er ingen Angular-komponent som visualiserer dataene ennå.
Se POWEROFFICE_GO_INTEGRATION_DOCUMENTATION.md §7 Known Limitations.
Sikkerhet¶
- Client Secret lagres kryptert i ePortal sin integrasjonskonfigurasjon.
- Ingen brukerinnlogging eller refresh token. Access token utstedes med
client_credentialsog caches i 10 minutter (50 % av PowerOffice Go sin 20-minutters TTL). Se PowerOfficeGoApiService.cs:45, 121-125. - Token-cachen er isolert per komplett legitimasjonssett. Cache-nøkkelen er en SHA-256-digest over token-endepunktet, ClientId og ClientSecret — ikke ClientId alene. En integrasjon som oppgir en annen kundes ClientId med feil ClientSecret får bom i cachen og sendes til PowerOffice Go, som avviser den. ClientSecret havner aldri i nøkkelen, loggen eller feilmeldinger. Se PowerOfficeGoTokenCacheIdentity.cs.
- Roter Client Secret i PowerOffice Go-administrasjonen ved mistanke om kompromittering — oppdater så ClientSecret-feltet i Konti Connect. Det nye legitimasjonssettet har sin egen cache-nøkkel og autentiseres mot PowerOffice Go ved første kjøring; den gamle oppføringen utløper av seg selv innen 10 minutter.
- Rate limiting: 100 ms minimum mellom kall, 3 retries med eksponentiell backoff (1s/2s/4s) på
429og5xx. RespektererRetry-After-header. - GDPR: Kunde- og ansatt-data overføres etter avtale — sjekk databehandleravtalen.
Vanlige problemer¶
OAuth-autentisering feilet: HTTP 401¶
Loggen viser PowerOffice Go sitt eget feilsvar.
- Sjekk at ClientId og ClientSecret er korrekt limt inn (uten ekstra mellomrom)
- Sjekk at API-brukeren i PowerOffice Go fortsatt er aktiv
- Sjekk at
ApiBaseUrler korrekt (defaulthttps://go.poweroffice.net)
Kilde: PowerOfficeGoApiService.cs:110-112.
ClientId og ClientSecret er påkrevd i autentiseringsinnstillinger¶
Auth-verdiene mangler. Åpne integrasjonen i Konti Connect og fyll inn begge feltene under autentisering. Kilde: PowerOfficeGoMasterDataImportAdapter.cs:67-70.
Kundenummer ... utenfor int-område, hopper over¶
PowerOffice Go bruker long for Customer Code, mens ePortal lagrer som int. Kundenumre over ~2,1 milliarder hoppes over og rapporteres i loggen. I praksis svært sjelden. Kilde: PowerOfficeGoMasterDataImportAdapter.cs:183-188.
Ansatt-import oppdaterer ikke nye personer¶
CreateNewUsers er som standard false. Sett til true i konfigurasjonen hvis du vil at adapteren skal opprette wv_User-rader for ansatte som ikke matcher eksisterende userEmplNo.
HTTP 429 — Rate limit¶
PowerOffice Go har rate limits. ePortal venter automatisk i henhold til Retry-After-header og prøver opp til 3 ganger. Hvis kjøringen fortsatt feiler, vent og kjør på nytt — eller del kjøring opp i mindre batcher.
HTTP 5xx fra PowerOffice Go¶
Server-feil hos PowerOffice Go retries automatisk (1s, 2s, 4s). Hvis alle 3 forsøk feiler, sjekk PowerOffice Go status-side og prøv på nytt senere.
Relaterte sider¶
- Konti Connect-modulen — drift og overvåkning
- Integrasjoner — oversikt
- Sette opp ny integrasjon
- Kjøre integrasjon manuelt
- Lese kjøringslogg
- Bankavstemming — kan bruke regnskapsdata fra PowerOffice Go


