microsoft / microsoft/BCApps

[Extensibility Request][Subscription Billing] Make IsLineAttachedToBillingLine accessible from external apps

Open
#8,501 1 comment 0 reactions 1 assignee View on GitHub

@djukicmilica is already working on this.

Since Jun 18, 2026.

Approved request-for-external Team: Finance
Dominant language
AL
Stars
683
Forks
459
Avg merge
3d 26m
Merged PRs (30d)
633

Description

Describe the issue

The IsLineAttachedToBillingLine procedure exists on both the Sales Line and Purchase Line table extensions in Subscription Billing, but it is declared with internal access. This prevents external apps from calling it to check whether a document line is already attached to a billing line.

This function is used internally to guard deferral code assignments, control UI element visibility, and block certain operations on lines that are part of a billing contract. ISV partners and other extensions often need the same information — for example, to conditionally show/hide custom actions, validate custom fields, or integrate their own posting logic — but currently have no supported way to retrieve it.

Expected behavior

Current:

// SalesLine.TableExt.al
internal procedure IsLineAttachedToBillingLine(): Boolean

// PurchaseLine.TableExt.al
internal procedure IsLineAttachedToBillingLine(): Boolean
Both procedures are internal and therefore only callable from within the Subscription Billing app.

Expected:

// SalesLine.TableExt.al
procedure IsLineAttachedToBillingLine(): Boolean

// PurchaseLine.TableExt.al
procedure IsLineAttachedToBillingLine(): Boolean

Steps to reproduce

Not applicable

Additional context

The access modifier should be changed to public (i.e., the internal keyword removed) so that external extensions can call these procedures on a Sales Line or Purchase Line record to determine whether the line is already linked to a billing line.

I will provide a fix for a bug
  • I will provide a fix for a bug

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.