---
id: change/bcapps/8115
type: change
title: "#8115 Subscription Billing: respect Default Dimension Priorities on Subscription Lines"
summary: Subscription Billing now respects Default Dimension Priorities when creating subscription lines from contracts, ensuring Item dimensions override Customer dimensions when configured with higher priority, instead of always letting Customer values win.
tier: official
language: en
tags:
  - fix
  - main
  - bc30
  - table cust. sub. contract line
  - table customer subscription contract
  - codeunit create sub. contract line
  - table subscription line
  - table vend. sub. contract line
  - table vendor subscription contract
system: development
review:
  state: reviewed
  by: opus
  at: "2026-10-08T02:12:56.615Z"
  flags: []
generated:
  at: "2026-10-08T01:26:53.141Z"
  pipeline: 0.2.0
  prompts:
    extract-change: 1
  input_hash: 09a5e86ed082faba6421f4888b99e87ee2b55669
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/pull/8115
    title: "microsoft/BCApps#8115: Subscription Billing: respect Default Dimension Priorities on Subscription Lines"
    date: "2026-07-14"
    commit: 09a5e86ed082faba6421f4888b99e87ee2b55669
    t: null
    quote: null
links:
  learn: []
  objects:
    - object/table/8062
    - object/table/8052
    - object/codeunit/8007
    - object/table/8059
    - object/table/8065
    - object/table/8063
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes: []
number: 8115
repo: microsoft/BCApps
source_id: bcapps-prs
url: https://github.com/microsoft/BCApps/pull/8115
kind: pr
base_branch: main
major: "30"
merged_at: "2026-07-14T13:34:25Z"
author: Franco111000
author_type: User
community_contribution: true
labels:
  - "ADO: Sync"
  - "AL: Apps (W1)"
  - From Fork
  - "Team: Finance"
change_class: code
change_kind: fix
behavior_change: true
breaking: false
files:
  count: 7
  additions: 229
  deletions: 22
  al: 6
apps:
  - Subscription Billing
objects_touched:
  - key: table/8062
    page: table/8062
    type: table
    id: 8062
    name: Cust. Sub. Contract Line
    app: Subscription Billing
    status: modified
  - key: table/8052
    page: table/8052
    type: table
    id: 8052
    name: Customer Subscription Contract
    app: Subscription Billing
    status: modified
  - key: codeunit/8007
    page: codeunit/8007
    type: codeunit
    id: 8007
    name: Create Sub. Contract Line
    app: Subscription Billing
    status: modified
  - key: table/8059
    page: table/8059
    type: table
    id: 8059
    name: Subscription Line
    app: Subscription Billing
    status: modified
  - key: table/8065
    page: table/8065
    type: table
    id: 8065
    name: Vend. Sub. Contract Line
    app: Subscription Billing
    status: modified
  - key: table/8063
    page: table/8063
    type: table
    id: 8063
    name: Vendor Subscription Contract
    app: Subscription Billing
    status: modified
objects_unjoined: []
obsoletions: []
backports: []
fixes_issues:
  - 8084
work_items:
  - 635866
systems:
  - development
quote: null
joined_against:
  major: "30"
  commit: ecbc028c25dbe83b61313bc566e6c1d41184bb1c
---

# #8115 Subscription Billing: respect Default Dimension Priorities on Subscription Lines

> Subscription Billing now respects Default Dimension Priorities when creating subscription lines from contracts, ensuring Item dimensions override Customer dimensions when configured with higher priority, instead of always letting Customer values win.

[Pull request](https://github.com/microsoft/BCApps/pull/8115) · merged into `main` (BC30) on 2026-07-14 by Franco111000 (community contribution) · 7 files (+229 -22), 6 AL · fix · tier official · reviewed (checked by Opus)

## What changed

- SetDefaultDimensions now passes the correct source code (Sales/Purchases) to enable Default Dimension Priority lookup
- Customer/Vendor is added as a dimension source alongside Item/GL Account for proper priority evaluation
- GetRecDefaultDimID is used with inherited dimension set from contracts, matching the standard SalesLine.CreateDim pattern
- UpdateFromCustomerContract/VendorContract now route through SetDefaultDimensions instead of blind-merging
- Billing-time merge behavior remains unchanged to preserve subscription line dimension authority
- Behaviour changes for users or extensions.

## AL objects touched

- [Table 8062 "Cust. Sub. Contract Line"](../../objects/table/8062.md), Subscription Billing: modified
- [Table 8052 "Customer Subscription Contract"](../../objects/table/8052.md), Subscription Billing: modified
- [Codeunit 8007 "Create Sub. Contract Line"](../../objects/codeunit/8007.md), Subscription Billing: modified
- [Table 8059 "Subscription Line"](../../objects/table/8059.md), Subscription Billing: modified
- [Table 8065 "Vend. Sub. Contract Line"](../../objects/table/8065.md), Subscription Billing: modified
- [Table 8063 "Vendor Subscription Contract"](../../objects/table/8063.md), Subscription Billing: modified

## Context

- Fixes: [#8084 [Bug][SubscriptionBilling]: Default Dimension Priorities not respected when creating Sales Invoice from Customer Subscription Contract](https://github.com/microsoft/BCApps/issues/8084) (closed)
- Work items: AB#635866
- Labels: ADO: Sync, AL: Apps (W1), From Fork, Team: Finance
- Systems: development

Source: metadata of a merged pull request in microsoft/BCApps (bcapps): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).
