Sådan vurderer du kvaliteten af apps til Business Central

Ifølge eksperten fra Abakion kan en god app til Business Central kendes på sin tabelstruktur og på, at den bygger oven på Microsofts standard i stedet for at lave parallel logik. På Microsoft Marketplace er der omkring 9.000 apps, og kvaliteten kan sjældent ses på produktsiden. En dårlig app laver sin egen prislogik eller skriver halve transaktioner til databasen. Sune Lohse fra Abakion forklarer, hvordan du vurderer kvaliteten, og hvorfor du bør spørge din partner.

Ikke alle apps på Microsoft Marketplace er gode. Med omkring 9.000 apps at vælge imellem er den svære del at skelne de gode fra de dårlige, og kvaliteten er sjældent til at se udefra. Den bedste rettesnor er, hvordan appen er bygget oven på Business Central, og det bedste råd er at læne sig op ad en partner, der kender apps i forvejen. Sune Lohse har stået i spidsen for udviklingen af mange af Abakions apps.

App eller crap? Gode og dårlige Apps til Business Central

Lyt til dette afsnit i:

Hvor mange af de 9.000 apps på Marketplace er gode?

De fleste af dem er dårlige, ikke fordi de er skadelige, men fordi en stor del af dem næsten ingenting laver. De svarer til et lille stykke brød på en café med de vildeste menuer. Det er ikke dårligt, det er bare meget lille, ofte ikke mere end et enkelt felt på en tabel.

En app, du lige så godt selv kunne have lavet med en Power App eller en lille smule AI, er ikke en dårlig app. Den er en ligegyldig app. Og dem er der mange af. Men der er også mange rigtig gode apps derude. Udfordringen er, at uanset hvad du søger på, så er der masser af valgmuligheder, og du kan ikke se kvaliteten på produktsiden.

Hvad gør en app til Business Central god?

En god app bygger oven på Microsofts standardløsning og kalder på standardlogikken. Det primære kvalitetskriterie er tabelstrukturen, for den afgør, om løsningen er gennemtænkt, eller om den er sat hurtigt sammen. To ting tæller: hvad appen bygger i sin egen struktur, og i hvor høj grad den bygger oven på standarden.

En god app extender standarden. Den lægger nye muligheder oven på, uden at spærre for andre. Når du så lægger endnu en velbygget app oven på, kan den også komme til. Det er god stil, og det er det, du kan bruge til noget, når din løsning vokser.

At bygge appen er ikke det svære. Det kan gøres hurtigt i dag, og AI gør det endnu hurtigere. Det svære er at designe den rigtigt. Det er tavlegymnastik med whiteboard og tusch, længe før der bliver skrevet kode.

Hvad kendetegner en dårlig app til Business Central?

En dårlig app laver parallel logik. Den gør ikke det, standarden gør, men vælger at gøre tingene på sin egen måde for at bypasse noget, standarden ellers ville have klaret.

Prislogikken er et godt eksempel. Hvis en app laver sine egne prismatricer og sin egen prislogik og dermed ignorerer Business Centrals prislogik, så bliver alle de andre apps, der kalder på standardpriserne, sat ud af spillet. Enten sætter den ene app de andre til side, eller også bliver den selv sat til side. En app, der konflikter med andre apps i sin grundstruktur, er blandt de dårligste, du kan installere.

Hvad er en dræber-app i Business Central?

En dræber-app laver det, vi teknisk kalder commits midt i en transaktion. Den skriver til databasen på steder, hvor den ikke skal, og kan stoppe en halv transaktion. Så kan du komme til at bogføre en salgsordre, hvor kun halvdelen af posterne bliver lavet.

Den slags findes derude, og Microsoft fanger det ikke, for Microsoft læser ikke koden igennem. Resultatet er dræber-apps, der efterlader halve eller etbenede poster nede i finansen. En partner med bare en smule værdighed laver ikke sådan noget, fordi den slags skal håndteres meget forsigtigt og de helt rigtige steder.

