Migrate customer, vendor and item transactions for BC14 cloud migration#9663
Draft
gggdttt wants to merge 4 commits into
Draft
Migrate customer, vendor and item transactions for BC14 cloud migration#9663gggdttt wants to merge 4 commits into
gggdttt wants to merge 4 commits into
Conversation
…cloud migration Adds customer ledger entry migration alongside the existing G/L-only transaction migration (work item 642787). Current path: open customer ledger entries are re-created as opening-balance general journal lines, balanced against the customer posting group's receivables control account so the G/L nets to zero (the G/L Entry migrator already carries the receivables balance) while the customer subledger detail is reconstructed. Follows the same cutoff split as the G/L Entry migrator. Historical path: pre-cutoff customer ledger entries are copied read-only into a new BC14 Old Cust. Ledg. Entry archive table (Business Central 14 Historical Data app), mirroring the Old G/L Entry archive. New objects: buffer tables 46937/46938, transaction migrator 46939, historical migrator 46940 (main app); archive table 46886 + list page 46887 (historical data app). Registered in the transaction/historical migrator enums and the runner phase population.
Contributor
|
Could not find a linked ADO work item. Please link one by using the pattern 'AB#' followed by the relevant work item number. You may use the 'Fixes' keyword to automatically resolve the work item when the pull request is merged. E.g. 'Fixes AB#1234' |
…14 cloud migration Replicates the customer ledger migration pattern for vendors (work item 642787): open vendor ledger entries are re-created as opening-balance journal lines balanced against the vendor posting group's payables control account (net-zero G/L), and pre-cutoff entries are archived read-only into a new BC14 Old Vendor Ledg. Entry table. New objects: buffer tables 46941/46942, transaction migrator 46943, historical migrator 46944 (main app); archive table 46888 + list page 46889 (historical data app).
added 2 commits
July 22, 2026 14:50
…igration Item transactions are migrated read-only (work item 642787): the full item ledger, with each entry's actual cost summed from its value entries, is archived into a new BC14 Old Item Ledg. Entry table. Live on-hand inventory is not re-created (no Transaction-phase item migrator), so there is no item-journal posting subsystem. New objects: buffer tables 46945/46946, historical migrator 46947 (main app); archive table 46899 + list page 46891 (historical data app), wired into the historical migrator enum and runner.
Adds test codeunits 148915 (customer current migrator), 148916 (vendor current migrator), and 148917 (item archive migrator) covering GetDisplayName, IsEnabled module gating, net-zero control-account balancing, settled-entry skip, idempotency, and the item archive fallback path with cost summed from value entries (work item 642787).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
BC14 cloud migration only migrates G/L transactions. Customer, vendor and item subledger transactions are not carried across (work item 642787). This PR delivers the customer slice as the reviewable template; vendor and item will follow the same pattern.
Solution
Mirrors the existing G/L two-tier design (live re-post vs. read-only archive), following how GP migrates customer transactions as opening balances.
Current (live) path — codeunit
BC14 Cust. Ledger Migrator(46939)Cust. Ledger Entry+Detailed Cust. Ledg. Entryinto buffer tables 46937 / 46938.>= cutoffposted live,< cutoffarchived;0D= everything live). Lines post through the existingBC14 Journal Post Action(batch prefixBC14CU).Historical (archive) path — codeunit
BC14 Old Cust. Ledger Migr.(46940)BC14 Old Cust. Ledg. Entry(46886) + list page (46887) in the Business Central 14 Historical Data app, mirroring the Old G/L Entry archive (resumable, batched commits).Changes
BC14 Transaction Migrator/BC14 Historical Migratorenums and inPopulateTransactionMigrators/PopulateHistoricalMigrators.Validation
Both apps compile clean with CodeCop, AppSourceCop, PerTenantExtensionCop and UICop (repo ruleset). No automated tests yet.
Notes / open items
Remaining AmountFlowField cannot be replicated).main.