Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
2a72f94
Add SL 1099 Migration functionality and related data structures
blauerPCL Nov 20, 2025
74921fd
Merge branch 'microsoft:main' into SLMigrationUpdate2025-11
blauerPCL Nov 30, 2025
69d183a
Increase CpnyID field length to 30 characters and change PrepSettings…
blauerPCL Nov 30, 2025
9bd04cf
Refactor SL 1099 Migration components: rename pages, update permissio…
blauerPCL Nov 30, 2025
b3ff781
Add Vendor 1099 tests for the Dynamics SL Migration - US extension
blauerPCL Dec 1, 2025
1c0ff54
GL Account Beginning Balance update and improve dimension handling.
blauerPCL Dec 1, 2025
8be45fb
Only migrate open AP and AR balances for released and posted batches.
blauerPCL Dec 1, 2025
1e58089
Merge branch 'microsoft:main' into SLMigrationUpdate2025-11
blauerPCL Dec 11, 2025
94e4545
Increase CpnyID field length to 30 to support automated testing. Upda…
blauerPCL Dec 11, 2025
b31947b
Merge branch 'main' of https://github.com/blauerPCL/ALAppExtensions i…
blauerPCL Jan 5, 2026
5544cf6
Increase CpnyID field length to 30 in SL APDoc Buffer, SL ARDoc Buffe…
blauerPCL Jan 5, 2026
af3950c
Merge branch 'main' of https://github.com/blauerPCL/ALAppExtensions i…
blauerPCL Jan 12, 2026
49e603e
Add tests for SL GL Account beginning balances, open AP and open AR a…
blauerPCL Jan 12, 2026
086802c
Refactor SL 1099 data processing and cleanup procedures; improve erro…
blauerPCL Jan 13, 2026
b5983bb
Add Vendor Ledger Entry test for migrated Vendor 1099 balances.
blauerPCL Jan 16, 2026
b055710
Fix namespace order in SL Account Migrator for consistency
blauerPCL Jan 16, 2026
e654583
Merge branch 'main' into SLMigrationUpdate2025-11
blauerPCL Jan 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added Apps/US/HybridSL_US/app/ExtensionLogo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------

namespace Microsoft.DataMigration.SL;

using System.Security.AccessControl;