Kan du styre rækkefølgen, når flere apps lytter på samme felt?

Nej. Mange apps abonnerer på de samme felter. Antalsfeltet på en salgsordrelinje er et klassisk eksempel, for når du taster i antal, sker der en masse mellem himmel og jord. Teknisk kalder vi det on-after-validate: en hændelse, der udløses, når nogen skriver i feltet.

Du kan ikke sætte en rækkefølge op. Du kan ikke bestemme, at din app skal kaldes først eller sidst. En masse apps abonnerer på den samme hændelse, det skal passe sammen, og der er ingen, der tjekker det. Det kan hverken partneren eller Microsoft. Derfor bør du som virksomhed vide, hvilke apps du installerer, og være ekstra opmærksom på de felter, hvor der sker noget:

  • antal
  • pris
  • dato
  • frigivelse af salgs- og købsordrer

Købsordregodkendelsesflowet fra Microsoft viser problemet. Det virker i praksis ikke sammen med rigtig mange apps, fordi en partner har bygget noget oven på frigivelsen af købsordren. Slår nogen så standardgodkendelsen til, går appen i stå, fordi der pludselig skal ske en godkendelse, man har glemt at teste for.

Tester Microsoft apps til Business Central?

Nej, Microsoft tester ikke, at appen løser din opgave. Microsoft validerer, at koden kompilerer og overholder reglerne, og at appen kan køre på Business Central uden at ødelægge standarden. Microsoft læser ikke koden igennem og tester ikke, at appen spiller sammen med al anden funktionalitet. Testen af, at det virker i praksis, ligger hos virksomheden selv.

Det bliver kun sværere med tiden. Microsoft ruller ny funktionalitet ud i stigende tempo, og AI gør Microsofts udrulning endnu hurtigere. En app, der var testet og lækker for et år siden, kan gå i stå, når Microsoft slår en ny funktion til, for eksempel købsordregodkendelse. Det opdager man typisk først, når en kunde ringer og siger, at det ikke virker længere. Abakion kan få AI til at hjælpe med at følge med, men Microsoft får også AI til at hjælpe sig med at lave det, der kan påvirke os.

Hvordan skriver du data ind i Business Central udefra med Power Apps?

Gør kun det, en bruger også kunne gøre. Du kan ikke bare bygge oven på et ERP-system udefra og skrive løs, heller ikke med AI. Når du trykker bogfør i Business Central, ruller der mange linjer kode igennem, og der sker meget mere, end man tror.

En god regel: hvis du står udefra med Power Apps og skriver ind i Business Central, så nøjes med at gøre det, en bruger også kunne gøre. Udfylder du en salgsordrelinje og trykker bogfør, bare automatiseret, så har du gjort det samme som en bruger, og så er du hjemme på gården. Vil du beregne noget, så lad Business Central gøre det, den er bedst til. Træk de data, du skal bruge, ind i et Power Automate-job, saml dem, og aflever dem i et API-kald i stedet for at bygge din egen beregningsmotor uden om den, der allerede findes.

Det samme gælder data, du hælder ind. Med Configuration Packages kan du importere ikke-valideret, og så ryger der let skrammel i basen. Hos en kunde, der var i gang med at opgradere, virkede en shippingkode på debitorkortet ikke oppe på salgsordren, fordi der ikke lå en shipping-adresse bagved. Koden var fyret ind ikke-valideret. Havde den været valideret, som når en bruger taster feltet, så var fejlen kommet med det samme. Konsistente data kræver, at tabelstrukturen og løsningsdesignet er i orden.

Hvilke app-problemer er stadig uløste i Business Central?

Et eksempel er at måle en leverandørs leveringsevne på en købsordre, altså bekræftet leveringsdato op mod reel leveringsdato. Det er et ønske, Sune Lohse har nævnt første gang for 20 år siden.

