Skip to content

docs: add Billing Accounts capability and OAuth scopes (CXP-455) - #37

Closed
carolinaroncaglia wants to merge 3 commits into
mainfrom
CXP-455/update-docs
Closed

docs: add Billing Accounts capability and OAuth scopes (CXP-455)#37
carolinaroncaglia wants to merge 3 commits into
mainfrom
CXP-455/update-docs

Conversation

@carolinaroncaglia

Copy link
Copy Markdown
Contributor

Summary

  • Adds Billing Accounts to the Capabilities table (sync + provision)
  • Adds footnote explaining core.accounting.read and core.accounting.write OAuth scope requirements for Billing Accounts
  • Updates OAuth scope guidance to mention Billing Accounts alongside Account Groups for both READ and READ/WRITE configurations

Context

Implements documentation for the new Billing Accounts feature introduced in PR #35 (feat: add billing accounts sync as entitlements). Billing Accounts allow users in Coupa to be assigned to financial accounts. The connector now supports syncing them as Entitlements and provisioning (grant/revoke) access.

Tracked in Linear: https://linear.app/ductone/issue/CXP-455

@carolinaroncaglia
carolinaroncaglia requested a review from a team April 28, 2026 13:13
@linear

linear Bot commented Apr 28, 2026

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Apr 28, 2026

Copy link
Copy Markdown
Contributor

Claude finished @carolinaroncaglia's task in 1m 20s —— View job


PR Review: docs: add Billing Accounts capability and OAuth scopes (CXP-455)

  • Gather context and read changed files
  • Review documentation changes
  • Post review feedback

Overall: Looks good! This is a clean, well-scoped docs update. The changes are clear and the OAuth scope guidance is structured well.

I left two inline comments:

  1. Nit — singular/plural inconsistency (docs/connector.mdx:102): "Billing Account provisioning" (singular) vs "Billing Accounts" (plural) used everywhere else. Suggested a fix.

  2. Question — is Billing Accounts opt-in? (docs/connector.mdx:26): The Account Groups footnote (¹) explicitly states sync is opt-in and tells users to select the resource type in C1. The Billing Accounts footnote (²) only mentions the OAuth scope requirement but doesn't say whether it's opt-in or automatic. If it's opt-in, similar guidance would help.

Neither is blocking — the docs are accurate and useful as-is.

Comment thread docs/connector.mdx
**If you also want to sync and provision Account Groups, add:**
**If you also want to sync and provision Account Groups or Billing Accounts, add:**
- core.accounting.read
- core.accounting.write (required for Billing Account provisioning)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: "Billing Account" (singular) here vs "Billing Accounts" (plural) used everywhere else in this PR. Consider making it consistent:

Suggested change
- core.accounting.write (required for Billing Account provisioning)
- core.accounting.write (required for Billing Accounts provisioning)

Comment thread docs/connector.mdx

¹ Account Groups sync is opt-in. To enable it, select **Account Groups** in the resource types to sync when configuring the connector in C1, and ensure the `core.accounting.read` OAuth scope is added to your Coupa OAuth client.

² Billing Accounts sync requires the `core.accounting.read` OAuth scope. Provisioning (grant/revoke) additionally requires the `core.accounting.write` OAuth scope.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Account Groups footnote (¹) mentions that sync is opt-in and tells users to select the resource type in C1. Is Billing Accounts also opt-in? If so, it would be helpful to add similar guidance here (e.g., "To enable it, select Billing Accounts in the resource types to sync…"). If it syncs by default (whenever the scope is present), then the current wording is fine — but it might be worth stating that explicitly to distinguish it from Account Groups.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Apr 28, 2026

Copy link
Copy Markdown
Contributor

Claude finished @carolinaroncaglia's task in 1m 14s —— View job


PR Review: docs: add Billing Accounts capability and OAuth scopes (CXP-455)

  • Gather context and read changed files
  • Review documentation changes
  • Review SDK vendor updates
  • Post review feedback

Overall: Looks good. Clean, well-scoped PR with two logical commits — one for the docs and one for the SDK bump.

Documentation (docs/connector.mdx)

The docs changes are clear and well-structured. The Capabilities table, footnotes, and OAuth scope guidance all read well. I left two inline comments:

  1. Singular/plural inconsistency (docs/connector.mdx:102): "Billing Account provisioning" (singular) vs "Billing Accounts" (plural) everywhere else. Suggested a fix.

  2. Opt-in clarity (docs/connector.mdx:26): The Account Groups footnote (¹) explains that sync is opt-in and how to enable it. The Billing Accounts footnote (²) only mentions scope requirements but doesn't say whether it's opt-in or automatic. If it's opt-in, similar guidance would help users; if automatic, stating that explicitly distinguishes it from Account Groups.

SDK Bump (v0.8.26v0.8.27)

The second commit bumps baton-sdk to v0.8.27. Vendored changes are straightforward SDK internals — adds a DBSizeProvider interface, CurrentDBSizeBytes() on C1File, and enhanced progress logging during grant expansion. No impact on this connector's code.