permissionsetextension 47200 "SLD365 Basic Ext. - HSLUS" extends "D365 Basic"
{
Permissions = tabledata "SL Supported Tax Year" = RIMD,
tabledata "SL 1099 Box Mapping" = RIMD,
tabledata "SL 1099 Migration Log" = RIMD;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------

namespace Microsoft.DataMigration.SL;

using System.Security.AccessControl;

permissionsetextension 47201 "SLD365 Basic ISV Ext. - HSLUS" extends "D365 Basic ISV"
{
Permissions = tabledata "SL Supported Tax Year" = RIMD,
tabledata "SL 1099 Box Mapping" = RIMD,
tabledata "SL 1099 Migration Log" = RIMD;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------

namespace Microsoft.DataMigration.SL;

using System.Security.AccessControl;

permissionsetextension 47202 "SLD365 Team Member Ext. - HSLUS" extends "D365 Team Member"
{
Permissions = tabledata "SL Supported Tax Year" = RIMD,
tabledata "SL 1099 Box Mapping" = RIMD,
tabledata "SL 1099 Migration Log" = RIMD;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------

namespace Microsoft.DataMigration.SL;

using System.Security.AccessControl;

permissionsetextension 47203 "SL Intelligent Cloud Ext. - HSLUS" extends "INTELLIGENT CLOUD"
{
Permissions = tabledata "SL Supported Tax Year" = RIMD,
tabledata "SL 1099 Box Mapping" = RIMD,
tabledata "SL 1099 Migration Log" = RIMD;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------

namespace Microsoft.DataMigration.SL;

permissionset 47200 "SL Migration US - Edit"
{
Assignable = false;
Access = Public;
Caption = 'SL Migration US - Edit';

IncludedPermissionSets = "SL Migration US - Read";
Permissions = tabledata "SL Supported Tax Year" = IMD,
tabledata "SL 1099 Box Mapping" = IMD,
tabledata "SL 1099 Migration Log" = IMD;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------

namespace Microsoft.DataMigration.SL;

permissionset 47202 "SL Migration US - Objects"
{
Assignable = false;
Access = Public;
Caption = 'SL Migration - Objects';

Permissions =
table "SL 1099 Box Mapping" = X,
table "SL 1099 Migration Log" = X,
table "SL Supported Tax Year" = X,
codeunit "SL Cloud Migration US" = X,
codeunit "SL Populate Vendor 1099 Data" = X,
codeunit "SL Vendor 1099 Mapping Helpers" = X,
page "SL 1099 Migration Log List" = X;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------

namespace Microsoft.DataMigration.SL;

permissionset 47201 "SL Migration US - Read"
{
Assignable = false;
Access = Public;
Caption = 'SL Migration US - Read';

IncludedPermissionSets = "SL Migration US - Objects";
Permissions = tabledata "SL Supported Tax Year" = R,
tabledata "SL 1099 Box Mapping" = R,
tabledata "SL 1099 Migration Log" = R;
}
51 changes: 51 additions & 0 deletions Apps/US/HybridSL_US/app/app.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"id": "40f34440-fcff-4601-a664-69ad316f4324",
"name": "Dynamics SL Migration - US",
"publisher": "Microsoft",
"version": "28.0.0.0",
"brief": "This extension migrates US specific information during a SL migration.",
"description": "This extension migrates US specific information during a SL migration, such as Vendor 1099 data.",
"privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009",
"EULA": "https://go.microsoft.com/fwlink/?linkid=2009120",
"help": "https://go.microsoft.com/fwlink/?linkid=2009037",
"url": "https://go.microsoft.com/fwlink/?LinkId=724011",
"contextSensitiveHelpUrl": "https://learn.microsoft.com/dynamics365/business-central/",
"logo": "ExtensionLogo.png",
"dependencies": [
{
"id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0",
"name": "Intelligent Cloud Base",
"publisher": "Microsoft",
"version": "28.0.0.0"
},
{
"id": "237981b4-9e3c-437c-9b92-988aae978e8f",
"publisher": "Microsoft",
"name": "Dynamics SL Migration",
"version": "28.0.0.0"
},
{
"id": "b696b4c9-637c-49d1-a806-763ff8f0a20e",
"name": "IRS Forms",
"publisher": "Microsoft",
"version": "28.0.0.0"
}
],
"idRanges": [
{
"from": 47200,
"to": 47399
}
],
"screenshots": [],
"platform": "28.0.0.0",
"application": "28.0.0.0",
"resourceExposurePolicy": {
"allowDebugging": true,
"allowDownloadingSource": true,
"includeSourceInSymbolFile": true
},
"features": [
"NoImplicitWith"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------

namespace Microsoft.DataMigration.SL;

using System.Integration;
using Microsoft.Finance.VAT.Reporting;

codeunit 47203 "SL Cloud Migration US"
{
[EventSubscriber(ObjectType::Codeunit, CodeUnit::"Data Migration Mgt.", 'OnAfterMigrationFinished', '', false, false)]
local procedure OnAfterMigrationFinishedSubscriber(var DataMigrationStatus: Record "Data Migration Status"; WasAborted: Boolean; StartTime: DateTime; Retry: Boolean)
var
SLHelperFunctions: Codeunit "SL Helper Functions";
begin
if not (DataMigrationStatus."Migration Type" = SLHelperFunctions.GetMigrationTypeTxt()) then
exit;

RunPostMigration();
end;

procedure RunPostMigration()
var
SLCompanyAdditionalSettings: Record "SL Company Additional Settings";
SLPopulateVendor1099Data: Codeunit "SL Populate Vendor 1099 Data";
begin
if (SLCompanyAdditionalSettings.GetMigrateCurrent1099YearEnabled()) or (SLCompanyAdditionalSettings.GetMigrateNext1099YearEnabled()) then begin
SetupIRSFormsFeatureIfNeeded();
BindSubscription(SLPopulateVendor1099Data);
SLPopulateVendor1099Data.Run();
UnbindSubscription(SLPopulateVendor1099Data);
end;
end;

local procedure SetupIRSFormsFeatureIfNeeded()
var
SLCompanyAdditionalSettings: Record "SL Company Additional Settings";
IRSFormsData: Codeunit "IRS Forms Data";
SLVendor1099MappingHelpers: Codeunit "SL Vendor 1099 Mapping Helpers";
ReportingYear: Integer;
Open1099Year: Boolean;
begin
SLCompanyAdditionalSettings.GetSingleInstance();
if SLCompanyAdditionalSettings.GetMigrateCurrent1099YearEnabled() then begin
ReportingYear := SLVendor1099MappingHelpers.GetCurrent1099YearFromSLAPSetup();
Open1099Year := SLVendor1099MappingHelpers.GetCurrent1099YearOpenStatus();
if ReportingYear <> 0 then
if Open1099Year then
IRSFormsData.AddReportingPeriodsWithForms(ReportingYear);
end;
if SLCompanyAdditionalSettings.GetMigrateNext1099YearEnabled() then begin
ReportingYear := SLVendor1099MappingHelpers.GetNext1099YearFromSLAPSetup();
Open1099Year := SLVendor1099MappingHelpers.GetNext1099YearOpenStatus();
if ReportingYear <> 0 then
if Open1099Year then
IRSFormsData.AddReportingPeriodsWithForms(ReportingYear);
end;
end;
}
Loading
Loading