Invoice line-item price resolution
Summary
Invoice line items now expose the billing-rule pricing snapshot stored when the
line item price was resolved. Request LineItem.priceResolution from either
invoice or invoices to see the applied price rule, resolution
context, price before adjustments, resolved price, and ordered adjustments.
This is a stored invoice snapshot. It does not recalculate the price or fetch current billing profiles, clinicians, locations, payers, or rules.
Query example
query InvoicePriceResolution($invoiceId: ID!) {
invoice(id: $invoiceId) {
id
lineItems {
id
price
priceResolution {
priceRuleId
billingProfile {
id
name
}
clinician {
id
name
}
location {
id
name
}
payer {
id
name
scope
}
priceBeforeAdjustments
resolvedPrice
adjustments {
priceAdjustmentRuleId
name
priceBefore
priceAfter
}
manuallyChangedPrice
}
}
}
}
The invoices query supports the same selection under
invoices.data.lineItems.
Response behaviour
priceResolutionisnullfor legacy or manually priced line items that do not have a stored billing-rule pricing snapshot.priceBeforeAdjustmentsis the stored pre-adjustment value and can benullwhen that value was not recorded.adjustmentspreserves the stored adjustment order and returns an empty list when the snapshot has no adjustments.manuallyChangedPriceistruewhen the current line-itempricediffers from the storedresolvedPrice.- All identifiers are returned as GraphQL ID strings.
Integration guidance
Request priceResolution only when your integration needs the pricing
audit trail. Existing invoice queries are unchanged when the field is omitted.
This release is additive. Refresh generated GraphQL clients or schema snapshots
that include the LineItem type.
See also
- API reference:
LineItem