Compliant protocol analysis and production-grade API source code for the BBVA Business (com.bbva.GEMA) Mexican SMB banking app.
BBVA Business Mexico (formerly BBVA Bancomer Negocios) is the core mobile workbench used by Mexican companies and MicroBusinesses to manage accounts, cards, POS terminals, instant loans and SPEI/CoDi money movement. We reverse-engineer the B Negocios mobile token and Cronto authentication flow and deliver authorized, runnable APIs that let you sync this data programmatically.
BBVA is the largest bank in Mexico by deposits and loans, and B Negocios (internal codename GEMA) is its dedicated mobile product for merchants, MicroBusinesses and corporates. With roughly 87 million active mobile-banking accounts transacting in Mexico as of Q1 2024, a large share of corporate cash flow now originates from apps like this one — making server-side access to that data a strategic requirement for ERP, accounting, lending and risk workflows.
Behind the app there is a structured backend: multi-currency accounts, business cards, affiliate POS terminals, CoDi charge history, promissory-note investments and loan contracts. Every screen in the app (executive summary, movements, POS summary, loans) maps to a clearly identifiable server resource that can be exposed as a REST endpoint once the B Negocios authentication chain is understood.
BBVA already publishes partner-only APIs such as Business Payments and Business Collections on bbvaapimarket.com, but those require a direct commercial onboarding with the bank and do not cover all data a user can see in the app. Our protocol-analysis track fills the gaps: read-only statement and POS data, loan status, and automation flows that the official partner APIs do not expose to all clients.
Statement queries for BBVA checking, dollar and euro accounts, plus business debit and credit cards. Supports date-range, transaction-type and income/expense filters, paginated cursors, and stable transaction IDs suitable for idempotent downstream writes. Typical use: nightly import into an accounting ledger or ERP.
Programmatic third-party transfers by CLABE or debit card number, including own-account transfers and multi-currency flows (MXN / USD / EUR). Each call returns the SPEI tracking key (clave de rastreo) so that your back office can reconcile against Banxico SPEI receipts.
Generate a CoDi charge QR and collect settlement events without a physical POS. Endpoints cover QR creation, expiration, status polling and webhook callbacks so that e-commerce checkouts or kiosks can confirm payment in under a second.
Daily and monthly POS sales summaries per affiliation (afiliación), with commissions, gross amount and net settlement. Ideal for merchant accounting or for calculating effective acquiring cost across terminals and card brands.
Read BBVA's POS-advance instant loans (the offer shown inside the app as a reward for good terminal usage), outstanding credit lines, and promissory-note investment positions. Useful for treasury dashboards and for credit-limit monitoring services.
Wrapped handling of the B Negocios mobile token, biometric approval and Cronto visual challenge so that automations do not break when the bank rotates OTP logic. Token lifetimes, CVV-dynamic flows and step-up approvals are abstracted behind a single authorize() call.
The table below maps what a logged-in BBVA Business user can see in the app to the server-side resource that an authorized API integration can expose. Granularity reflects what the backend actually serves, based on the published screens and the B Negocios workflow.
| Data type | Source (screen / feature) | Granularity | Typical use |
|---|---|---|---|
| Account balances | Executive summary / account detail | Per account, per currency (MXN / USD / EUR), real-time | Treasury dashboards, cash-position monitoring |
| Account movements | Movements list, filtered view | Transaction-level with date, amount, concept, counterpart, SPEI clave de rastreo | Accounting ledger import, reconciliation, audit |
| Business card statements | Card detail & statements | Per card, monthly cut, line-item transactions, payment due date | Expense management, T&E reporting |
| SPEI transfers | Transfer flow (3rd-party, own, interbank) | Per transfer: CLABE, amount, status, tracking key | Payout automation, vendor disbursement |
| CoDi collections | CoDi QR / push notification | Per charge: QR, status, payer, settlement event | E-commerce checkout, mobile POS, donations |
| POS terminal sales | POS summary (daily / monthly) | Per affiliation, per day/month; gross, commissions, net | Merchant reconciliation, acquiring cost analysis |
| Loans & credit lines | Loans & credits section | Per contract: principal, outstanding, next payment, rate | Treasury planning, credit-limit alerts |
| Promissory-note investments | Investments / pagarés | Per note: amount, rate, maturity | Yield reporting, liquidity forecasting |
| ATM / branch locator | Locator screen | Lat/lng, opening hours, services | Travel & logistics integrations (open-data tier) |
Click any thumbnail to open a larger preview. The images below are the public Play Store screenshots of BBVA Business Mexico and are used here only to illustrate the screens whose data our integration can expose.
Context: A retailer with 12 BBVA accounts across MXN / USD wants every BBVA movement in its accounting tool by 07:00.
Data / API: GET /bbva/accounts to enumerate, then POST /bbva/statement with from_date / to_date; each row is normalized into a ledger entry keyed by the SPEI clave de rastreo or BBVA internal ID.
OpenFinance mapping: This is the canonical transactional data tier in Mexico's Fintech Law — consent-driven, per-account, per-period — the same shape that Article 76 envisioned for standardized bank APIs.
Context: A Mexican Shopify-style storefront wants to accept CoDi without buying a physical POS.
Data / API: POST /bbva/codi/charge returns a QR payload and a charge_id; a webhook charge.settled fires once the payer confirms on their bank app. The merchant backend marks the order as paid and triggers fulfillment.
OpenFinance mapping: A Payment Initiation pattern, equivalent to PSD2 PIS in Europe, using Mexico's domestic CoDi rails instead of SEPA.
Context: A restaurant group with 40 POS terminals wants to know, per branch, yesterday's gross sales, commission and net deposit.
Data / API: GET /bbva/pos/summary?day=2026-04-19 returns a list keyed by affiliation_id with gross, commissions, net and expected settlement date; the net figure is matched against the movement in the checking account.
OpenFinance mapping: Acquirer-reporting API, complementary to CNBV's transactional-data tier.
Context: A fintech lender pre-approves BBVA Business clients for working-capital loans based on 12 months of inflows.
Data / API: With explicit user consent, the lender pulls statements via POST /bbva/statement plus POS summaries; inflow stability, seasonality and existing BBVA loan balances feed into the scoring model.
OpenFinance mapping: Account Information Services (AIS) pattern — exactly the use case Banxico's open-finance pilot with the Open Bank Project was designed to support.
Context: An ERP batches 500 supplier payments and needs to execute SPEI transfers with full audit trail.
Data / API: POST /bbva/spei per beneficiary with CLABE, amount and concept; response contains SPEI tracking_key, which is later reconciled against the account statement using the same field.
OpenFinance mapping: Bulk Payment Initiation, routed through SPEI rather than raw wire instructions.
docker-compose.yml for self-hosted deployment// Step 1: establish session with user credentials
POST /api/v1/bbva-mx/auth/login
Content-Type: application/json
{
"document_type": "RFC",
"document_number": "XAXX010101000",
"password": "<plain>",
"device_id": "a7c9...e4"
}
// Step 2: confirm mobile-token challenge
POST /api/v1/bbva-mx/auth/token/confirm
Authorization: Bearer <SESSION_TOKEN>
{
"otp": "847213",
"cronto_signature": "<base64-signed-image>"
}
Response:
{
"access_token": "eyJhbGciOi...",
"expires_in": 900,
"scope": ["statement", "spei", "codi", "pos"]
}
POST /api/v1/bbva-mx/statement
Authorization: Bearer <ACCESS_TOKEN>
Content-Type: application/json
{
"account_id": "014180655012345678",
"currency": "MXN",
"from_date": "2026-03-01",
"to_date": "2026-03-31",
"type": "ALL",
"page": 1,
"page_size": 100
}
// 200 OK
{
"account_id": "014180655012345678",
"opening_balance": 152304.55,
"closing_balance": 184902.10,
"currency": "MXN",
"items": [
{
"tx_id": "BBVA-2026-03-02-0001",
"posted_at": "2026-03-02T10:22:11-06:00",
"concept": "SPEI RECIBIDO CLIENTE ABC",
"amount": 18450.00,
"direction": "IN",
"tracking_key": "CR1400000012023030210221100001",
"counterpart": { "clabe": "012180001234567890", "name": "CLIENTE ABC SA" }
}
],
"has_next": true,
"next_cursor": "eyJwYWdlIjoyfQ=="
}
// Generate a CoDi charge
POST /api/v1/bbva-mx/codi/charge
Authorization: Bearer <ACCESS_TOKEN>
{
"amount": 349.00,
"currency": "MXN",
"concept": "Order #A-1029",
"reference": "A-1029",
"expires_in": 600
}
// Webhook callback (merchant backend)
POST https://merchant.example.com/webhooks/bbva-codi
X-Signature: sha256=9e0a...
{
"event": "charge.settled",
"charge_id": "codi_01HFQ9Z...",
"reference": "A-1029",
"amount": 349.00,
"status": "SETTLED",
"settled_at": "2026-04-19T14:05:32-06:00",
"payer_masked_clabe": "********7890"
}
// Error cases: EXPIRED, CANCELLED_BY_PAYER, RISK_BLOCKED
// Each returns a stable error_code for retry/alert logic.
A typical deployment is a small 4-stage pipeline: BBVA Business app / B Negocios backend → Our protocol-adapter layer (handles mobile token, Cronto, session rotation, rate limiting) → Normalization & storage (Postgres or object storage for statements, Kafka for CoDi / SPEI events) → Consumer interface (REST/GraphQL API, CSV/Excel exports, ERP webhooks). Every stage is stateless where possible, with idempotency keys derived from the BBVA tx_id or SPEI tracking key so that retries never double-post.
Mexico's Ley para Regular las Instituciones de Tecnología Financiera (Ley Fintech, 2018) is the foundational open-banking framework. Article 76 requires banks, fintechs, money transmitters and credit bureaus to share financial data through standardized APIs across three tiers: open data (product catalogs, ATM locations — already regulated), aggregated data and transactional data. The CNBV and Banxico supervise these obligations.
As of 2025 the secondary regulations for transactional and aggregated data have still not been published in binding form, so BBVA's published APIs (Business Payments, Business Collections on bbvaapimarket.com) remain contract-based rather than right-based. Our integrations operate strictly under the customer's authenticated session or under documented public / partner APIs.
We align with Mexico's federal data-protection law LFPDPPP (Ley Federal de Protección de Datos Personales en Posesión de los Particulares) and, for clients operating internationally, with GDPR principles: purpose limitation, data minimization, retention windows and right to erasure. Nothing is stored that the client does not explicitly need; PII fields (RFC, CLABE, account holder name) can be tokenized at the adapter layer. NDAs and DPAs are standard.
BBVA Business Mexico is a B2B product, aimed at Mexican SMBs, MicroBusinesses and corporate treasuries. Typical users include retailers who rely on BBVA POS terminals, service companies that issue payroll and SPEI payouts, and merchants using CoDi to accept digital charges without a card terminal. Primary region is Mexico, with cross-border USD and EUR flows for importers/exporters. The app is distributed on both Android and iOS; the package ID com.bbva.GEMA is the Android build, and the same B Negocios backend powers the iOS client and the BBVA Net Cash web console. This mix — multi-currency, multi-channel, business-oriented — is what makes its data especially valuable for ERP, accounting, lending and risk-analytics integrations.
Companies that rely on BBVA Business Mexico rarely use only one provider. Below are 10 apps frequently found alongside it in the Mexican financial stack. We highlight them here because integration teams often need unified data exports across several of these at once — and because anyone searching for their names is dealing with the same class of OpenFinance / OpenData problems.
We are an independent studio focused on App interface integration, protocol analysis and OpenData/OpenFinance delivery. Our engineers come from banks, payment processors, mobile protocol-analysis labs and cloud platforms. We ship end-to-end financial APIs under strict security and regulatory constraints, with a track record across Latin America, Europe and Asia.
Send us the target app name plus your requirements — e.g. "BBVA Business Mexico statement export + POS reconciliation for 20 terminals" — and we will return scope, timeline and price.
Two engagement models:
What do you need from me?
How long does delivery take?
How do you handle compliance?
Do you also cover iOS?
com.bbva.GEMA) and iOS; our adapter works against the common API surface and is verified on both clients.BBVA Bancomer is now BBVA. BBVA Business is the bank's new mobile app for managing a company from the phone, designed so owners and finance teams can carry out day-to-day queries and operations without going to the branch. BBVA positions the product as a continuously evolving platform and adds features aimed at real SMB needs.
Access is hardened through a B Negocios mobile token and/or a Cronto device, activated on the phone. Once activated, users can access the full set of B Negocios functionalities.
BBVA highlights that data is transmitted securely and is not stored on the phone — if the device is lost, no one can access the service, because only the user knows the access passwords. BBVA also invites users to send feedback so the app keeps evolving with business needs.