Refresh in-repo AL documentation for E-Document, Shopify, Privacy Notice and API Reports - #9812
Merged
Merged
Conversation
Brings the Shopify Connector and Test app documentation up to date with the 48 commits merged since the docs were last refreshed (baseline 3227a35, "Remove B2B Plus-only plan restriction"). Documentation only. No AL source changes. App documentation: - Unlisted product status and the new "Shpfy Create Prod. Status Unlisted" implementation of ICreateProductStatusValue - HS code and country of origin, carried on the variant and gated by the Shop's "Sync HS Code and Country" setting - Order tax lines can now hang off order shipping charges, and market-driven shipping methods are fetched through new GraphQL queries - Return-with-exchange refunds: the "Is Exchange Item" order line flag and the synthetic negative refund lines that keep the credit memo total right - Credit memo creation is skipped while a refund transaction is pending - Order mapping keeps a manually set Sell-to Customer No. when Bill-to mapping fails, and creates a BC customer when Shopify has no default address - Bulk price sync surfaces skipped records and the sent JSONL, and decides bulk versus single on the count of changed prices - Corrected the GraphQL rate limiter wait calculation and the query count - "Auto Create Catalog" renamed to "Auto Create B2B Catalog", now always visible with plan validation on enable - Belgium Enterprise No. tax ID mapping and ISO country code tax area filtering Test documentation: - Corrected a stale claim that 3 tests were disabled via app-local DisabledTests/*.json. Those files were removed; disabled-test filtering now comes from central DisabledTests folders read by RunTestsInBcContainer.ps1 - Documented the new Variant API and Transactions test coverage, the .resources/Shipping mocks, and the price calculation isolation pattern - Clarified that Shpfy Bulk Op. Subscriber is bound in the webhooks test, not the bulk operations test Marker files updated to d86ecf3. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…e + API Reports docs Brings the in-repo AL documentation up to date with the code. Documentation only. No AL source changes. E-Document Core (main part of this change): The E-Document docs were created in March (a090c07, #7255) and only three files have been touched since. 55 commits and 149 AL files changed in that window, so the 18 module docs had drifted badly. - Import V2 is now the default for new services, with the draft format selected on the service. Documented the pipeline stages, the reader interfaces, and how a partner plugs in a new inbound format - Data Exchange definitions moved from labels to app resource files, and the v2 bridge lets those definitions feed the V2 pipeline. Access = Internal was removed from the Data Exchange Impl. codeunit - PEPPOL now lives in a standalone app under src/Apps/W1/PEPPOL. Added the EDI flows: purchase order send path, sales order receive path, and order response message handling - New structured format readers, including XRechnung and OIOUBL - Corrected documentation that still described the E-Document Purchase Order Matching Copilot as current. It is obsoleted; AI-assisted line matching now happens at import time via "E-Doc. AI Tool Processor" - Document date, due date and configurable default posting date behaviour, plus VAT rate resolution and VAT amount difference - E-Document Purchase Header/Line exposed for country-app consumers, and Sales Header/Line data sensitivity classification - Confirmed the E-Document Header/Line Mapping tables are retained for compatibility only and are not part of the V2 draft flow Privacy Notice: - Registered the Microsoft Copilot privacy notice, whose default approval is keyed to the EU Data Boundary, so EEA environments start unapproved - Noted the inherent permissions on the facade that let service-invoked callers reach it API Reports - Finance: - The six API queries now carry AboutText consumed by MCP tooling for tool selection Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
4 tasks
Closed
4 tasks
Only the Shopify app and test app carried a `.docs-updated` marker. Every other documented app relied on the git history of its docs folder to work out a baseline, which is easy to miss: E-Document had drifted 55 commits behind before anyone noticed, because nothing pointed at it. Adds markers for the four remaining documentation roots so the next refresh has an explicit baseline: - src/Apps/W1/EDocument/App - src/Apps/W1/APIReportsFinance/App - src/Apps/W1/DataCorrectionFA/App - src/System Application/App/Privacy Notice All 82 doc-bearing folders in the repository now roll up under one of six markers. DataCorrectionFA has had no AL changes since its docs were written, so its docs were already current and its marker records that rather than any edit. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
darjoo
approved these changes
Jul 29, 2026
gggdttt
approved these changes
Jul 29, 2026
Groenbech96
enabled auto-merge
July 29, 2026 09:18
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.
What & why
Refreshes the in-repo AL documentation (
CLAUDE.mdanddocs/*.mdfiles that live alongside the apps) for four apps whose docs had drifted behind the code.This is documentation only -- no AL source is touched. 62 files: 56 markdown files plus six
.docs-updatedmarker files.Updates are change-driven, not a rewrite. For each app I established the baseline from the commit that last wrote its docs, diffed every commit since, mapped each changed AL object to the documentation that describes it, and updated only the affected sections. Existing narrative and voice were preserved.
a090c078(2026-03-25)3227a356(2026-04-14)41e62038(2026-05-11)f5e9cbee(2026-03-20)DataCorrectionFAalso has docs but has had no AL changes since they were written, so it is untouched.The commits are kept separate so each app can be reviewed independently.
A third commit adds
.docs-updatedmarkers for the four documented apps that lacked one. Previously only Shopify had markers, so every other app's baseline had to be inferred from the git history of its docs folder -- which is precisely how E-Document drifted 55 commits behind unnoticed. All 82 doc-bearing folders in the repo now roll up under one of six markers, giving the next refresh an explicit baseline.E-Document Core
The docs were created in March and only three files were ever refreshed since; the 18 module-level docs had not been touched at all.
Access = Internalwas removed from the Data Exchange Impl. codeunit ([E-Document] Remove Access = Internal from E-Doc. Data Exchange Impl. codeunit #9014).src/Apps/W1/PEPPOL(PEPPOL onboarding: move E-Document to standalone PEPPOL app + test fixes #8498). Added the EDI flows: purchase order send path ( [E-Documents Core] [Peppol] - Enabling EDI capabilities with E-Documents. Send path (Purchase Order → E Document). #7796), sales order receive path ([E-Documents Core] [Peppol] - Enabling EDI capabilities with E-Documents. Receive path (Sales Order ← E‑Document) #8558), and order response message handling ([E-Documents Core] [Peppol] - Enabling EDI capabilities with E-Documents. PEPPOL Order Response Message Handling #8698).E-Doc. AI Tool Processor.E-Document Purchase Header/Purchase Lineexposed for country-app consumers ([E-Document] Expose E-Document Purchase Header / Line for country-app consumers #8379), and Sales Header/Line data sensitivity classification (Classify E-Document Sales Header/Line data sensitivity #9105).E-Document Header Mapping/Line Mappingtables are retained for compatibility only and are not part of the V2 draft flow.Shopify Connector
ICreateProductStatusValueimplementation ([Shopify] Add Unlisted product status #9321, [Shopify] Add Unlisted to Status for Created Products and update status tooltip #9581)."Sync HS Code and Country"field ([Shopify] Import HS code and country of origin from Shopify #9320, [Shopify] Sync HS Code and Country of Origin on variant export #7414)."Is Exchange Item"order line flag and the synthetic negative refund lines that keep the credit memo total matchingRefund.totalRefundedSet([Shopify] Fix incorrect G/L line on credit memo for refund with exchange item #8554).Sell-to Customer No.when Bill-to mapping fails ([Shopify] Preserve manually set Sell-to Customer No. when Bill-to mapping fails #9316), and creates a BC customer when Shopify has no default address ([Shopify] Create BC customer on order import when Shopify customer has no default address #9188).Auto Create Catalogrenamed toAuto Create B2B Catalog, now always visible with plan validation on enable ([Shopify] Rename 'Auto Create Catalog' to 'Auto Create B2B Catalog' caption and tooltip #8647, [Shopify] Auto Create Catalog: always visible, validate plan on enable #8213).DisabledTests/*.json. Those files were deleted in [Shopify] Re-enable and fix legacy pricing tests #8274 and the folder no longer exists; disabled-test filtering now comes from centralDisabledTests/<app>/folders discovered bybuild/scripts/RunTestsInBcContainer.ps1.Privacy Notice
not ALCopilotFunctions.IsWithinEUDB()), so EEA environments start unapproved and require an explicit admin decision (Added new privacy policy for BizChat depending on Microsoft Copilot 365 with EEA environments behavior changes #9206).API Reports - Finance
AboutText, consumed by MCP tooling for tool selection ([MCP] Add Query API tool support to MCP configuration #6670). Documented that this is a functional description aimed at an agent, not a caption.Linked work
Fixes AB#644610
Fixes AB#644608
No GitHub issue. This is a documentation-only maintenance refresh of the docs that live alongside these apps, not a product change, so there is no user-facing bug to file. Tracked internally by the two ADO tasks above.
How I validated this
What I tested and the outcome
Since this changes no compiled code, validation was about factual accuracy rather than build or runtime behaviour. Claims were checked against the AL source at
d86ecf32:git diff --name-onlyconfirms only.mdfiles and the two.docs-updatedmarkers changed. Zero.alfiles.src/Processingand reconciled them against the extensibility docs. This caught a wrong pre-existing claim -- the old docs documented anIPurchaseInvoiceProviderinterface that does not exist. The real interfaces areIEDocumentCreatePurchaseInvoice,IEDocumentCreatePurchaseCreditMemoandIEDocumentCreateSalesOrder, which the refreshed docs now use. Also verified the CopilotObsoleteReasontext, the standalone PEPPOLapp.json, and that the only remaining reference toE-Document Line Mappingoutside its own definition is the data-classification registration inEDocumentSubscribers.Shpfy Shopfield 208"Find Mapping by Barcode"and field 209"Sync HS Code and Country",Unlistedon both product-status enums,Shpfy Order Linefield 22"Is Exchange Item", andShpfyShippingCharges.UpdateShippingCostInfos. Verified the GraphQL claim numerically: 149.graphqlresource files matches 149ShpfyGraphQLTypeenum values. Verified the DisabledTests correction by confirming the folder is gone and readingGet-DisabledTestsinRunTestsInBcContainer.ps1. VerifiedBindSubscription(BulkOpSubscriber)appears only inShpfyWebhooksTest.GetMicrosoftCopilotID,TryGetMicrosoftCopilotDefaultApprovaland theInherentEntitlements/InherentPermissionsdeclarations.AboutTextis on exactly the six query objects and no pages.git diff --check, no em dashes, no unclosed code fences, correct list spacing, no broken anchor links, all files CRLF.I used agents to draft the per-module updates, then reviewed the diffs myself and corrected several things on top of their output: a speculative
TODOabout the Shopify bulk subscriber binding path (it is bound inShpfyWebhooksTest), aTODOabout the E-Document mapping tables (resolved by checking actual usage), the"Sync HS Code and Country"field name versus its caption, a missingIProcessStructuredDataSalesreference in the sales guidance, and LF line endings on six Test files that should have been CRLF.Risk & compatibility
None. Documentation only -- no runtime, upgrade, permission, or telemetry impact, and nothing that affects the compiled apps.
Two things worth a reviewer's eye:
IPurchaseLineAccountProvidernote, UOM resolution order), but the section structure did change.Shopify docs were deliberately left untouched for Payments and Order Fulfillments -- their only changes in the range were timestamp caption and tooltip wording with no behavioural meaning.
This supersedes #9808 (Shopify) and #9811 (E-Document), which are closed in favour of this single PR.