{"id":1021,"date":"2026-10-08T11:41:11","date_gmt":"2026-10-08T06:11:11","guid":{"rendered":"https:\/\/smppcenter.com\/kb\/?p=1021"},"modified":"2026-10-08T11:41:13","modified_gmt":"2026-10-08T06:11:13","slug":"rcs-vendor-pricing-user-rates","status":"publish","type":"post","link":"https:\/\/smppcenter.com\/kb\/rcs-vendor-pricing-user-rates\/","title":{"rendered":"RCS Vendors, Vendor Pricing and Customer Rates"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">RCS margin goes wrong quietly. Rates differ by country and by message type, carriers change them, and a TEXT rate that looks fine can sit below cost for RICH. The platform helps here: it compares vendor cost against customer rates every day and pings you on Telegram when something is upside down.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">RCS Vendors<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Admin Panel &gt; RCS &gt; RCS Vendors<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A vendor record holds the API endpoint, credentials and branding used when syncing bots, submitting templates and sending traffic. The list gives you the vendor ID, name, logo and a <strong>Credentials<\/strong> button that opens API keys, client ID and secrets in a modal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Treat that modal as sensitive. Restrict which admin roles can open this page, and do not export or screenshot credentials outside your operations team.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When a vendor rotates keys: change them in the vendor portal first, update them here, then re-sync the affected bots. Credentials are shared by every bot on that vendor, so one wrong paste takes all of them down.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">RCS Vendor Pricing<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Admin Panel &gt; RCS &gt; RCS Vendor Pricing<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is what RCS costs you, per vendor, country and message type. Breadcrumb actions are <strong>Manage<\/strong>, <strong>Add<\/strong> and <strong>Import<\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Add<\/strong> creates one row.<\/li>\n\n\n\n<li><strong>Import<\/strong> takes a CSV with vendor, country, message type and rate. Invalid rows are skipped and reported, so check the feedback rather than assuming everything loaded.<\/li>\n\n\n\n<li><strong>Export<\/strong> downloads whatever your current filter shows, which is what you want when reconciling a vendor invoice.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Filter by vendor, country, message type and active status.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">RCS Users Pricing<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Admin Panel &gt; RCS &gt; RCS Users Pricing<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The other side of the equation: the rate cards assigned to each account. Outbound RCS billing uses these when calculating cost on delivery reports and summaries.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rows carry user, optional bot scope, country, message type (TEXT, RICH and related types), the rate with currency, and an active flag. You can filter by all of those, edit a row, or deactivate it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bot level rates are useful when one customer runs several bots with different commercial deals, for example their own brand versus a brand they resell.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The daily low rate alert<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A daily job compares vendor pricing with user pricing and alerts admins on Telegram when a customer rate is below vendor cost. An info banner on the vendor pricing page reminds you it exists.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Two things to do with it:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Keep vendor rates current.<\/strong> Stale vendor rates cause false alerts, and you start ignoring them. Then the real one arrives and you ignore that too.<\/li>\n\n\n\n<li><strong>Act on the day it fires.<\/strong> A rate below cost loses money on every message until someone changes it.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">A rate change routine<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Carrier or aggregator sends a rate notice.<\/li>\n\n\n\n<li>Update <strong>RCS Vendor Pricing<\/strong> on the effective date.<\/li>\n\n\n\n<li>Adjust <strong>RCS Users Pricing<\/strong> for affected countries and message types, before or immediately after the vendor change.<\/li>\n\n\n\n<li>Export both for the month and keep them with the vendor invoice.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Related articles<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/smppcenter.com\/kb\/rcs-admin-setup-order\/\">Getting RCS Running on Your Platform<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/smppcenter.com\/kb\/enable-rcs-for-a-user\/\">How to Enable RCS for a Customer Account<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/smppcenter.com\/kb\/rcs-reports-logs-summaries\/\">RCS Reports: Message Logs, Summaries and Capability Checks<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/smppcenter.com\/kb\/vendor-pricing-mcc-mnc-cost-rates\/\">How to Set Up Vendor Pricing and MCC\/MNC Cost Rates<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/smppcenter.com\/kb\/connect-billing-summary-vendor-margin\/\">How to Check Profit and Loss per Connect<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Connect your upstream RCS aggregator, load its cost rates, price your customers above them, and get told when a rate slips below cost.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[422],"tags":[436,435,355,434,433,350],"class_list":["post-1021","post","type-post","status-publish","format-standard","hentry","category-rcs","tag-credentials","tag-low-rate-alert","tag-margin","tag-rcs-vendors","tag-user-pricing","tag-vendor-pricing"],"_links":{"self":[{"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/posts\/1021","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/comments?post=1021"}],"version-history":[{"count":0,"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/posts\/1021\/revisions"}],"wp:attachment":[{"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/media?parent=1021"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/categories?post=1021"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/tags?post=1021"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}