One minor note: the vendored pkg/sdk/version.go constant reads v0.8.26 while go.mod says v0.8.27 — this is an upstream SDK issue (their version constant is one behind the module tag), not something for this PR to fix.

Neither comment is blocking — the docs are accurate and useful as-is.

Comment thread docs/connector.mdx
**If you also want to sync and provision Account Groups, add:**
**If you also want to sync and provision Account Groups or Billing Accounts, add:**
- core.accounting.read
- core.accounting.write (required for Billing Account provisioning)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: "Billing Account" (singular) is inconsistent with "Billing Accounts" (plural) used everywhere else in this PR.

Suggested change
- core.accounting.write (required for Billing Account provisioning)
- core.accounting.write (required for Billing Accounts provisioning)

Comment thread docs/connector.mdx

¹ Account Groups sync is opt-in. To enable it, select **Account Groups** in the resource types to sync when configuring the connector in C1, and ensure the `core.accounting.read` OAuth scope is added to your Coupa OAuth client.

² Billing Accounts sync requires the `core.accounting.read` OAuth scope. Provisioning (grant/revoke) additionally requires the `core.accounting.write` OAuth scope.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Account Groups footnote (¹) tells users that sync is opt-in and how to enable it. The Billing Accounts footnote (²) only mentions the OAuth scope requirement but is silent on whether it's opt-in or automatic.

If Billing Accounts is also opt-in, consider adding similar guidance:

Suggested change
² Billing Accounts sync requires the `core.accounting.read` OAuth scope. Provisioning (grant/revoke) additionally requires the `core.accounting.write` OAuth scope.
² Billing Accounts sync is opt-in. To enable it, select **Billing Accounts** in the resource types to sync when configuring the connector in C1, and ensure the `core.accounting.read` OAuth scope is added to your Coupa OAuth client. Provisioning (grant/revoke) additionally requires the `core.accounting.write` OAuth scope.

If it syncs automatically whenever the scope is present, the current wording works — but stating that explicitly would help distinguish it from Account Groups.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Apr 28, 2026

Copy link
Copy Markdown
Contributor

Claude finished @carolinaroncaglia's task in 1m 15s —— View job


PR Review: docs: add Billing Accounts capability and OAuth scopes (CXP-455)

  • Gather context and read changed files
  • Review documentation changes
  • Post review feedback

Overall: Looks good. Clean, well-scoped docs-only PR. The Capabilities table addition, footnote, and OAuth scope guidance are all clear and well-structured. The SDK bump revert keeps the PR focused on its intent.

I left two inline comments (echoing the earlier feedback since neither has been addressed yet):

  1. Singular/plural inconsistency (docs/connector.mdx:102): "Billing Account provisioning" (singular) vs "Billing Accounts" (plural) everywhere else. Suggested a fix.

  2. Opt-in clarity (docs/connector.mdx:26): The Account Groups footnote (¹) explains that sync is opt-in and how to enable it. The Billing Accounts footnote (²) only mentions scope requirements but doesn't say whether it's opt-in or automatic. If opt-in, similar guidance would help users; if automatic, stating that explicitly would distinguish it from Account Groups.

Neither is blocking — the docs are accurate and useful as-is.

Comment thread docs/connector.mdx
**If you also want to sync and provision Account Groups, add:**
**If you also want to sync and provision Account Groups or Billing Accounts, add:**
- core.accounting.read
- core.accounting.write (required for Billing Account provisioning)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: "Billing Account" (singular) is inconsistent with "Billing Accounts" (plural) used everywhere else in this PR.

Suggested change
- core.accounting.write (required for Billing Account provisioning)
- core.accounting.write (required for Billing Accounts provisioning)

Comment thread docs/connector.mdx

¹ Account Groups sync is opt-in. To enable it, select **Account Groups** in the resource types to sync when configuring the connector in C1, and ensure the `core.accounting.read` OAuth scope is added to your Coupa OAuth client.

² Billing Accounts sync requires the `core.accounting.read` OAuth scope. Provisioning (grant/revoke) additionally requires the `core.accounting.write` OAuth scope.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Account Groups footnote (¹) explains that sync is opt-in and tells users how to enable it. This footnote only mentions scope requirements but doesn't clarify whether Billing Accounts sync is opt-in or automatic.

If opt-in, consider adding similar guidance:

Suggested change
² Billing Accounts sync requires the `core.accounting.read` OAuth scope. Provisioning (grant/revoke) additionally requires the `core.accounting.write` OAuth scope.
² Billing Accounts sync is opt-in. To enable it, select **Billing Accounts** in the resource types to sync when configuring the connector in C1, and ensure the `core.accounting.read` OAuth scope is added to your Coupa OAuth client. Provisioning (grant/revoke) additionally requires the `core.accounting.write` OAuth scope.

If it syncs automatically whenever the scope is present, stating that explicitly would help distinguish it from Account Groups.

@carolinaroncaglia

Copy link
Copy Markdown
Contributor Author

Closing — docs changes will be handled separately once the SDK bump goes through baton-admin.

@carolinaroncaglia
carolinaroncaglia deleted the CXP-455/update-docs branch April 28, 2026 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant