Turner & Townsend / Fabric Medallion / PBI 9

GL Information — Column Treatment

All 27 columns from the GL Information table in the existing GL SL semantic model. Source is the first part of a UNION ALL — GL rows from GENERALJOURNALACCOUNTENTRY only. Type A (invoice line) rows in the second half are not relevant to fct_generalledger.

Done Implemented in Gold config and notebook
No action No task required — covered by existing dim, only relevant to Type A rows, or legacy metadata
Done — Added to dim_generaljournal (Silver config, Gold config, notebook all updated)
Column Name Type Source Treatment Notes
Journal Category string GENERALJOURNALENTRY.JOURNALCATEGORY (LedgerTransType enum) Done Added to Silver config (select + enum resolution) and Gold config + nb_dim_generaljournal. Available via GeneralJournalKey FK.
Done — Added to fct_generalledger (Gold config and nb_fct_generalledger updated)
Column Name Type Source Treatment Notes
Is Correction boolean GENERALJOURNALACCOUNTENTRY.ISCORRECTION Done Added to gold_config and nb_fct_generalledger as IsCorrection boolean. Derived: Yes → True, otherwise False.
Is Credit boolean GENERALJOURNALACCOUNTENTRY.ISCREDIT Done Added to gold_config and nb_fct_generalledger as IsCredit boolean. Derived: Yes → True, otherwise False.
Description string GENERALJOURNALACCOUNTENTRY.TEXT Done Added to gold_config and nb_fct_generalledger as LineDescription (Silver renames TEXT to LineDescription). Nullable.
Has Financial Tag boolean fintag join — derived from fintag.RecID Done Added to gold_config and nb_fct_generalledger as HasFinancialTag boolean. True when fintag.RecID is not null on the left join.
Financial Tag Value string fintag.DisplayValue Done Added to gold_config and nb_fct_generalledger as FinancialTagValue. Null when no tag exists (fintag left join miss).
Invoice Date date custtrans.documentdate / vendtrans.documentdate (via Silver subledger voucher lookup) Done Added as InvoiceDate on fct_generalledger, sourced from lkp_subledgervouchergeneraljournalentry.invoicedate which uses documentdate from custtrans / vendtrans (the original Bronze invoicedate column does not exist on those tables). Null where the voucher does not match a customer or vendor transaction.
No action — covered by existing dimension relationships
Column Name Type Source Treatment Notes
Voucher string GENERALJOURNALENTRY.SUBLEDGERVOUCHER No action Already stored as VoucherNumber in dim_generaljournal. Available via the existing GeneralJournalKey FK on fct_generalledger.
Journal Number string GENERALJOURNALENTRY.JOURNALNUMBER No action Already stored as JournalNumber in dim_generaljournal. Available via the existing GeneralJournalKey FK on fct_generalledger.
Posting Layer string SRSANALYSISENUMS lookup on GENERALJOURNALENTRY.POSTINGLAYER No action Covered by PostingTypeKey FK to dim_postingtype.
Posting Type string SRSANALYSISENUMS lookup on GENERALJOURNALACCOUNTENTRY.POSTINGTYPE No action String label (e.g. "Vendor incoming"). Covered by PostingTypeKey FK. PostingEnum (int) already on fact for FeeFlash filtering.
Posting Type Value int64 GENERALJOURNALACCOUNTENTRY.POSTINGTYPE (raw enum int) No action Raw PostingEnum integer — already present on the fact as part of the PostingType dimension key.
Customer Account Number string custtable.accountnum (via invoice join) No action Covered by CustomerKey FK to dim_customer. The customer dimension has been shortcut into the Fee Flash lakehouse so attributes are available via the existing FK.
Customer Name string dirpartytable.name (via custtable party) No action Covered by CustomerKey FK to dim_customer. CustomerName is a column on the customer dimension.
No action — legacy metadata, not required in build
Column Name Type Source Treatment Notes
Created By string GENERALJOURNALENTRY.CREATEDBY No action Old metadata column from the legacy GL SL semantic model — not required in the Fee Flash build.
Created On datetime GENERALJOURNALENTRY.CREATEDDATETIME No action Old metadata column from the legacy GL SL semantic model — not required in the Fee Flash build.
No action — empty in GL rows (Type A invoice lines only)
Column Name Type Source Treatment Notes
Revenue Legal Entity string Hardcoded '' in GL rows No action Populated only in Type A rows (custinvoicetable.dataareaid). Always empty string for GL rows.
Resource Cost Centre string Hardcoded '' in GL rows No action Type A only — worker default dimension. Always empty string for GL rows.
Project Cost Centre string Hardcoded '' in GL rows No action Type A only — project default dimension. Always empty string for GL rows.
Proj Trans Type string Hardcoded '' in GL rows No action Type A only — ProjTransType enum. Always empty string for GL rows.
Project Category ID string Hardcoded '' in GL rows No action Type A only — project category. Always empty string for GL rows.
Category Group string Hardcoded '' in GL rows No action Type A only — projcategory.name. Always empty string for GL rows.
Worker string Hardcoded '' in GL rows No action Type A only — worker name via dirpartytable. Always empty string for GL rows.
Type A Transaction Type string Hardcoded 'Summary' in GL rows No action Hardcoded 'Summary' in all GL rows — label distinguishing GL from Type A Detail rows in the union. Not a meaningful analytics attribute.
No action — technical / redundant
Column Name Type Source Treatment Notes
recid int64 GENERALJOURNALACCOUNTENTRY.recid No action D365 internal record ID. GeneralLedgerUID (surrogate key) serves this purpose in Gold.
Transaction Date datetime GENERALJOURNALENTRY.ACCOUNTINGDATE No action This is ACCOUNTINGDATE renamed. Already present via AccountingDateKey FK — no new information.
SinkModifiedOn datetime GENERALJOURNALACCOUNTENTRY.SinkModifiedOn No action Fabric Link watermark column for incremental load tracking. ETL metadata only.