Easily build complex reports
Monitoring and efficiency metrics
Custom cost allocation tags
Network cost visibility
Organizational cost hierarchies
Budgeting and budget alerts
Discover active resources
Consumption-based insights
Alerts for unexpected charges
Automated AWS cost savings
Discover cost savings
Unified view of AWS discounts
COGS and business metrics
Model savings plans
Collaborate on cost initiatives
Create and manage your teams
Automate cloud infrastructure
Cloud cost issue tracking
Cloud data through AI
Detect cost spikes
by Vantage Team
Today, Vantage is launching SQL Billing Engine for Managed Service Providers (MSPs), empowering MSP partners to define bespoke billing logic for their end customers using SQL. This release provides MSPs with comprehensive control over managed account costs displayed within Vantage, enabling them to implement tailored billing arrangements that align with individual customer agreements.
Custom Billing Rule created using the SQL Billing Engine against AWS Cost and Usage Report data.
Previously, MSPs were limited to predefined billing rules within Vantage, such as Adjustments by Service Category or re-rating Reserved Instance (RI) and Savings Plan (SP) discounted usage. While effective for standard use cases, these constraints posed challenges for MSPs requiring more sophisticated billing strategies to accommodate diverse customer needs.
Now, with the launch of SQL Billing Engine for MSPs, partners can create SQL-based billing rules, giving them full control over managed customer pricing. Vantage MSP customers can create “Custom” billing rules in the Partner Settings console and use familiar SQL syntax, like UPDATE, DELETE, or INSERT statements, to apply pricing changes such as markups, discounts, one-time charges, credits, or exclusions to their end customers’ costs. These rules can leverage the flexible Vantage VQL column schema for rules across any supported provider, or provider-specific cost data (e.g. AWS CUR), enabling billing rule logic based on columns not visible in the Vantage console. These billing rules can be applied to any number of end customers, providing complete control over pricing representation in Vantage Managed Accounts.
UPDATE
DELETE
INSERT
SQL Billing Engine for MSPs is available today for all Vantage for MSP customers. Partners can access this feature through Billing Rules in Partner Settings and begin defining their custom billing logic. To learn more, see the Billing Rules documentation.
1. What is being announced today?
Vantage is launching SQL Billing Engine for MSPs which allows partners to define custom logic for billing rules using SQL, enabling precise control over pricing models for end customers.
2. Who is the customer?
Any Vantage for MSP customers that have complex pricing structures for their end customers around pricing that want to implement custom logic for adjustments, credits, refunds, or one time charges.
3. How much does this cost?
There is no additional cost for using SQL Billing Engine for MSPs.
4. Which providers are supported for SQL Billing Engine for MSPs?
You can create a billing rule with the SQL Billing Engine against any provider using the Vantage VQL column schema. For querying against raw data from the provider, only AWS is available at this time. Other providers will soon be added.
5. Which data sources can these rules operate on?
Rules can be applied to both raw, pre-processed data such as AWS Cost and Usage Reports (CUR) and Vantage’s post-processed schema, offering flexibility in data manipulation.
6. Which AWS CUR columns can I query on?
You can query any AWS CUR column except for resource_tag_% columns. You can find available CUR columns in the AWS Data Exports Data Dictionary. Additionally, all available columns are shown in the “Available Columns” list to the left of the SQL query editor.
resource_tag_%
7. How do I select what data I am querying against?
You can choose what data you are querying against in your FROM or SET statement.
costs
aws
8. What types of billing rules can I use SQL to define, and what SQL operations do I use?
You can use the following SQL operations:
9. What are examples of a billing rule I can create?
The following example gives a 9.5% discount unless Credit, Fee, Enterprise Support or Marketplace Purchase
UPDATE aws SET aws."lineItem/UnblendedCost" = aws."lineItem/UnblendedCost" * '0.095' WHERE aws."lineItem/ProductCode" != 'AwsPremiumSupport' AND aws."lineItem/LineItemType" != 'Credit' AND aws."lineItem/LineItemType" != 'Fee' AND aws."bill/BillingEntity" != 'AWS Marketplace'
Additionally, example rules have been added to Vantage’s FinOps as Code repository, and will be maintained with examples customers are using. If you wish to contribute, see our Contribution Guide.
10. What kind of validation is done on my SQL statement?
Vantage will validate syntax and column names upon a query being submitted. Errors will be returned both in the UI or via API.
11. Can I use autocomplete?
When using the Vantage console, you can use autocomplete to fill in columns available to you. As you type, Vantage will present a list of columns that
12. How do I validate that my SQL is working as expected?
Apply and check in managed account
13. Can I have multiple adjustments on the same item (i.e. one that sets unblendedCost * 0.95 and one that sets it as 1.05)?
For multiple adjustments with different conditions, you should create separate billing rules for each one. They will be evaluated in sequenced order.
14. Can I create these billing rules via API?
Yes, you can use the /billing_rules endpoint, such as the following example:
/billing_rules
curl --request POST \ --url https://api.vantage.sh/v2/billing_rules \ --header 'Authorization: Bearer your_vantage_api_key' \ --header 'Content-Type: multipart/form-data' \ --header 'User-Agent: insomnia/11.2.0' \ --form type=custom \ --form 'title=SQL Billing Rule Via API' \ --form 'sql_query=INSERT INTO costs (ChargeCategory, BilledCost, Service) VALUES ('\''Tax'\'', '\''0.01'\'', '\''VNTG'\'')'
15. Can I create these billing rules via Terraform?
Creating Custom Billing Rules via Terraform is coming soon.
16. Can I create logic based on previous periods?
No, you cannot use date logic in your SQL query to define billing rules.
Vantage does not have logic that prevents users from utilizing date columns when defining their SQL logic. However, it is strongly recommended that customers utilize the start_date and end_date within the billing rule to define periods you want rules applied to. If the date logic in a SQL statement conflicts with the dates entered into the billing rule, it may result in the billing rule not being applied to any cost line items.
start_date
end_date
17. Is my data at risk at all of SQL injection?
Billing Rules from the SQL Billing Engine is performed in memory, so there is no SQL injection risk. Additionally, Vantage performs validation of the schema to ensure the query will perform correctly and not cause any harm or degradation to customer data.
18. Is there a limit to the number of billing rules I can create?
You can create up to 20 billing rules of any rule type. If you need additional billing rules, please reach out to support@vantage.sh.
19. How did Vantage decide to use SQL?
We decided to provide customers with a SQL Billing engine for many reasons. It is much more familiar than custom schemas, and allows for carry over from queries customers may be familiar with already, such as the CUR querying, instead of using proprietary formats. This also includes comprehension for LLMs, enabling better integration with the Vantage MCP. Using a declarative language also was more intuitive for users as they can dictate end state of their billing rules.
Vantage is expanding its rightsizing and idle recommendations to support EC2, RDS, EBS, ECS, Lambda, and Auto-Scaling Groups (ASGs).
Vantage announces AWS Extended Support Reporting and Recommendations for Elastic Kubernetes Service (EKS), allowing Vantage customers to manage the lifecycle of their Amazon EKS clusters more effectively.
Vantage announces Flexible Match filter operator to match variants of a string when performing a filter for a value.