Over-Limit Transactions
Overview
An over-limit transaction can be approved even when the account balance, with the transaction applied, would exceed the financial account's credit limit. Highnote supports over-limit transactions through two variance spend rules, gated by a card product feature that Highnote Operations enables on your behalf:
- Amount variance:
MaximumAmountVarianceOnCreditLimitSpendRule - Percent variance:
MaximumPercentVarianceOnCreditLimitSpendRule
Either rule can be attached at the Card Product, Financial Account, or Payment Card level. The rule applies to authorized amounts; reversals decrement the cumulative authorized amount, but refunds do not.
Before enabling over-limit transactions, update your Cardholder Agreement to disclose how a cardholder opts in and to disclose any associated fees. The Credit CARD Act allows over-limit fees only when the cardholder has affirmatively consented.
Prerequisites
Both of the following must be true before you can use these spend rules:
- Highnote Operations has enabled the
CreditLimitVarianceCardProductFeatureon your card product. Contact your Highnote representative to enable it. - Your Cardholder Agreement reflects the over-limit terms and any associated fees.
Spend rules
| Spend Rule | Input | Use it to |
|---|---|---|
MaximumAmountVarianceOnCreditLimitSpendRule | amountVariance: AmountInput! | Allow cumulative spend up to a fixed Amount over the credit limit. |
MaximumPercentVarianceOnCreditLimitSpendRule | percentVariance: UnsignedInt! | Allow cumulative spend up to a whole-number percentage of the credit limit. A value of 50 permits cumulative spend up to 150% of the limit. |
Configure percentVariance or amountVariance to match your underwriting policy and the terms disclosed in your Cardholder Agreement. Highnote does not enforce an upper bound on either.
amountVariance.valueis an integer in minor units —1099is $10.99 USD, not $1,099.percentVarianceis a whole-number percent above the credit limit —50allows up to 150%.
Examples
Maximum amount variance
A subscriber wants to let a fleet — one financial account with ten payment cards — spend up to $500 over the financial account's credit limit. There are no restrictions on the number or dollar amount of individual transactions, as long as the cumulative over-limit total stays under $500.
Create the spend rule:
CreateMaximumAmountVarianceOnCreditLimitSpendRule
Query
mutation CreateMaximumAmountVarianceOnCreditLimitSpendRule(
$input: CreateMaximumAmountVarianceOnCreditLimitSpendRuleInput!
) {
createMaximumAmountVarianceOnCreditLimitSpendRule(input: $input) {
__typename
... on MaximumAmountVarianceOnCreditLimitSpendRule {
id
name
version
amountVariance {
value
currencyCode
}
createdAt
updatedAt
}
... on UserError {
errors {
code
path
}
}
... on AccessDeniedError {
message
}
}
}
Variables
{ "input": { "name": "$500 cumulative over-limit allowance", "amountVariance": { "value": 50000, "currencyCode": "USD" } } }
Result
{
"data": {
"createMaximumAmountVarianceOnCreditLimitSpendRule": {
"__typename": "MaximumAmountVarianceOnCreditLimitSpendRule",
"id": "<SPEND_RULE_ID>",
"name": "$500 cumulative over-limit allowance",
"version": "0",
"amountVariance": {
"value": 50000,
"currencyCode": "USD"
},
"createdAt": "2026-05-18T12:00:00.000Z",
"updatedAt": "2026-05-18T12:00:00.000Z"
}
},
"extensions": {
"requestId": "<REQUEST_ID>"
}
}
Then attach the rule to the financial account:
AttachSpendRuleToFinancialAccount
Query
mutation AttachSpendRuleToFinancialAccount(
$input: AttachSpendRuleToFinancialAccountInput!
) {
attachSpendRuleToFinancialAccount(input: $input) {
__typename
... on FinancialAccount {
id
}
... on UserError {
errors {
code
path
}
}
... on AccessDeniedError {
message
}
}
}
Variables
{ "input": { "financialAccountId": "<FINANCIAL_ACCOUNT_ID>", "spendRule": { "id": "<SPEND_RULE_ID>", "version": "LATEST" } } }
Result
{
"data": {
"attachSpendRuleToFinancialAccount": {
"__typename": "FinancialAccount",
"id": "<FINANCIAL_ACCOUNT_ID>"
}
},
"extensions": {
"requestId": "<REQUEST_ID>"
}
}
Maximum percent variance
A subscriber wants to let a financial account spend up to 20% over its credit limit — for example, $1,200 of cumulative spend against a $1,000 credit limit.
Create the spend rule:
CreateMaximumPercentVarianceOnCreditLimitSpendRule
Query
mutation CreateMaximumPercentVarianceOnCreditLimitSpendRule(
$input: CreateMaximumPercentVarianceOnCreditLimitSpendRuleInput!
) {
createMaximumPercentVarianceOnCreditLimitSpendRule(input: $input) {
__typename
... on MaximumPercentVarianceOnCreditLimitSpendRule {
id
name
version
percentVariance
createdAt
updatedAt
}
... on UserError {
errors {
code
path
}
}
... on AccessDeniedError {
message
}
}
}
Variables
{ "input": { "name": "20% over-limit allowance", "percentVariance": 20 } }
Result
{
"data": {
"createMaximumPercentVarianceOnCreditLimitSpendRule": {
"__typename": "MaximumPercentVarianceOnCreditLimitSpendRule",
"id": "<SPEND_RULE_ID>",
"name": "20% over-limit allowance",
"version": "0",
"percentVariance": 20,
"createdAt": "2026-05-18T12:00:00.000Z",
"updatedAt": "2026-05-18T12:00:00.000Z"
}
},
"extensions": {
"requestId": "<REQUEST_ID>"
}
}
Attach the rule to the financial account using the same AttachSpendRuleToFinancialAccount mutation shown above.
Combining with other spend rules
A variance spend rule on its own caps the cumulative over-limit amount but does not constrain individual transactions.
To layer per-transaction or per-window controls — for example, "$500 cumulative over-limit, but no single transaction over $250" — compose the variance rule with an AmountLimitSpendRule or wrap them in a VelocityRule. The variance rule continues to gate the cumulative over-limit amount; the additional rules constrain transaction shape.