SWO Finops

Jak zintegrować Dynamics 365 Business Central z Dynamics 365 Sales, Dataverse i Power Platform

Dynamics 365 Business Central (ERP) zarządza finansami i operacjami. Dynamics 365 Sales (CRM) obsługuje sprzedaż, relacje z klientami i pracę front-office. Na papierze to dwa osobne systemy – w praktyce firmy szybko odkrywają, że potrzebują, żeby działały razem.

Zespoły sprzedażowe chcą widzieć faktury i zamówienia bez wychodzenia z CRM. Dział finansowy chce mieć pewność, że dane klientów są spójne po obu stronach. I właśnie w tym miejscu pojawia się Power Platform.

Power Platform jako fundament integracji

Power Platform ułatwia integrację między aplikacjami biznesowymi Microsoftu, oferując:

  • Dataverse jako fundament danych,
  • Power Automate do automatyzacji procesów,
  • Power Apps do budowania niestandardowych aplikacji na danych biznesowych.

Dynamics 365 Sales jest zbudowany na Dataverse, co czyni go naturalnym punktem integracji z Business Central.

Natywne wsparcie integracji Business Central z Dataverse

  • integracja danych
  • automatyzacja procesów

Integracja danych polega na udostępnianiu rekordów między systemami i utrzymywaniu ich spójności tam, gdzie jest to potrzebne. Automatyzacja procesów polega na reagowaniu na zmiany, zdarzenia lub działania biznesowe i wyzwalaniu pracy w innym systemie.

Opcje integracji danych

Dwie główne natywnie obsługiwane opcje integracji danych między Business Central a Dataverse to synchronizacja danych (data sync) i Wirtualne Tabele (Virtual Tables).

Dataflows stanowią trzecią opcję i mogą być przydatne w przypadkach, gdy natywne podejścia nie spełniają w pełni wymagań.

Synchronizacja danych (Data sync)

Synchronizacja danych to domyślny natywny mechanizm utrzymywania wybranych rekordów zsynchronizowanych między Business Central a Dataverse.

Kopiuje rekordy między dwoma systemami, tak aby oba pozostawały spójne i powiązane niemal w czasie rzeczywistym (zazwyczaj kilka minut, w zależności od skonfigurowanego interwału zadania synchronizacji). Można ją skonfigurować do synchronizacji jednokierunkowej lub dwukierunkowej, w zależności od tego, który system powinien być właścicielem lub aktualizować dane.

Standardowe mapowania obejmują typowe encje biznesowe, a także opcję włączenia encji CRM.

Konfiguracja odbywa się poprzez Dataverse Connection Setup w Business Central oraz Dynamics 365 Sales Connection Setup dla funkcji specyficznych dla CRM. Instaluje to wymagane rozwiązania integracyjne i definiuje mapowania tabel między Business Central a Dataverse.

Po zsynchronizowaniu rekordów można je powiązać między systemami (coupling). Oznacza to, że Business Central wie, który rekord Dataverse odpowiada danemu rekordowi Business Central i odwrotnie.

Synchronizacja jest obsługiwana przez kolejki zadań działające w tle według harmonogramu, zazwyczaj co kilka minut. Co ważne, mechanizm ten zapewnia rejestrowanie zdarzeń, widoczność błędów oraz możliwość ponownego uruchomienia zadań synchronizacji w przypadku problemów.

Wirtualne Tabele (Virtual Tables)

Wirtualne Tabele są przydatne, gdy dane powinny być dostępne w Dataverse, ale nie powinny być tam kopiowane.

Dzięki Wirtualnym Tabelom dane Business Central pojawiają się w Dataverse tak, jakby były przechowywane w zwykłych tabelach Dataverse – choć w rzeczywistości są udostępniane przez API Business Central.

Power Apps, aplikacje oparte na modelu (model-driven apps) oraz przepływy Power Automate mogą odczytywać i zapisywać dane do tych wirtualnych tabel, o ile API Business Central na to pozwala. Oznacza to, że wydajność, uprawnienia, dostępne operacje i projekt tabeli w dużym stopniu zależą od bazowego API Business Central.

Wirtualne Tabele są zatem dobrą opcją w scenariuszach wymagających dostępu na żywo, szczególnie tam, gdzie kopiowanie danych tworzyłoby niepotrzebną złożoność.

Dataflows

Dataflows to możliwość przygotowania i ładowania danych dostępna w Power Platform, z poziomu portalu Power Apps Maker. Są zasilane przez Power Query i są przydatne, gdy dane wymagają transformacji przed załadowaniem do Dataverse.

W przeciwieństwie do synchronizacji danych, Dataflows nie powinny być traktowane jako natywny mechanizm synchronizacji rekordów między Business Central a Dataverse. Lepiej nadają się do scenariuszy wsadowych, w których dane są importowane, odświeżane, czyszczone, przekształcane, wzbogacane, deduplikowane lub łączone z wielu źródeł.

