microsoft / microsoft/BCApps

[Extensibility Request][Subscription Billing] Make procedures required by custom Usage Data Connectors accessible

Open
#10,019 1 comment 0 reactions 1 assignee View on GitHub

@djukicmilica is already working on this.

Since Aug 10, 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

When one wants to implement a custom Usage Data Connector using the interface "Usage Data Processing", one needs to create an implementation of the procedure CreateBillingData(var UsageDataImport: Record "Usage Data Import"). However, all necessary procedures for creating billing data are internal and not accessible to a dependent app.

Proposed Change

Remove the internal keyword from the following procedures in UsageDataBilling.Table.al :

  • internal procedure SetReason(ReasonText: Text)
  • internal procedure InitFrom(UsageDataImportEntryNo: Integer; SubscriptionHeaderNo: Code[20]; ProductID: Text[80]; ProductName: Text[100]; BillingPeriodStartDate: Date; BillingPeriodEndDate: Date; NewQuantity: Decimal)
  • internal procedure AlignContractCurrency(TempSubscriptionLine: Record "Subscription Line"; ImportCurrencyCode: Code[10])
  • internal procedure CalculateAmounts(UsageDataSupplier: Record "Usage Data Supplier"; ImportCurrencyCode: Code[10]; NewUnitCost: Decimal; NewCostAmount: Decimal; NewUnitPrice: Decimal; NewAmount: Decimal)
  • internal procedure UpdateRebilling()
  • internal procedure InsertMetadata()

As well as the following procedure in CreateUsageDataBilling.Codeunit.al

  • procedure CollectServiceCommitments(var TempServiceCommitment: Record "Subscription Line" temporary; ServiceObjectNo: Code[20]; SubscriptionEndDate: Date)
Expected behavior

Dependent Apps can access all procedures necessary for their own billing data creation which is necessary for custom Connectors.

Steps to reproduce

not applicable

Additional context

No response

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.