Spend Management Platform for a Spanish Fintech
Designed and built a clickable spend-management platform for a Valencia fintech that gives Spanish SMEs company cards: budgets and card controls checked at authorisation, every transaction matched to its receipt, IVA marked recoverable or not from the invoice type, and a keyboard-driven review queue that turns card spend into bookable entries.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, cards, card detail with transactions, controls, declines and history tabs, transactions with the detail panel, and the review and coding workspace driven by J, K and Enter.
Full invoice, simplified invoice with company NIF, or ticket only. IVA on a ticket stays not recoverable until a full invoice arrives, and IGIC, foreign VAT and client entertainment are flagged with the reason.
Needs receipt, needs coding, IVA to check, out of policy, foreign currency and reverse charge. Each item shows the suggested account, cost centre and IVA code, and the rule that suggested them.
Physical, virtual and single-use cards across 8 budgets, 14 people and 2 legal entities, with 29 transactions including 3 pending authorisations and 2 claims, and 7 declines.
Almadraba Pagos's customers ran company spend on two or three shared debit cards kept in the finance office, plus employees' own cards and a monthly spreadsheet. Finance spent the first week of every month chasing paper tickets and typing IVA by hand into A3 or Sage, half the restaurant tickets had no company NIF so the IVA could not be recovered, nobody knew which subscriptions were still being paid, and managers approved spend after it had happened.
Rastro puts the control on the card: each card has a limit, a budget and merchant category, country and channel controls, and every card transaction then waits for its receipt. Finance sees the IVA breakdown and invoice type behind each transaction, works a review queue with suggested coding and warnings, and asks merchants for a full invoice when a ticket would lose the IVA.
Almadraba Pagos is not a bank or an e-money institution. The cards and the prefunded company wallet are issued by a licensed EMI supervised by the Banco de España, through an issuing processor, and every euro spent then has to meet Spanish tax rules before finance can book it and recover the IVA.
With shared debit cards and personal cards, there was no limit, budget or merchant restriction at the moment of payment. Managers found out about spend from the monthly spreadsheet, and subscriptions kept renewing on cards nobody watched.
Input IVA is generally deductible only with a full invoice naming the company and its NIF. A simplified invoice or ticket, allowed up to 400 EUR under RD 1619/2012, usually does not support deduction, so every restaurant ticket without the company's NIF was IVA the company paid and could not recover.
IVA runs at 21%, 10% or 4%, some items are exempt, the Canary Islands charge IGIC instead, client entertainment is not deductible, and SaaS bought from suppliers outside Spain needs the reverse charge. Companies on SII also need invoice data in their books within four working days.
The full card number and CVV must never be stored or shown by Rastro under PCI DSS. Employees must be told what the company can see of their spend under GDPR and the LOPDGDD, and receipts must be kept for at least six years under the Código de Comercio.
Mapped 7 roles inside each customer company, from owner and finance manager to the external gestoría and a read-only auditor, 40 screens across the admin and finance web app, the employee mobile app and sign-up, and the data model for wallets, policies, budgets, cards, authorisations, transactions, receipts, claims, approvals and exports. Wrote down the rules the design follows: PSD2 and SCA, PCI DSS, IVA rates and invoice evidence, the reverse charge, SII, Veri*factu, IRPF per diem and mileage limits, record keeping, AML checks on the company and GDPR with the LOPDGDD.
Built 5 key screens for the finance manager on a production dashboard kit, with data for a fictional customer company in Paterna, València: the dashboard with spend, wallet runway, receipt coverage and recoverable IVA, spend by budget, my work and needs attention; the cards list with bulk freeze; card detail with controls and declines in plain language; transactions with pending authorisations on top and the IVA breakdown panel; and the review and coding queue. Freeze, cancel, request receipt, mark reviewed, ask for a full invoice and confirm all change state as you click.
Integration with the EMI's issuing processor (such as Marqeta, Enfuce or Adyen Issuing) for authorisations and the PCI-compliant card view, Apple Pay and Google Pay, KYB through eInforma or Axesor, sanctions screening, SEPA top-ups and reimbursements, receipt OCR, and exports to a3innuva, Sage, Holded and SAP. Single sign-on, role-based access, an audit log of every card, limit, policy and coding change, and the remaining screens: approvals, claims, reimbursements, month close, reports, settings and the employee mobile app.
Each card carries its limit and period, budget, allowed and blocked merchant groups, countries, online and contactless switches, ATM off by default and a merchant lock for subscription cards. Declines read as "Over monthly limit" or "Merchant category blocked: Gambling", not as a code.
Spend by budget shows spent, committed by pending authorisations and remaining, amber above 80% and red above 100%, so a budget owner sees an overrun while it is still a pending payment.
Every transaction shows base, rate and quota per line, the invoice type, supplier NIF and invoice number, and whether the IVA is recoverable with the reason. Ask merchant for full invoice prepares a request with the company's name, NIF and address.
The review queue proposes an account, cost centre and IVA code and names the merchant, MCC or budget rule behind it, with its confidence. Warnings flag a receipt total that differs from the card amount, a missing NIF, IVA claimed on a ticket, a possible duplicate and reverse charge bookings.

Designed and built a clickable merchant dashboard for a Mexican online payment gateway that takes cards with meses sin intereses, SPEI transfers and OXXO cash vouchers in MXN: every payment from authorisation to settlement, declines in plain language, refunds with approval limits, chargebacks sorted by deadline and payouts that break down to the last fee.

Designed and built a clickable billing platform for a Tokyo SaaS company that sells shift scheduling and attendance software to Japanese businesses: invoice runs by each customer's closing date, qualified invoices with tax rounded once per rate, bank transfer matching on half-width katakana payer names, and dunning by payment method.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab