Adatsablon a szállítói számlák kifizetési folyamatához
Adatsablon a szállítói számlák kifizetési folyamatához
- A pénzügyi elemzéshez szükséges folyamatspecifikus attribútumok
- A kifizetések nyomon követéséhez szükséges fő tevékenységek
- Részletes adatkinyerési útmutató a Dynamics 365-höz
A szállítói számlák kifizetési folyamatának attribútumai
| Név | Leírás | ||
|---|---|---|---|
| Esemény időpontja EventTime | Az időbélyeg, amely rögzíti, mikor történt a tevékenység. | ||
| Leírás Ez az attribútum rögzíti az adott tevékenység pontos dátumát és időpontját. Az események időrendi sorrendbe állítására és a lépések közötti időtartam kiszámítására használható. A Dynamics 365 rendszerben az adat általában a Miért fontos? Elengedhetetlen a ciklusidők és átfutási idők kiszámításához, valamint a szűk keresztmetszetek azonosításához. Hol szerezhető be? A tranzakciós táblák CreatedDateTime vagy ModifiedDateTime rendszermezői Példák 2023-10-01T08:30:00Z2023-10-01T14:15:22Z2023-10-05T09:00:00Z | |||
| Számlaszám InvoiceNumber | A beszállítói számlához rendelt egyedi azonosító. | ||
| Leírás A számlaszám a folyamatnézet egyedi esetazonosítója. Egy számlához kapcsolja az összes eseményt, így a számla beérkezésétől a kiegyenlítésig tartó útja teljes egészében elemezhető. A Microsoft Dynamics 365 rendszerben ez általában az Miért fontos? Ez az alapvető azonosító kapcsolja össze az egymástól elkülönülő szállítói számlafeldolgozási tevékenységeket egyetlen folyamatpéldánnyá. Hol szerezhető be? Tábla: VendInvoiceJour, mező: InvoiceId Példák INV-2023-00198223344ACME-OCT-22 | |||
| Tevékenység Activity | A folyamatban történt konkrét feladat vagy állapotváltozás. | ||
| Leírás Ez az attribútum a folyamatban végrehajtott eseményt vagy lépést írja le, például: „Számla létrehozva”, „Számla jóváhagyva” vagy „Kifizetés könyvelve”. A technikai tranzakciótípusokat és a munkafolyamat állapotváltozásait közérthető üzleti eseményekké alakítja. A Dynamics 365 rendszerben ezek a tevékenységek gyakran táblarekordok létrehozásából, például egy új Miért fontos? Ez határozza meg a folyamat menetét és az események sorrendjét a folyamattérképen. Hol szerezhető be? Különböző tranzakciós táblákból és munkafolyamat-előzményekből származik Példák Számla létrehozvaSzámla jóváhagyvaKifizetés létrehozva | |||
| Forrásrendszer SourceSystem | Annak a rendszernek a neve, ahonnan az adatok származnak. | ||
| Leírás Megadja, melyik szoftverből vagy környezetből nyerték ki a folyamatadatokat. Ebben az esetben a Microsoft Dynamics 365-példányt jelöli. Különösen hasznos több rendszerből álló környezetben, ahol az adatok ERP-rendszerekből és külső szkennelési megoldásokból is származhatnak. Miért fontos? Több rendszer adatainak elemzésekor biztosítja az adatok eredetének és útjának nyomon követhetőségét. Hol szerezhető be? Az adatkivonás során rögzített vagy beállított érték Példák Dynamics 365 F&OD365 PRODMicrosoft Dynamics | |||
| Utolsó adatfrissítés LastDataUpdate | Az időbélyeg, amely rögzíti, mikor nyerték ki vagy frissítették az adatokat. | ||
| Leírás Jelzi, mennyire frissek az elemzéshez használt adatok. Segít eldönteni, hogy valós idejű adatokat vagy egy korábbi időszak pillanatképét látja. Ezt az értéket általában az ETL-folyamat hozza létre, nem a Dynamics 365 valamelyik mezője. Miért fontos? Fontos a dashboardokba és a KPI-okba vetett bizalomhoz. Hol szerezhető be? Az adatkivonó szkript hozza létre Példák 2023-10-25T12:00:00Z2023-11-01T06:00:00Z | |||
| Beszállítói számla VendorAccount | A beszállító egyedi számlaszáma. | ||
| Leírás A tranzakcióban érintett beszállító egyedi azonosítója. A Dynamics 365 rendszerben ez a Ez az attribútum a Vendor Relationship Complexity View alapja, amely lehetővé teszi az egyes beszállítói kapcsolatok teljesítményének és elakadásainak elemzését. Miért fontos? Lehetővé teszi a folyamat teljesítményének beszállítónkénti elemzését. Hol szerezhető be? Tábla: VendInvoiceJour, mező: InvoiceAccount vagy OrderAccount Példák US-101V000452001 | |||
| Beszerzési rendelés száma PurchaseOrderNumber | A kapcsolódó beszerzési rendelés hivatkozási száma. | ||
| Leírás A számlát az eredeti beszerzési bizonylathoz kapcsolja. A Dynamics 365 rendszerben ezt a Ez az attribútum segít megkülönböztetni a beszerzési rendeléshez kapcsolódó és az ahhoz nem kapcsolódó számlákat a „Beszerzési rendelés egyeztetése és az eltérések alakulása” dashboardon. Miért fontos? A beszerzéstől a fizetésig tartó folyamat egyeztetési arányának elemzéséhez szükséges. Hol szerezhető be? Tábla: VendInvoiceJour, mező: PurchId Példák PO-000455000342PO-22-998 | |||
| Felhasználói azonosító UserId | A tevékenységet végrehajtó felhasználó azonosítója. | ||
| Leírás Azonosítja az adott tevékenységért, például egy számla jóváhagyásáért vagy egy kifizetés könyveléséért felelős rendszerfelhasználót. A D365 rendszerben a A „Fizetési zárolások és fennakadások elemzése” segítségével megmutatja, hogy egyes ügyintézők gyakrabban okoznak-e zárolást, mint mások. Miért fontos? Lehetővé teszi az erőforrások tevékenységének és a feladatkörök szétválasztásának elemzését. Hol szerezhető be? A tranzakciós és előzménytáblák CreatedBy/ModifiedBy rendszermezői Példák jdoeadminworkflow_sys | |||
| Fizetési határidő DueDate | Az a dátum, ameddig a számlát ki kell fizetni. | ||
| Leírás Az a szerződésben rögzített határidő, ameddig a fizetést teljesíteni kell a késedelmi díjak elkerüléséhez. A Dynamics 365 rendszerben a számla fejlécében vagy a tranzakciós rekordban, a Ez az „Időben teljesített kifizetések aránya” KPI alapja, és segít a feladatok rangsorolásában a „Szállítói számlák feldolgozási üteme és volumene” nézetben. Miért fontos? Az időben teljesített kifizetések mérésének viszonyítási alapja. Hol szerezhető be? Tábla: VendInvoiceJour vagy VendTrans, mező: DueDate Példák 2023-11-302023-12-15 | |||
| Részleg Department | A költségért felelős részleg. | ||
| Leírás A belső részleget jelölő pénzügyi dimenzió. A Dynamics 365 rendszerben a dimenziókat dinamikusan tárolják, gyakran a Ez az attribútum a „Szállítói kapcsolatok összetettsége” nézetben mutatja meg, mely belső részlegekhez tartozik a legtöbb szállítói számla. Miért fontos? Lehetővé teszi az adatok szervezeti egység szerinti részletes elemzését és a felelősségi körök vizsgálatát. Hol szerezhető be? Tábla: VendInvoiceJour, mező: DefaultDimension (a DimensionAttributeLevelValue nézet szükséges hozzá) Példák ITPénzügyMűködés | |||
| Szállító neve VendorName | A szállító szervezet neve. | ||
| Leírás A szállító megnevezése. A D365 rendszerben a szállítói fiók a Global Address Book ( Az ember számára könnyen olvasható nevek megkönnyítik a „Vendor Relationship Complexity View” használatát, és az üzleti felhasználók számára is érthetővé teszik a dashboardokat. Miért fontos? Kiegészíti a szállítói számla számát. Hol szerezhető be? Tábla: DirPartyTable (a VendTable táblán keresztül), mező: Name Példák Contoso Office SupplyFabrikam ElectronicsLitware Inc. | |||
| Számla kelte InvoiceDate | A számlán feltüntetett kiállítási dátum. | ||
| Leírás A szállítói számlán feltüntetett dátum. A Dynamics 365 rendszerben ezt az A „Teljes átfutási idő elemzése” a szállító szemszögéből méri a folyamat teljes időtartamát. Miért fontos? Meghatározza a számla korának számításához használt időszak kezdetét. Hol szerezhető be? Tábla: VendInvoiceJour, mező: InvoiceDate Példák 2023-10-012023-10-15 | |||
| Számla összege InvoiceAmount | A számla teljes pénzértéke. | ||
| Leírás A számla teljes értéke a tranzakció pénznemében. A Dynamics 365 rendszerben ez a számlanapló tábláinak olyan mezőiben található, mint az A Duplicate Payment Risk Detection dashboard a számlaösszegek és a beszállítói adatok összekapcsolására használja. Miért fontos? Elengedhetetlen a kiadások volumenének és a pénzügyi kockázatnak az elemzéséhez. Hol szerezhető be? Tábla: VendInvoiceJour, mező: InvoiceAmount Példák 1500.00245.5010000.00 | |||
| Vállalatkód CompanyCode | A jogi személy vagy leányvállalat azonosítója. | ||
| Leírás Azt a szervezeten belüli jogi személyt jelöli, amelynél a számlát feldolgozzák. A Microsoft Dynamics 365 rendszerben ezt a Ez az attribútum elengedhetetlen az End to End Lead Time Analysis elemzéshez, amely lehetővé teszi a különböző leányvállalatok és földrajzi egységek összehasonlítását. Miért fontos? Lehetővé teszi a különböző üzleti egységek vagy országok összehasonlítását. Hol szerezhető be? Tábla: VendInvoiceJour, mező: DataAreaId Példák USMFDEMFGBSI | |||
| Bizonylatszám VoucherNumber | A tranzakcióhoz tartozó főkönyvi bizonylat száma. | ||
| Leírás A könyvelési tétel belső főkönyvi azonosítója. A Dynamics 365 rendszerben a Bár technikai adat, a „Folyamatútvonal és megfelelési audit” során segít visszakeresni a tételeket a főkönyvben, például az egyeztetéshez. Miért fontos? Pénzügyi auditáláshoz és egyeztetéshez használható azonosító. Hol szerezhető be? Tábla: VendInvoiceJour, mező: LedgerVoucher Példák VOU-10023INV-ACC-992 | |||
| Fizetési feltételek PaymentTerms | A megállapodott fizetési feltételeket jelölő kód. | ||
| Leírás A fizetési határidőt és a kedvezményeket meghatározó beállításkód, például Net30. A Dynamics 365 rendszerben ezt a A „Ciklusidővel” együtt elemezve megmutatja, hogy a folyamat késései sértik-e a megállapodott feltételeket. Miért fontos? Segít értelmezni az esedékesség dátumának számítását. Hol szerezhető be? Tábla: VendInvoiceJour, mező: PaymTermId Példák Net302%10Net30COD | |||
| Fizetési mód PaymentMethod | A számla kiegyenlítésére használt mód, például csekk, átutalás vagy elektronikus átutalás. | ||
| Leírás Meghatározza, hogyan jut el az összeg a szállítóhoz. A Dynamics 365 rendszerben ezt a Ez az attribútum a „Kifizetések teljesítési ideje” dashboardon segít összehasonlítani a különböző fizetési kötegek hatékonyságát. Miért fontos? Segít megmagyarázni a kifizetés teljesítési szakaszában tapasztalható eltéréseket. Hol szerezhető be? Tábla: VendInvoiceJour (a PaymMode adataival összekapcsolva) vagy VendTrans Példák CSEKKACHÁTUTALÁS | |||
| Fizetési zárolás IsPaymentBlocked | Jelzi, hogy a számla kifizetése jelenleg zárolva van-e. | ||
| Leírás Logikai érték, amely jelzi, hogy a számla zárolt állapotban van-e. A Dynamics 365 rendszerben ezt gyakran a Ez a „Fizetési zárolások és fennakadások elemzése” alapja, és rávilágít a folyamat megszakadásaira. Miért fontos? Feltárja a közvetlen fennakadásokat és a manuális beavatkozásokat. Hol szerezhető be? Tábla: VendTrans, mező: Approved (fordított értelmezéssel) vagy speciális zárolási mezők Példák truefalse | |||
| Kedvezmény igénybevételének határideje CashDiscountDate | Az a dátum, ameddig a kedvezmény igénybevételéhez ki kell fizetni a számlát. | ||
| Leírás A korai fizetéshez kapcsolódó kedvezmény igénybevételének határideje. A Dynamics 365 rendszerben ezt a Ez az attribútum a „Készpénzfizetési kedvezmények kihasználtsága” dashboard alapja, amelyen számszerűsíthetők az elszalasztott megtakarítási lehetőségek. Miért fontos? Közvetlenül befolyásolja a folyamat pénzügyi hatékonyságát mérő KPI-t. Hol szerezhető be? Tábla: VendInvoiceJour vagy VendTrans, mező: CashDiscDate Példák 2023-10-102023-10-20 | |||
| Pénznem Currency | A számla pénznemének kódja. | ||
| Leírás A számla pénznemének ISO-kódja. A Dynamics 365 rendszerben ezt a A „Tevékenység összege” leképezésnél fontos az összegek egységesítéséhez, ha több pénznem átváltására van szükség. Miért fontos? A pénzügyi értékek értelmezéséhez szükséges kiegészítő adat. Hol szerezhető be? Tábla: VendInvoiceJour, mező: CurrencyCode Példák USDEURGBP | |||
A szállítói számlák kifizetési folyamatának tevékenységei
| Tevékenység | Leírás | ||
|---|---|---|---|
| Fizetési napló létrehozva | A számlát kiválasztják, majd felveszik a fizetési napló egyik sorába. Ez jelzi a fizetési szándékot, és általában elindítja a fizetés ellenőrzési munkafolyamatát. | ||
| Miért fontos? Ez jelzi az átmenetet a kötelezettség nyilvántartásából a kifizetés feldolgozásába. A kifizetés végrehajtásának átfutási idejét méri. Hol szerezhető be? LedgerJournalTrans.CreatedDateTime. A számlát a MarkedInvoice mező vagy az elszámolási táblák kapcsolják a naplóhoz. Rögzítés A LedgerJournalTrans rekord létrehozásakor naplózva Eseménytípus explicit | |||
| Kifizetés könyvelve | A fizetési naplót a főkönyvbe könyvelik, ezzel rendezik a számlát és nullázzák a beszállító egyenlegét. Ezzel lezárul a pénzügyi folyamat. | ||
| Miért fontos? Ez az átlagos számlától kifizetésig tartó ciklusidő utolsó tevékenysége. Megerősíti, hogy véglegesítették a pénzeszközök csökkenését rögzítő könyvelési tételeket. Hol szerezhető be? A LedgerJournalTrans könyvelése megtörténik. A VendTrans frissül, és jelzi az elszámolást. A tényleges esemény a napló könyvelése. Rögzítés Az X tranzakció végrehajtásakor naplózva Eseménytípus explicit | |||
| Kifizetés létrehozva | A rendszer létrehozza a fizetési fájlt (EFT, ISO20022), vagy kinyomtatja a csekkeket. A naplósor fizetési állapota Sent vagy Generated értékre változik. | ||
| Miért fontos? Az Approved-to-Executed Lag Time KPI mérését támogatja. Megerősíti, hogy létrejött a fizetési utasítás. Hol szerezhető be? A LedgerJournalTrans.PaymentStatus értéke Sent vagy Recieved lesz. Ez gyakran a naplósor módosításaiból következtethető ki. Rögzítés Hasonlítsa össze a PaymentStatus mező értékét a módosítás előtt és után Eseménytípus inferred | |||
| Számla egyeztetve a beszerzési rendeléssel | A rendszer sikeresen összekapcsolja a számlasort egy beszerzési rendeléssel vagy termékátvétellel. Ez a tevékenység azt jelzi, hogy a számlát ellenőrizték a beszerzési rendeléshez képest. | ||
| Miért fontos? Alapvető mutató az elsőre sikeres beszerzésirendelés-egyeztetés KPI-hoz. Segít megkülönböztetni a kézi beavatkozás nélkül feldolgozott számlákat azoktól, amelyekhez beavatkozás szükséges. Hol szerezhető be? VendInvoiceInfoLine.PurchId és VendInvoiceInfoTable.MatchStatus. Akkor következtethető ki, ha a MatchStatus értéke Passed lesz. Rögzítés Hasonlítsa össze a MatchStatus mező értékét a módosítás előtt és után Eseménytípus inferred | |||
| Számla jóváhagyva | A függőben lévő számlához tartozó munkafolyamat-példány befejezett vagy jóváhagyott állapotba kerül. A számla készen áll a főkönyvi könyvelésre. | ||
| Miért fontos? Kiszámítja az átlagos jóváhagyási átfutási időt. Az itt jelentkező késedelmek közvetlenül csökkentik a korai fizetési kedvezmények igénybevételének esélyét. Hol szerezhető be? A WorkflowTrackingStatusTable.CreatedDateTime értéke, ahol a TrackingStatus Completed. Másik lehetőségként a VendInvoiceInfoTable.RequestStatus értéke Approved. Rögzítés A munkafolyamat-példány befejezésekor naplózva Eseménytípus explicit | |||
| Számla könyvelve | A számlát a főkönyvbe könyvelik, így a rendszerben kötelezettség keletkezik. A rekord a függőben lévő táblákból a könyvelt tranzakciókat tartalmazó táblákba kerül. | ||
| Miért fontos? Fontos mérföldkő, amely jelzi a tartozás pénzügyi elszámolását. Ettől kezdve a számla kiválasztható kifizetésre. Hol szerezhető be? Rekord létrehozása a VendInvoiceJour és a VendTrans táblában. A TransDate mező a könyvelés dátumát jelöli. Rögzítés Az X tranzakció végrehajtásakor naplózva Eseménytípus explicit | |||
| Számla létrehozva | A függőben lévő beszállítói számlarekord első létrehozása a rendszerben. Ez jelzi a számla bekerülését a Dynamics 365 munkafolyamatába, akár kézi rögzítéssel, akár adatentitás importálásával. | ||
| Miért fontos? Ez adja meg a folyamat átfutási idejének számításához szükséges kezdő időpontot. Segítségével mérhető, mennyi ideig maradnak a számlák a rendszerben feldolgozás vagy könyvelés előtt. Hol szerezhető be? A VendInvoiceInfoTable.CreatedDateTime vagy a VendInvoiceInfoTable.RecId létrehozási időbélyege. Ez a függőben lévő beszállítói számla fejlécét jelöli. Rögzítés A VendInvoiceInfoTable rekord létrehozásakor naplózva Eseménytípus explicit | |||
| A számla egyeztetése sikertelen | Az egyeztetés eltérést talál a számla és a beszerzési rendelés vagy átvétel között, például az árban vagy a mennyiségben. Ez gyakran megállítja a folyamatot, amíg az eltérést nem rendezik. | ||
| Miért fontos? Feltárja az egyeztetési folyamat konkrét elakadásait. A PO Match and Discrepancy Trends dashboard adatait támogatja. Hol szerezhető be? A VendInvoiceInfoTable.MatchStatus értéke Failed vagy Discrepancy lesz. Az eltérések a VendInvoiceInfoLine egyeztetési adataiban is láthatók. Rögzítés Hasonlítsa össze a MatchStatus mező értékét a módosítás előtt és után Eseménytípus inferred | |||
| Fizetési napló jóváhagyva | Jóváhagyják a fizetési napló munkafolyamatát, ezzel engedélyezve a kifizetések létrehozását. Ez az utolsó ellenőrzés, mielőtt előkészítik az átutalást. | ||
| Miért fontos? Elkülöníti a kifizetések adminisztratív előkészítését a jóváhagyási folyamat szűk keresztmetszetétől. Hol szerezhető be? A WorkflowTrackingStatusTable a LedgerJournalTable fejlécének azonosítójához kapcsolódik. Az állapot Completed. Rögzítés A munkafolyamat-példány befejezésekor naplózva Eseménytípus explicit | |||
| Fizetési zárolás beállítva | Zárolják a beszállítói tranzakciót, így az nem választható ki fizetési javaslatban. Ezt gyakran vitás ügyek miatt, kézzel állítják be. | ||
| Miért fontos? A Payment Block and Friction Analysis elemzést támogatja. Feltárja a pénzkiáramlást késleltető kézi beavatkozásokat. Hol szerezhető be? A VendTrans.Approved jelző értéke No lesz, vagy kitöltik a megfelelő OnHold állapotmezőket. Ehhez nyomon kell követni a VendTrans módosításait. Rögzítés Hasonlítsa össze az állapotmező értékét a módosítás előtt és után Eseménytípus inferred | |||
| Számla jóváhagyásra benyújtva | A függőben lévő számla felülvizsgálatra kerül a munkafolyamat-kezelő rendszerbe. Ezzel az adatbevitel és az egyeztetés szakaszából a jóváhagyási szakaszba lép a folyamat. | ||
| Miért fontos? Ez jelöli a jóváhagyási ciklus kezdetét. Elengedhetetlen a belső jóváhagyási szintek hatékonyságának elemzéséhez. Hol szerezhető be? A WorkflowTrackingStatusTable.CreatedDateTime értéke, ahol a ContextTableId megegyezik a VendInvoiceInfoTable azonosítójával, a Status pedig Submitted. Rögzítés A munkafolyamat-példány indításakor naplózva Eseménytípus explicit | |||
| Számla módosítva | Rögzíti a számla fejlécén vagy sorain a könyvelés előtt végzett módosításokat. A gyakori frissítések adatkivonási problémára vagy az ellenőrzés során szükségessé váló kézi javításokra utalhatnak. | ||
| Miért fontos? A gyakori frissítések újramunkálási ciklusokra vagy a forrásadatok gyenge minőségére utalhatnak, például OCR-hibákra. Ez a Rework and Data Accuracy Monitor működését támogatja. Hol szerezhető be? Ha engedélyezve van, a VendInvoiceInfoTable SysDatabaseLog adatbázisnaplója használható. Gyakori lekérdezés esetén a ModifiedDateTime változásaiból is következtetni lehet a módosításokra. Rögzítés Hasonlítsa össze a ModifiedDateTime értékét az egymást követő adatkivonásokban Eseménytípus inferred | |||
Adatkinyerési útmutatók
Lépések
Nyissa meg az Adatkezelési munkaterületet: Jelentkezzen be a Microsoft Dynamics 365 Finance környezetbe. Lépjen a Workspaces menübe, majd válassza a Data Management lehetőséget. Itt állíthatja be az adatokat exportáló projekteket.
Hozzon létre exportprojektet: Új adatprojekt létrehozásához kattintson az Export csempére. Adjon egyértelmű nevet a projektnek, például ProcessMining_AP_Export. A Target data format mezőben válassza ki a célformátumot, például Azure SQL DB-t BYOD esetén, vagy CSV-t fájlalapú exporthoz.
Adja hozzá az adategységeket: Egyenként adja hozzá a projekthez az alábbi szabványos adategységeket: VendorInvoiceHeaderEntity (függőben lévő számlák), VendorInvoiceLineEntity (számlasorok), VendorInvoiceJournalHeaderEntity (könyvelt számlák), VendorPaymentJournalLineEntity (kifizetések) és WorkflowHistoryEntity (jóváhagyási naplók). Ha a WorkflowHistoryEntity alapértelmezés szerint nem érhető el, előfordulhat, hogy engedélyeznie kell egy egyéni adategységet vagy egy exportálható rendszer-adategységet.
Állítsa be az adategységek szűrőit: Minden adategységnél kattintson a Filter ikonra. Szűkítse az adatokat a megfelelő CompanyInfo (DataAreaId) értékre, és állítson be dátumtartományt a CreatedDateTime vagy InvoiceDate mezőn, hogy csak a kívánt elemzési időszak adatait nyerje ki, például az elmúlt 12 hónapét.
Állítsa be az ismétlődő exportot: Az eseménynapló naprakészen tartásához hozzon létre ismétlődő adatfeladatot. Állítsa be az ismétlődés gyakoriságát, például naponta vagy óránként, és ahol elérhető, engedélyezze az Incremental push funkciót. Így csak a módosult rekordokat exportálja, ami csökkenti a rendszer terhelését.
Futtassa le az első exportot: Első alkalommal kézzel futtassa a projektet az Export now gombra kattintva. Az Execution summary nézetben ellenőrizze, hogy minden rekord hiba nélkül exportálódott-e.
Alakítsa át az adatokat: Miután az adatok megérkeztek a célhelyre, az Azure SQL-adatbázisba vagy fájlokba, az alábbi Query szakaszban megadott SQL-szkripttel kapcsolja össze a táblákat. Az átalakítási logika az eltérő adategységek rekordjaiból egyetlen, időrendbe rendezett eseménynaplót hoz létre.
Rendelje hozzá az attribútumokat: A kapott adatkészletben az InvoiceNumber mezőt rendelje a Case ID, az EventTime mezőt a Timestamp, az Activity mezőt pedig az Activity Name mezőhöz, a process mining eszköz követelményeinek megfelelően.
Ellenőrizze és töltse fel az adatokat: Futtassa le az alábbi ellenőrzéseket az adatok pontosságának megerősítéséhez. Az ellenőrzés után exportálja a végeredményt CSV- vagy Parquet-fájlba, majd töltse fel a ProcessMindbe.
Konfiguráció
- Adategységek kiválasztása: A könyvelés előtti folyamati lépésekhez használja a VendorInvoiceHeaderEntity és a VendorInvoiceLineEntity adategységeket. A jogilag érvényes, könyvelt dokumentumhoz a VendorInvoiceJournalHeaderEntity adategységet használja. A kifizetések nyomon követéséhez a VendorPaymentJournalLineEntity adategység szükséges.
- Incremental Push: Engedélyezze ezt a beállítást a Data Management projektben, hogy a kezdeti teljes betöltés után csak az új vagy módosított rekordok kerüljenek exportálásra. Ez a teljesítmény szempontjából elengedhetetlen.
- Dátumtartományok: Szűrjön az InvoiceDate >= [Start Date] feltétellel. Kerülje a korlátozás nélküli exportálást, mert időtúllépéshez vezethet.
- Vállalatszűrő: A D365 több jogi személyt kezel. Mindig szűrjön a DataAreaId mezőre, hogy ne keveredjenek a különböző jogi személyek adatai, kivéve, ha kifejezetten vállalatközi elemzést végez.
- Munkafolyamat-előzmények: A munkafolyamat-előzményeket tartalmazó szabványos adategységek nagy adatmennyiséget jelenthetnek. A kezelhető adatmennyiség érdekében csak a VendInvoice típusokhoz kapcsolódó előzményeket exportálja.
Példa-lekérdezés sql
/*
SQL Transformation Script for D365 Finance AP Process
Assumes data is loaded into Staging tables in a SQL environment (BYOD/Data Lake)
*/
SELECT
I.InvoiceNumber AS [InvoiceNumber],
'Invoice Created' AS [Activity],
I.CreatedDateTime AS [EventTime],
I.DataAreaId AS [CompanyCode],
I.InvoiceAccount AS [VendorAccount],
I.InvoiceAmount AS [InvoiceAmount],
I.CurrencyCode AS [Currency],
'D365 FO' AS [SourceSystem],
GETDATE() AS [LastDataUpdate]
FROM Staging_VendorInvoiceHeaderEntity I
UNION ALL
/* Capture updates to invoice headers */
SELECT
I.InvoiceNumber,
'Invoice Updated',
I.ModifiedDateTime,
I.DataAreaId,
I.InvoiceAccount,
I.InvoiceAmount,
I.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorInvoiceHeaderEntity I
WHERE I.ModifiedDateTime > I.CreatedDateTime
UNION ALL
/* Invoice Matching Activities */
SELECT
I.InvoiceNumber,
'Invoice Matched to PO',
I.ModifiedDateTime,
I.DataAreaId,
I.InvoiceAccount,
I.InvoiceAmount,
I.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorInvoiceHeaderEntity I
WHERE I.MatchStatus = 'Matched' -- Adjust value based on system config
UNION ALL
SELECT
I.InvoiceNumber,
'Invoice Match Failed',
I.ModifiedDateTime,
I.DataAreaId,
I.InvoiceAccount,
I.InvoiceAmount,
I.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorInvoiceHeaderEntity I
WHERE I.MatchStatus = 'Failed'
UNION ALL
/* Workflow Activities */
SELECT
RelatedContext AS InvoiceNumber,
CASE
WHEN Status = 'Submitted' THEN 'Invoice Submitted for Approval'
WHEN Status = 'Approved' THEN 'Invoice Approved'
ELSE 'Workflow Activity'
END AS [Activity],
CreatedDateTime AS [EventTime],
DataAreaId,
NULL AS [VendorAccount],
NULL AS [InvoiceAmount],
NULL AS [Currency],
'D365 FO',
GETDATE()
FROM Staging_WorkflowHistoryEntity
WHERE ContextTableId = 12345 -- Replace with TableId for VendInvoiceInfoTable
AND Status IN ('Submitted', 'Approved')
UNION ALL
/* Invoice Posted */
SELECT
J.InvoiceNumber,
'Invoice Posted',
J.PostedDateTime,
J.DataAreaId,
J.InvoiceAccount,
J.InvoiceAmount,
J.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorInvoiceJournalHeaderEntity J
UNION ALL
/* Payment Block */
SELECT
I.InvoiceNumber,
'Payment Block Applied',
I.ModifiedDateTime,
I.DataAreaId,
I.InvoiceAccount,
I.InvoiceAmount,
I.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorInvoiceJournalHeaderEntity I
WHERE I.OnHold = 'Yes'
UNION ALL
/* Payment Activities */
SELECT
J.InvoiceId AS [InvoiceNumber],
'Payment Journal Created' AS [Activity],
P.CreatedDateTime AS [EventTime],
P.DataAreaId,
P.AccountDisplayValue AS [VendorAccount],
P.DebitAmount AS [InvoiceAmount],
P.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorPaymentJournalLineEntity P
JOIN Staging_VendorInvoiceJournalHeaderEntity J ON P.InvoiceId = J.InvoiceNumber AND P.DataAreaId = J.DataAreaId
UNION ALL
SELECT
J.InvoiceId AS [InvoiceNumber],
'Payment Journal Approved' AS [Activity],
P.ModifiedDateTime AS [EventTime],
P.DataAreaId,
P.AccountDisplayValue,
P.DebitAmount,
P.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorPaymentJournalLineEntity P
JOIN Staging_VendorInvoiceJournalHeaderEntity J ON P.InvoiceId = J.InvoiceNumber AND P.DataAreaId = J.DataAreaId
WHERE P.PaymentStatus = 'Approved'
UNION ALL
SELECT
J.InvoiceId AS [InvoiceNumber],
'Payment Generated' AS [Activity],
P.ModifiedDateTime AS [EventTime],
P.DataAreaId,
P.AccountDisplayValue,
P.DebitAmount,
P.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorPaymentJournalLineEntity P
JOIN Staging_VendorInvoiceJournalHeaderEntity J ON P.InvoiceId = J.InvoiceNumber AND P.DataAreaId = J.DataAreaId
WHERE P.PaymentStatus = 'Sent'
UNION ALL
SELECT
J.InvoiceId AS [InvoiceNumber],
'Payment Posted' AS [Activity],
P.PostedDate AS [EventTime],
P.DataAreaId,
P.AccountDisplayValue,
P.DebitAmount,
P.CurrencyCode,
'D365 FO',
GETDATE()
FROM Staging_VendorPaymentJournalLineEntity P
JOIN Staging_VendorInvoiceJournalHeaderEntity J ON P.InvoiceId = J.InvoiceNumber AND P.DataAreaId = J.DataAreaId
WHERE P.IsPosted = 'Yes' Lépések
Ellenőrizze a BYOD-kapcsolatot: Gondoskodjon arról, hogy telepítve legyen a SQL Server Management Studio (SSMS) vagy egy hasonló eszköz, és csatlakozni tudjon a Dynamics 365 Finance & Operations környezet BYOD-céljaként beállított Azure SQL Database-adatbázishoz.
Ellenőrizze az adategységek exportját: Nyissa meg a Dynamics 365 Data Management munkaterületét. Ellenőrizze, hogy az alábbi adategységek vagy az alapul szolgáló tábláik exportálása be van-e állítva a BYOD-adatbázisba:
VendInvoiceInfoTable(függőben lévő számlák),VendInvoiceInfoLine(függőben lévő számlasorok),VendInvoiceJour(könyvelt számlák),VendTrans(szállítói tranzakciók),LedgerJournalTrans(naplósorok),LedgerJournalTable(naplófejlécek) ésWorkflowTrackingStatusTable(munkafolyamat-előzmények).Állítsa be az exportfeladatot: Ha ezek a táblák még nem exportálódnak, hozzon létre új exportfeladatot. A Target Data Format mezőben válassza ki a BYOD SQL-adatbázist. Az adatok teljes újraexportálás nélküli szinkronizálásához válassza az Incremental Push lehetőséget. Futtassa a feladatot a táblák feltöltéséhez.
Készítse elő az SQL-környezetet: Nyissa meg az SSMS-t, és csatlakozzon a BYOD Azure SQL-adatbázishoz. Nyisson meg egy új lekérdezési ablakot.
Adja meg a paramétereket: Keresse meg az alábbi szkript elején a változók deklarációját. Állítsa be az
@StartDateés@EndDateváltozókat a kívánt elemzési időszaknak megfelelően. Ha egy adott jogi személyre szeretne szűrni, módosítsa aDATAAREAIDszűrési feltételeit.Futtassa a szkriptet: Futtassa le a teljes T-SQL-szkriptet. A szkript
UNION ALLhasználatával egyesíti több tábla adatait egyetlen, szabványos eseménynapló-formátumba.Ellenőrizze az adatokat: Ellenőrizze, hogy az
InvoiceNumbervagy azEventTimeoszlopban vannak-e null értékek. Győződjön meg arról, hogy a könyvelt számlák (aVendInvoiceJourtáblából) és a függőben lévő számlák (aVendInvoiceInfoTabletáblából) egyaránt megjelennek.Exportálja az eredményt: Kattintson jobb gombbal az SSMS eredményrácsára, majd válassza a Save Results As... lehetőséget. CSV (vesszővel elválasztott) fájlként mentse az eredményt.
Formázza az adatokat feltöltéshez: Nyissa meg a CSV-fájlt Excelben vagy szövegszerkesztőben, és ellenőrizze, hogy a dátumformátum megfelel-e az ISO 8601 szabványnak (YYYY-MM-DD HH:MM:SS), ha a ProcessMind ezt megköveteli. Ha a szkript hiba nélkül lefutott, további átalakításra nincs szükség.
Töltse fel a ProcessMindbe: Importálja a CSV-fájlt a ProcessMindbe, és rendelje hozzá az
InvoiceNumberoszlopot a Case ID, azActivityoszlopot az Activity Name, azEventTimeoszlopot pedig a Timestamp mezőhöz.
Konfiguráció
- Exportálási stratégia: A BYOD terhelésének csökkentéséhez használja az Incremental Push lehetőséget a nagy adatmennyiségű tábláknál, például a
LedgerJournalTransés aVendTransesetében. A Full Push lehetőséget csak akkor válassza, ha adathibára gyanakszik. - Időzónák kezelése: A Dynamics 365 UTC-ben tárolja az adatokat. A szkript UTC-idővel számol. Ha az elemzéshez helyi időre van szükség, alkalmazzon
DATEADDkorrekciót a szkriptben vagy a ProcessMindbe történő importáláskor. - Vállalatszűrés: A
DataAreaIdoszlop a jogi személyt jelöli. A szkript alapértelmezés szerint minden jogi személy adatait kinyeri. Egy adott leányvállalat szűréséhez adja hozzá aWHERE DataAreaId = 'usmf'feltételt, például. - Munkafolyamat-előzmények: A
WorkflowTrackingStatusTabletábla tartalmazza a jóváhagyások időbélyegeit. Vegye fel ezt a táblát a BYOD-exportálás beállításai közé, mert gyakran kimarad az alapértelmezett konfigurációból. - Adatmegőrzés: Vegye figyelembe, hogy a D365 tisztítási folyamatai törölhetik a lezárt munkafolyamatok előzményeit vagy a könyvelt naplósorokat. Ez korlátozza a process mining elemzés történeti mélységét.
Példa-lekérdezés sql
/* T-SQL Extraction Script for D365 AP Payment Processing */
/* Tables required: VendInvoiceInfoTable, VendInvoiceInfoLine, VendInvoiceJour, VendTrans, LedgerJournalTrans, LedgerJournalTable, WorkflowTrackingStatusTable */
DECLARE @StartDate DATETIME = '2023-01-01 00:00:00';
DECLARE @EndDate DATETIME = GETDATE();
WITH RawData AS (
/* 1. Invoice Created: Pending Invoice Header Creation */
SELECT
T1.Num AS InvoiceNumber,
'Invoice Created' AS Activity,
T1.CreatedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
T1.InvoiceAccount AS VendorAccount,
T1.DataAreaId AS CompanyCode,
CAST(T1.InvoiceAmount AS DECIMAL(18,2)) AS InvoiceAmount,
T1.DueDate AS DueDate,
T1.PurchId AS PurchaseOrderNumber,
T1.CreatedBy AS UserId,
T1.VendorName AS VendorName,
T1.DocumentDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.VendInvoiceInfoTable T1
WHERE T1.CreatedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 2. Invoice Updated: Modifications to Pending Invoice */
SELECT
T1.Num AS InvoiceNumber,
'Invoice Updated' AS Activity,
T1.ModifiedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
T1.InvoiceAccount AS VendorAccount,
T1.DataAreaId AS CompanyCode,
CAST(T1.InvoiceAmount AS DECIMAL(18,2)) AS InvoiceAmount,
T1.DueDate AS DueDate,
T1.PurchId AS PurchaseOrderNumber,
T1.ModifiedBy AS UserId,
T1.VendorName AS VendorName,
T1.DocumentDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.VendInvoiceInfoTable T1
WHERE T1.ModifiedDateTime BETWEEN @StartDate AND @EndDate
AND T1.ModifiedDateTime > T1.CreatedDateTime
UNION ALL
/* 3. Invoice Matched to PO: Line Matching Success */
SELECT
H.Num AS InvoiceNumber,
'Invoice Matched to PO' AS Activity,
L.ModifiedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
H.InvoiceAccount AS VendorAccount,
H.DataAreaId AS CompanyCode,
CAST(H.InvoiceAmount AS DECIMAL(18,2)) AS InvoiceAmount,
H.DueDate AS DueDate,
H.PurchId AS PurchaseOrderNumber,
L.ModifiedBy AS UserId,
H.VendorName AS VendorName,
H.DocumentDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.VendInvoiceInfoLine L
JOIN dbo.VendInvoiceInfoTable H ON L.TableRefId = H.TableRefId AND L.DataAreaId = H.DataAreaId
WHERE L.MatchStatus = 1 /* 1 usually denotes Matched/Passed in enum */
AND L.ModifiedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 4. Invoice Match Failed: Line Matching Discrepancy */
SELECT
H.Num AS InvoiceNumber,
'Invoice Match Failed' AS Activity,
L.ModifiedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
H.InvoiceAccount AS VendorAccount,
H.DataAreaId AS CompanyCode,
CAST(H.InvoiceAmount AS DECIMAL(18,2)) AS InvoiceAmount,
H.DueDate AS DueDate,
H.PurchId AS PurchaseOrderNumber,
L.ModifiedBy AS UserId,
H.VendorName AS VendorName,
H.DocumentDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.VendInvoiceInfoLine L
JOIN dbo.VendInvoiceInfoTable H ON L.TableRefId = H.TableRefId AND L.DataAreaId = H.DataAreaId
WHERE L.MatchStatus = 2 /* 2 usually denotes Failed in enum */
AND L.ModifiedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 5. Invoice Submitted for Approval: Workflow Submission */
SELECT
T1.Num AS InvoiceNumber,
'Invoice Submitted for Approval' AS Activity,
W.CreatedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
T1.InvoiceAccount AS VendorAccount,
T1.DataAreaId AS CompanyCode,
CAST(T1.InvoiceAmount AS DECIMAL(18,2)) AS InvoiceAmount,
T1.DueDate AS DueDate,
T1.PurchId AS PurchaseOrderNumber,
W.User AS UserId,
T1.VendorName AS VendorName,
T1.DocumentDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.WorkflowTrackingStatusTable W
JOIN dbo.VendInvoiceInfoTable T1 ON W.ContextRecId = T1.RecId
WHERE W.TrackingStatus = 1 /* Submitted */
AND W.ContextTableId = 1425 /* TableId for VendInvoiceInfoTable, adjust if different in version */
AND W.CreatedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 6. Invoice Approved: Workflow Completion */
SELECT
T1.Num AS InvoiceNumber,
'Invoice Approved' AS Activity,
W.CreatedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
T1.InvoiceAccount AS VendorAccount,
T1.DataAreaId AS CompanyCode,
CAST(T1.InvoiceAmount AS DECIMAL(18,2)) AS InvoiceAmount,
T1.DueDate AS DueDate,
T1.PurchId AS PurchaseOrderNumber,
W.User AS UserId,
T1.VendorName AS VendorName,
T1.DocumentDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.WorkflowTrackingStatusTable W
JOIN dbo.VendInvoiceInfoTable T1 ON W.ContextRecId = T1.RecId
WHERE W.TrackingStatus = 2 /* Completed/Approved */
AND W.ContextTableId = 1425
AND W.CreatedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 7. Invoice Posted: Creation of VendInvoiceJour */
SELECT
J.InvoiceId AS InvoiceNumber,
'Invoice Posted' AS Activity,
J.CreatedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
J.InvoiceAccount AS VendorAccount,
J.DataAreaId AS CompanyCode,
CAST(J.InvoiceAmount AS DECIMAL(18,2)) AS InvoiceAmount,
J.DueDate AS DueDate,
J.PurchId AS PurchaseOrderNumber,
J.CreatedBy AS UserId,
J.InvoicingName AS VendorName,
J.InvoiceDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.VendInvoiceJour J
WHERE J.CreatedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 8. Payment Block Applied: Updated on VendTrans */
SELECT
J.InvoiceId AS InvoiceNumber,
'Payment Block Applied' AS Activity,
VT.ModifiedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
J.InvoiceAccount AS VendorAccount,
J.DataAreaId AS CompanyCode,
CAST(J.InvoiceAmount AS DECIMAL(18,2)) AS InvoiceAmount,
J.DueDate AS DueDate,
J.PurchId AS PurchaseOrderNumber,
VT.ModifiedBy AS UserId,
J.InvoicingName AS VendorName,
J.InvoiceDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.VendTrans VT
JOIN dbo.VendInvoiceJour J ON VT.Invoice = J.InvoiceId AND VT.AccountNum = J.InvoiceAccount AND VT.DataAreaId = J.DataAreaId
WHERE VT.Approved = 0 /* 0 indicates Not Approved/Blocked */
AND VT.ModifiedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 9. Payment Journal Created: Line added to Journal */
SELECT
LJT.Invoice AS InvoiceNumber,
'Payment Journal Created' AS Activity,
LJT.CreatedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
LJT.AccountNum AS VendorAccount,
LJT.DataAreaId AS CompanyCode,
CAST(LJT.AmountCurCredit AS DECIMAL(18,2)) AS InvoiceAmount,
NULL AS DueDate,
NULL AS PurchaseOrderNumber,
LJT.CreatedBy AS UserId,
NULL AS VendorName,
LJT.TransDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.LedgerJournalTrans LJT
WHERE LJT.AccountType = 2 /* Vendor */
AND LJT.Invoice IS NOT NULL AND LJT.Invoice <> ''
AND LJT.CreatedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 10. Payment Journal Approved: Workflow on Journal Header */
SELECT
LJT.Invoice AS InvoiceNumber,
'Payment Journal Approved' AS Activity,
LJH.ModifiedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
LJT.AccountNum AS VendorAccount,
LJT.DataAreaId AS CompanyCode,
CAST(LJT.AmountCurCredit AS DECIMAL(18,2)) AS InvoiceAmount,
NULL AS DueDate,
NULL AS PurchaseOrderNumber,
LJH.ModifiedBy AS UserId,
NULL AS VendorName,
LJT.TransDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.LedgerJournalTable LJH
JOIN dbo.LedgerJournalTrans LJT ON LJH.JournalNum = LJT.JournalNum AND LJH.DataAreaId = LJT.DataAreaId
WHERE LJH.WorkflowApprovalStatus = 2 /* Approved */
AND LJT.AccountType = 2
AND LJT.Invoice IS NOT NULL AND LJT.Invoice <> ''
AND LJH.ModifiedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 11. Payment Generated: Payment Status Changed to Sent */
SELECT
LJT.Invoice AS InvoiceNumber,
'Payment Generated' AS Activity,
LJT.ModifiedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
LJT.AccountNum AS VendorAccount,
LJT.DataAreaId AS CompanyCode,
CAST(LJT.AmountCurCredit AS DECIMAL(18,2)) AS InvoiceAmount,
NULL AS DueDate,
NULL AS PurchaseOrderNumber,
LJT.ModifiedBy AS UserId,
NULL AS VendorName,
LJT.TransDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.LedgerJournalTrans LJT
WHERE LJT.PaymentStatus = 2 /* Sent/Generated */
AND LJT.AccountType = 2
AND LJT.Invoice IS NOT NULL AND LJT.Invoice <> ''
AND LJT.ModifiedDateTime BETWEEN @StartDate AND @EndDate
UNION ALL
/* 12. Payment Posted: Journal Line Posted */
SELECT
LJT.Invoice AS InvoiceNumber,
'Payment Posted' AS Activity,
LJT.ModifiedDateTime AS EventTime,
'D365 FO' AS SourceSystem,
GETDATE() AS LastDataUpdate,
LJT.AccountNum AS VendorAccount,
LJT.DataAreaId AS CompanyCode,
CAST(LJT.AmountCurCredit AS DECIMAL(18,2)) AS InvoiceAmount,
NULL AS DueDate,
NULL AS PurchaseOrderNumber,
LJT.ModifiedBy AS UserId,
NULL AS VendorName,
LJT.TransDate AS InvoiceDate,
'Unknown' AS Department
FROM dbo.LedgerJournalTrans LJT
WHERE LJT.Posted = 1 /* Posted */
AND LJT.AccountType = 2
AND LJT.Invoice IS NOT NULL AND LJT.Invoice <> ''
AND LJT.ModifiedDateTime BETWEEN @StartDate AND @EndDate
)
SELECT *
FROM RawData
WHERE InvoiceNumber IS NOT NULL AND InvoiceNumber <> ''
ORDER BY InvoiceNumber, EventTime; Kezdje el most?
Használja ezt a sablont megbízható adatbázis kialakításához, és kezdje el még ma optimalizálni a kifizetési munkafolyamatokat. Csapatunk segít, ha támogatásra van szüksége a Dynamics 365-táblák feltérképezéséhez.
Optimalizálja most a szállítói számlák kifizetési folyamatát
Rövidítse 30 százalékkal a ciklusidőt, és szüntesse meg a D365 okozta késedelmeket.
Nincs szükség bankkártyára. Beállítás öt perc alatt.