Może to być przydatne podczas migracji, konsolidacji danych, przygotowania raportów lub gdy dane Business Central wymagają dostosowania do niestandardowego modelu danych Dataverse.

Wybór właściwego podejścia do integracji danych

Opcja integracji

Gdzie żyją dane

Model aktualizacji

Model świeżości

Najlepsze zastosowanie

Synchronizacja danych

Dane są kopiowane i przechowywane zarówno w Business Central, jak i w Dataverse

Konfigurowalna synchronizacja jedno- lub dwukierunkowa

Zaplanowane synchronizacje w tle; niemal w czasie rzeczywistym (zazwyczaj kilka minut)

Wyrównanie CRM ↔ ERP, klienci/konta, kontakty, produkty, waluty, rekordy sprzedaży

Wirtualne Tabele

Dane pozostają w Business Central i są udostępniane przez Dataverse

Odczyt/zapis tam, gdzie obsługuje to API Business Central

Dostęp na żywo przez API Business Central

Wyszukiwania na żywo, Power Automate, dostęp bez duplikacji

Dataflows

Dane są ładowane do Dataverse ze źródłowych systemów

Wsadowy import/zapis do Dataverse podczas odświeżania

Ręczne lub zaplanowane odświeżanie wsadowe

Migracja, czyszczenie, wzbogacanie, deduplikacja, łączenie źródeł, złożone transformacje

Opcje automatyzacji procesów

Integracja danych to tylko część historii. Business Central obsługuje również automatyzację procesów poprzez integrację z Power Automate. Dzięki temu Business Central może uczestniczyć w procesach obejmujących wiele systemów: reagować na zewnętrzne zdarzenia oraz umożliwiać innym systemom reagowanie na zmiany w Business Central.

Główne opcje to:

  • konektor Business Central
  • webhooki i zdarzenia zmian danych
  • Business Events

Konektor Business Central

Konektor Business Central to standardowy sposób łączenia Power Automate z Business Central i jego API. Umożliwia przepływom Power Automate interakcję z punktami końcowymi Business Central i uczestnictwo w procesach obejmujących ERP, CRM i Power Platform.

Na przykład przepływ Power Automate może tworzyć zadanie po aktualizacji klienta, powiadamiać zespół o zmianie zamówienia lub uruchamiać proces zatwierdzania na podstawie danych z Business Central.

Webhooki i zdarzenia zmian danych

Business Central może również eksponować zdarzenia tworzenia, aktualizacji i usuwania (CUD) przez webhooki. Power Automate wraz z konektorem Business Central można skonfigurować do odbioru i reagowania na te zdarzenia. Z perspektywy konektora pojawiają się one jako wyzwalacze na rekordach Business Central.

Business Events (wersja zapoznawcza)

Business Events działają na wyższym poziomie niż proste zdarzenia zmian danych. Ta funkcja jest nadal oznaczona jako wersja zapoznawcza (Preview).

Zamiast informować „rekord się zmienił”, reprezentują znaczące działania biznesowe w Business Central. Przykłady obejmują:

  • zaksięgowanie faktury
  • zwolnienie zamówienia
  • zablokowanie klienta

Zdarzenia te mogą być konsumowane przez Power Automate i używane do wyzwalania procesów w Dynamics 365 Sales, Customer Service, Power Apps lub systemach zewnętrznych.

Deweloperzy mogą również definiować niestandardowe Business Events w języku AL, co czyni je przydatnymi dla procesów biznesowych specyficznych dla danej firmy.

To rozróżnienie jest istotne: webhooki dotyczą zmian danych, podczas gdy Business Events dotyczą momentów biznesowych.

Bliższe spojrzenie na synchronizację danych

W wielu scenariuszach integracji CRM i Business Central, synchronizacja danych jest pierwszą opcją do oceny. Zapewnia natywny sposób utrzymywania standardowych encji biznesowych zsynchronizowanych między Business Central a Dataverse. Jest to szczególnie cenne, gdy użytkownicy CRM potrzebują dostępu do danych podstawowych ERP lub gdy użytkownicy ERP potrzebują danych pochodzących z CRM.

Powiązanie rekordów (Record coupling)

Powiązanie łączy rekord Business Central z jego odpowiednikiem w Dataverse. Na przykład klient w Business Central może być powiązany z kontem w Dataverse. Po powiązaniu rekordów silnik synchronizacji wie, że te dwa rekordy reprezentują ten sam obiekt biznesowy.

Powiązanie może być ręczne, oparte na dopasowaniu lub automatyczne

Mapowanie pól i encji

Mapowanie pól definiuje, które pole Business Central odpowiada któremu polu Dataverse. Jednym z powodów, dla których synchronizacja danych jest często pierwszym wyborem w integracji CRM, jest to, że już zawiera mapowania dla typowych encji CRM.

