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.

Decide Pending decision — needs T&T input
Done Implemented in Gold config and notebook
No action Discarded — no task required
Pending decision — needs T&T input before implementing
Column Name Type Source Treatment Notes
Invoice Date date custinvoicejour.invoicedate (via Voucher join) Decide Populated only when the GL voucher matches a customer invoice. Null otherwise. Could add as a nullable date column or as an InvoiceDateKey FK. Fee Flash specific — relevant for Invoiced rows.
Customer Account Number string custtable.accountnum (via invoice join) Decide Populated via invoice join — not all GL rows have a customer. Confirm whether dim_counterpart already covers customers or is limited to supplier/intercompany counterparts.
Customer Name string dirpartytable.name (via custtable party) Decide Same join path as Customer Account Number. If that becomes a FK to a dimension, this should come from the dim rather than be stored here.
Created By string GENERALJOURNALENTRY.CREATEDBY Decide D365 user who created the journal entry. Audit field — useful for exception analysis but adds noise for standard reporting. Confirm T&T need.
Created On datetime GENERALJOURNALENTRY.CREATEDDATETIME Decide Datetime the journal was created in D365. Pairs with Created By. Confirm T&T need before adding.
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).
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.
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.