Problemet er virkeligheden. Indkøberen retter datoerne, nogle gange for selv at skubbe dem, nogle gange fordi leverandøren ændrer den bekræftede dato flere gange. Det gør det svært at lave en ordentlig datastruktur. Nogle apps ender med 10 til 15 datafelter på en købslinje, første, anden og tredje bekræftede dato. Det er en grim datastruktur. En pæn løsning kræver en logning, der gemmer en record per hændelse, og at indkøberen registrerer en årsagskode, hver gang datoen flyttes. Kan du ikke tvinge den registrering igennem, får du dårlige data, og så virker appen ikke. Tvinger du den igennem med en pop-up, risikerer du at spærre for andre funktioner. Det trækker hurtigt op i 100 til 200 timer, selv med AI.

Hvordan vælger du de gode apps til Business Central

Læn dig op ad en partner, der kender apps i forvejen. Du kan ikke selv gennemskue kvaliteten på 9.000 apps, og der findes ikke et sted med telemetri, hvor du kan kigge under motorhjelmen som i en task-liste på din pc. Performance er sjældent problemet, for dårlig ydelse kan som regel kodes væk, og det får vi hjælp til af AI. Det, du kan se, er tabelstrukturen. Med de rette rettigheder kan du zoome ind i appen og se, hvilke tabeller og felter den bruger. Det værste syn er en parallel struktur, for eksempel en varetabel bygget som en helt ny tabel ved siden af standardens.

Det kræver ofte en, der er vant til at kigge under motorhjelmen, og derfor er det gode råd at læne sig op ad sin partner. Det er partnerens job at sætte en portefølje af apps sammen, der virker sammen. Hos Abakion peger vi på apps, vi kender og er trygge ved, og som fungerer med resten af det, vi leverer, for eksempel Warehouse fra Tasklet Factory og produkter fra Continia. Henter du selv apps ned i flæng, kan Abakion ikke tage ansvar for det. Giver en app, du selv har valgt, en fejl, som Abakion bruger 20 timer på at debugge på din database, så koster de 20 timer.

Microsoft Marketplace er ikke en bland selv-slikbutik. Skal du løse noget stort som planlægning, så invitér flere leverandører ind på skift, læg dit konkrete problem på bordet, og vær kritisk på de komponenter, de kommer med. En dygtig partner siger enten, hvordan deres motor løser det, og hvad det koster, eller ærligt, at det kan de ikke. Begge svar er værd at lytte til. Snak med din partner, test grundigt, og lav gerne evalueringsrunder. Hvis du har råd til det, er det pengene værd.

Frequently asked questions

Hvad er det vigtigste tegn på en god app til Business Central?

Tabelstrukturen. En god app til Business Central bygger oven på Microsofts standardløsning og kalder på standardlogikken, så andre apps kan lægge sig oven på uden at konflikte. Kvaliteten sidder i løsningsdesignet, ikke i, hvor hurtigt appen er bygget.

Hvad er parallel logik i en app?

Parallel logik er, når en app ikke gør det, standarden gør, men laver sin egen version ved siden af. En app, der laver sine egne prismatricer og ignorerer Business Centrals prislogik, sætter alle de andre apps, der kalder på standardpriserne, ud af spillet.

Tester Microsoft, at en app virker sammen med resten af Business Central?

Nej. Microsoft validerer, at koden kompilerer og kan køre på Business Central uden at ødelægge standarden. Microsoft læser ikke koden igennem og tester ikke, at appen løser din opgave eller spiller sammen med al anden funktionalitet.

Hvorfor holder en app pludselig op med at virke?

Fordi Microsoft har slået ny standardfunktionalitet til, som appen ikke var bygget til. En app, der var testet for et år siden, kan gå i stå, når for eksempel standardkøbsordregodkendelse aktiveres, og det opdages typisk først, når en bruger melder fejl.

Hvem betaler, hvis en app, jeg selv har hentet, giver fejl?

Det gør du. Hvis du selv henter en app ned, og Abakion bruger 20 timer på at debugge fejlen på din database, så skal du betale for de 20 timer, især hvis fejlen skyldes en app, der ikke bygger pænt oven på standarden.