Laravel in Bahrain
Laravel development services for Bahraini businesses
Bahrain mandated open banking before most of Europe finished arguing about it, and its data protection law names roles and attaches criminal penalties. Both are backend concerns.
Bahrain is small and has consistently legislated ahead of the region, which makes it unusual to build for: the constraints are clearer than in its neighbours, and there is more infrastructure to build against.
Open banking is available rather than aspirational
Bahrain mandated open banking early, which means regulated interfaces for account information and for initiating payments actually exist and banks are required to expose them.
For a product that needs to see what happened in a bank account, this is a significantly better position than the file-based reconciliation most markets still run on. It also has a shape worth designing for.
Consent is a first-class object with an expiry. Access is granted by the customer, for a defined scope, for a defined period. That is a record in your system with a lifecycle - obtained, active, expiring, renewed, revoked - not a credential you store once. An application that models it as a token will silently stop working when the consent lapses.
Strong authentication interrupts the flow. The customer is redirected to their bank and returns. Anything built on the assumption of a server-to-server call without the user present needs restructuring around that.
Payment initiation is push, not pull. You ask the customer's bank to send money; you do not charge them. The result arrives asynchronously and has to be matched, which makes it a queue-and-reconciliation problem rather than a transaction.
Licensing is a question before the code. Accessing these interfaces directly as a regulated participant is not the same as consuming them through an authorised intermediary. Both are legitimate; they are different projects, and the choice belongs at scoping.
The data protection law asks you to demonstrate, not describe
Bahrain's statute is the closest in the Gulf to the European model, and it goes further than its neighbours in attaching named responsibility, prior notification for certain kinds of processing, and penalties with teeth.
The engineering consequence is not a different feature list - it is the standard of evidence. Customers and their advisers ask whether the system can show what it does, rather than whether the policy says the right thing.
What answers that question is unremarkable and has to be built in:
- Access to personal data logged with actor, record and time.
- Retention implemented as a job that runs, rather than a period stated in a document.
- Deletion as an operation with an audit record and an explicit list of what survives it for legal reasons.
- An inventory of what is stored and where it flows, maintained rather than assembled.
Built in, these cost very little. Assembled during a due diligence process, they cost a quarter and are never quite convincing.
Tax is its own country, not a Gulf setting
Bahrain charges value added tax at a higher rate than most of its neighbours, with its own registration thresholds and its own requirements for what an invoice must contain.
The mistake worth naming is treating the Gulf as one configuration with a different number per country. The rate differs, the thresholds differ, the invoice content differs, and the reporting differs. Each is a country in the tax model with its own rules, and an application that collapses them will be wrong somewhere in a way that only surfaces at filing.
Working with us
We work remotely from Ankara, in English. Bahrain is an hour ahead for much of the year, and the four-day overlap between our Monday-to-Friday week and the local Sunday-to-Thursday one is enough for a daily conversation.
The engineering is our usual application development, integration and queue work. What Bahrain adds is a consent object with an expiry at the centre of the banking integration, and a standard of evidence that rewards building the audit trail before anybody asks for it.
Demonstrating instead of describing means writing down the negatives, and the ones that catch people are not exotic. An upload route that will eventually execute what it stores is the example we meet most, and an audit is built to find that kind of omission.
Invoicing and payment. In US dollars, by bank transfer to an IBAN. Codefacture Yazılım A.Ş. invoices from Türkiye and the invoice carries no Turkish VAT under the export-of-services exemption. If the engagement has to be documented for a regulator, that is the written deliverable the work produces anyway.