Jednak standardowe mapowania to dopiero początek. Większość rzeczywistych projektów nadal wymaga decyzji dotyczących własności, filtrów, mapowań pól, niestandardowych pól i kierunku synchronizacji.

Synchronizacja danych jest również rozszerzalna. Deweloperzy mogą używać AL Table Proxy Generator do obsługi niestandardowych tabel i mapowań pól, gdy standardowa integracja nie obejmuje wymaganego scenariusza.

Filtrowanie rekordów

Filtry kontrolują, które rekordy są synchronizowane. Jest to prawie zawsze potrzebne w rzeczywistych projektach. Nie każdy klient, dostawca, towar ani dokument musi być synchronizowany z Dataverse lub CRM.

Na przykład firma może chcieć synchronizować tylko aktywnych klientów, wybrane kategorie towarów lub rekordy należące do konkretnej firmy Business Central. Dobre filtry utrzymują integrację w skoncentrowanym i łatwym do utrzymania stanie.

Zadania synchronizacji (Sync jobs)

Synchronizacja przebiega przez zaplanowane zadania działające w tle. Zadania te aktualizują rekordy, zapewniają rejestrowanie zdarzeń i wyświetlają błędy synchronizacji. Mogą być również ponownie uruchamiane po naprawieniu problemów.

Własność danych w Dataverse

Korzystając z synchronizacji danych, ważne jest zrozumienie, jak zsynchronizowane rekordy będą należeć do właścicieli w Dataverse. Własność wpływa na kontrolę dostępu, widoczność i współpracę.

W niektórych wdrożeniach rekordy powinny należeć do konkretnej osoby — sprawdza się to, gdy odpowiedzialność jest indywidualna. W innych wdrożeniach rekordy powinny należeć do zespołu — to podejście sprawdza się lepiej, gdy odpowiedzialność jest współdzielona. Jest to bardziej powszechne podejście.

Wybór odpowiedniego modelu własności to nie tylko szczegół techniczny. Wpływa na to, jak użytkownicy widzą zsynchronizowane dane i pracują z nimi po stronie Dataverse.

Wdrożenia Business Central z wieloma firmami

Wdrożenia Business Central mogą obejmować wiele firm. To również należy wziąć pod uwagę przy projektowaniu integracji z Dataverse. Integrację można skonfigurować z myślą o tym, ale projekt powinien z góry odpowiedzieć na kilka pytań:

  • Które firmy Business Central powinny synchronizować z Dataverse?
  • Czy każda firma powinna mieć osobne mapowania?
  • Czy klienci są współdzieleni między firmami, czy specyficzni dla danej firmy?
  • Czy użytkownicy CRM powinni widzieć rekordy ze wszystkich firm, czy tylko wybranych?
  • Jak powinna działać własność i bezpieczeństwo w granicach między firmami?

Pytania te stają się szczególnie ważne w większych organizacjach.

Praktyczne pytania projektowe

Przed wyborem mechanizmu integracji warto odpowiedzieć na kilka praktycznych pytań:

  • Który system jest właścicielem rekordu?
  • Czy drugi system potrzebuje kopii danych, czy tylko dostępu na żywo?
  • Czy proces jest sterowany zdarzeniami, wsadowy, czy wyzwalany przez użytkownika?
  • Jak aktualne naprawdę muszą być dane?
  • Kto powinien być właścicielem zsynchronizowanych rekordów w Dataverse?
  • Jak będą obsługiwane błędy, ponowne próby, konflikty i usunięte rekordy?
  • Czy projekt musi obsługiwać wiele firm Business Central?

Integracja Business Central z Dataverse, Dynamics 365 Sales i Power Platform nie polega na wyborze jednego doskonałego mechanizmu. Chodzi o zrozumienie procesu biznesowego, zaangażowanych danych i roli, jaką każdy system powinien odgrywać.

Ten artykuł omówił główne opcje i myślenie stojące za nimi, ale każda rzeczywista implementacja ma swoje własne szczegóły: własność danych, timing, bezpieczeństwo, doświadczenie użytkownika, automatyzacja, obsługa błędów i długoterminowe utrzymanie.

Ważnym krokiem jest zadanie właściwych pytań przed wyborem technologii.

Jeśli planujesz integrację, przeglądasz istniejącą konfigurację lub próbujesz zrozumieć, które podejście najlepiej pasuje do Twojego biznesu – możemy pomóc Ci przeanalizować opcje i zaprojektować rozwiązanie dopasowane do Twojego procesu, a nie wymuszające dostosowanie procesu do narzędzia.

Chcesz wykorzystać pełny potencjał ekosystemu Microsoft? Porozmawiajmy o integracji

Skontaktuj się