{"id":85,"date":"2026-10-10T17:04:06","date_gmt":"2026-10-10T23:04:06","guid":{"rendered":"https:\/\/rafaelsolis.dev\/proyectos\/bonobo\/"},"modified":"2026-10-10T17:04:06","modified_gmt":"2026-10-10T23:04:06","slug":"bonobo","status":"publish","type":"page","link":"https:\/\/rafaelsolis.dev\/en\/proyectos\/bonobo\/","title":{"rendered":"Bonobo"},"content":{"rendered":"<div class=\"wp-block-group alignfull rs-b-cabeza rs-b-cabeza--proyecto is-layout-flow wp-block-group-is-layout-flow\">\n<nav class=\"rs-migas\" aria-label=\"Breadcrumb\"><ol><li><a href=\"https:\/\/rafaelsolis.dev\/en\/\">Home<\/a><\/li><li><a href=\"https:\/\/rafaelsolis.dev\/en\/proyectos\/\">Projects<\/a><\/li><li aria-current=\"page\">Bonobo<\/li><\/ol><\/nav>\n\n\n\n<p class=\"rs-b-ceja wp-block-paragraph\">Energy and fuel<\/p>\n\n\n\n<h1 class=\"wp-block-heading rs-b-h1\">Bonobo<\/h1>\n\n\n\n<span class=\"rs-logos rs-logos--grande\"><img src=\"https:\/\/rafaelsolis.dev\/wp-content\/uploads\/2026\/10\/logo-bonobo.png\" alt=\"\" width=\"56\" height=\"56\" loading=\"lazy\" decoding=\"async\"><\/span>\n\n\n\n<p class=\"rs-b-entrada wp-block-paragraph\">Volumetric-control software for fuel stations: generates billing and the JSON file Mexico's tax authority (SAT) requires to audit fuel purchases and sales.<\/p>\n\n\n\n<dl class=\"rs-ficha\"><div><dt>Client<\/dt><dd>Brentec Soluciones Tecnol\u00f3gicas<\/dd><\/div><div><dt>Role<\/dt><dd>Software architect<\/dd><\/div><div><dt>Industry<\/dt><dd>Energy and fuel<\/dd><\/div><div><dt>Period<\/dt><dd>2025 \u2013<\/dd><\/div><div><dt>Solutions<\/dt><dd><ul class=\"rs-chips\"><li>CFDI e-invoicing (SAT)<\/li><li>Process automation<\/li><li>Data and reporting<\/li><li>APIs and integrations<\/li><\/ul><\/dd><\/div><div><dt>Technology<\/dt><dd>Yii2 \u00b7 PHP \u00b7 Python \u00b7 MariaDB<\/dd><\/div><\/dl>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull rs-b-ficha is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"rs-cifra wp-block-paragraph translation-block\"><strong class=\"rs-cuenta\" data-hasta=\"693\">693<\/strong>clients run their volumetric control on Bonobo<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull rs-b-seccion rs-b-caso is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"rs-b-rotulo wp-block-paragraph\">Case study<\/p>\n\n\n\n<h2 class=\"wp-block-heading rs-b-h2\">The case<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bonobo is the market leader's core volumetric-control system: the software that today 693 clients \u2014 distributors, service stations, carriers and self-consumption operators \u2014 use to comply with what Mexico's tax authority (SAT) requires them to report on every movement of fuel: purchases from tanker trucks, retail sales, losses, and permits from CRE (the energy regulatory commission). Rafael joined the project by studying the SAT's full official documentation to understand how each section of the report had to be structured before writing a single line of code.\r\n\r\nAt the station, Bonobo connects directly to the hardware through several Python projects: it reads the tank probes to determine real inventory, authorizes sales dispatch from the pump, and logs tanker-truck receiving and fuel purchases and sales. That data migrates to the cloud, where the volumetric-control JSON submitted to SAT gets assembled, alongside invoicing \u2014 including Carta Porte and global invoices issued outside their normal window \u2014 so both flows stay consistent with each other.\r\n\r\nThe challenge wasn't only technical, it was about the business: every kind of client operates differently. Retailers follow the full flow, from probe to invoice; distributors operate almost entirely virtually, capturing data to generate their own JSON file; carriers are mostly virtual too, but connect to CNE and SIRACP to geolocate their units in real time; and self-consumption operators follow their own variant. Rafael had to untangle those different business rules under one system without one bleeding into another.\r\n\r\nThe system runs on PHP with Yii2 and MariaDB, the stack shared by most Brentec platforms, which let him carry business knowledge over to other projects such as Central Shield and Gorila Desk. With 693 clients in operation, and clients coming and going every month, Bonobo isn't a system that's ever finished: it keeps growing, and its design had to plan for that from the start.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull rs-b-seccion is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"rs-b-rotulo wp-block-paragraph\">Related<\/p>\n\n\n\n<h2 class=\"wp-block-heading rs-b-h2 translation-block\">Other <em>similar<\/em> projects.<\/h2>\n\n\n\n<div class=\"rs-obras\"><article class=\"rs-obra\" data-industria=\"gobierno\" data-soluciones=\"reservas pagos datos apps\"><p class=\"rs-obra-meta\"><span>Government and parks<\/span><\/p><span class=\"rs-logos\"><img src=\"https:\/\/rafaelsolis.dev\/wp-content\/uploads\/2026\/10\/logo-cozumel-parks.png\" alt=\"\" width=\"56\" height=\"56\" loading=\"lazy\" decoding=\"async\"><img src=\"https:\/\/rafaelsolis.dev\/wp-content\/uploads\/2026\/10\/logo-fpmc.png\" alt=\"\" width=\"56\" height=\"56\" loading=\"lazy\" decoding=\"async\" class=\"is-claro\"><\/span><h3 class=\"rs-obra-nombre\"><a href=\"https:\/\/rafaelsolis.dev\/en\/proyectos\/entradas-parques-naturales\/\">CozumelParks \/ MERCAWEB<\/a><\/h3><p class=\"rs-obra-cliente\">Cozumel Parks and Museums Foundation (Fundaci\u00f3n de Parques y Museos de Cozumel)<\/p><p class=\"rs-obra-resumen\">Sales platform for the four parks and museums of the Cozumel Parks and Museums Foundation: online sales, box office, revenue reports and the identity \u201cCuatro sendas, una isla\u201d (Four paths, one island).<\/p><ul class=\"rs-chips\"><li>Bookings and online sales<\/li><li>Online payments<\/li><li>Data and reporting<\/li><li>Web and mobile apps<\/li><\/ul><\/article><article class=\"rs-obra\" data-industria=\"turismo\" data-soluciones=\"saas nube automatizacion\"><p class=\"rs-obra-meta\"><span>Tourism<\/span><\/p><span class=\"rs-logos\"><img src=\"https:\/\/rafaelsolis.dev\/wp-content\/uploads\/2026\/10\/logo-site-engine.png\" alt=\"\" width=\"56\" height=\"56\" loading=\"lazy\" decoding=\"async\"><\/span><h3 class=\"rs-obra-nombre\"><a href=\"https:\/\/rafaelsolis.dev\/en\/proyectos\/site-engine\/\">Site Engine<\/a><\/h3><p class=\"rs-obra-cliente\">Adventure Planet Group<\/p><p class=\"rs-obra-resumen\">Engine that automates domain purchasing and management so every site in the tour ecosystem is controlled from a single panel.<\/p><ul class=\"rs-chips\"><li>SaaS platforms<\/li><li>Cloud and infrastructure<\/li><li>Process automation<\/li><\/ul><\/article><article class=\"rs-obra\" data-industria=\"energia\" data-soluciones=\"datos apis apps\"><p class=\"rs-obra-meta\"><span>Energy and fuel<\/span><\/p><span class=\"rs-logos\"><img src=\"https:\/\/rafaelsolis.dev\/wp-content\/uploads\/2026\/10\/logo-central-shield.png\" alt=\"\" width=\"56\" height=\"56\" loading=\"lazy\" decoding=\"async\"><\/span><h3 class=\"rs-obra-nombre\"><a href=\"https:\/\/rafaelsolis.dev\/en\/proyectos\/central-shield\/\">CentralShield<\/a><\/h3><p class=\"rs-obra-cliente\">Brentec Soluciones Tecnol\u00f3gicas<\/p><p class=\"rs-obra-resumen\">Panel that brings the platforms for service stations, distributors, carriers and transport fleets into one place: live monitoring, tank inventory and price comparison.<\/p><ul class=\"rs-chips\"><li>Data and reporting<\/li><li>APIs and integrations<\/li><li>Web and mobile apps<\/li><\/ul><\/article><\/div>\n<\/div>\n\n\n\n<div id=\"contacto\" class=\"wp-block-group alignfull rs-b-cierre is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"rs-b-rotulo wp-block-paragraph\">Contact<\/p>\n\n\n\n<h2 class=\"wp-block-heading rs-b-h2 translation-block\">Does your company have a <em>similar<\/em> problem?<\/h2>\n\n\n\n<p class=\"rs-b-entrada wp-block-paragraph\">Tell me how it operates today and what you want to solve.<\/p>\n\n\n\n<p class=\"rs-b-telefono wp-block-paragraph\"><a href=\"https:\/\/wa.me\/529999583010\">+52 999 958 3010<\/a><\/p>\n\n\n\n<p class=\"rs-b-correo wp-block-paragraph\"><a href=\"mailto:rafael.solis@adventureplanet.mx\">rafael.solis@adventureplanet.mx<\/a><\/p>\n\n\n\n<div class=\"wp-block-buttons rs-b-botones rs-centro is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button rs-b-boton-linea\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/rafaelsolis.dev\/en\/contacto\/\">Use the contact form<\/a><\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Inicio Proyectos Bonobo Energ\u00eda y combustibles Bonobo Programa de control volum\u00e9trico para estaciones de servicio: genera facturaci\u00f3n y el JSON que el SAT exige para fiscalizar compras y ventas de combustible. Cliente Brentec Soluciones Tecnol\u00f3gicas Rol Arquitecto de software Industria Energ\u00eda y combustibles Periodo 2025 \u2013 Soluciones Facturaci\u00f3n CFDI y SAT Automatizaci\u00f3n de procesos Datos\u2026<\/p>","protected":false},"author":0,"featured_media":0,"parent":79,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-85","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/rafaelsolis.dev\/en\/wp-json\/wp\/v2\/pages\/85","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rafaelsolis.dev\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rafaelsolis.dev\/en\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/rafaelsolis.dev\/en\/wp-json\/wp\/v2\/comments?post=85"}],"version-history":[{"count":0,"href":"https:\/\/rafaelsolis.dev\/en\/wp-json\/wp\/v2\/pages\/85\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/rafaelsolis.dev\/en\/wp-json\/wp\/v2\/pages\/79"}],"wp:attachment":[{"href":"https:\/\/rafaelsolis.dev\/en\/wp-json\/wp\/v2\/media?parent=85"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}