Banking Software Development Case Study: The SisconDJ System for Banco do Brasil
Case Studies

Banking Software Development Case Study: The SisconDJ System for Banco do Brasil

When a state-owned bank holds money under court order, there is no room for failure. This banking software development case study shows how Agence built the judicial deposit management system that supports that operation for Banco do Brasil, in partnership with Courts of Justice.

What judicial deposits are and why managing them matters to the courts

A judicial deposit is an amount of money held in custody while a court case is underway, waiting for a ruling on who has the right to it. Disputed alimony payments, labor claims, tax enforcement actions and a range of civil lawsuits generate this kind of asset, which stays parked at an authorized financial institution until a judge decides where the money ultimately goes. Only banks approved by the judiciary can handle this custody, because the responsibility involves tracking every cent, reconciling movements with precision and guaranteeing constant availability. An operational failure in this kind of system can delay an alimony payment or derail an active case. That is why judicial deposit management software built the right way matters just as much as the policy that governs those funds.

  • Alimony payments under court dispute
  • Labor claims and severance disputes
  • Tax enforcement actions brought by public agencies
  • Civil lawsuits of various kinds

Banco do Brasil's challenge in managing judicial subaccounts and billing

68.7%

of Banco do Brasil's shares controlled by the federal government

15,133+

service points spread across the country

21+

countries where the bank also has a presence

Banco do Brasil is a mixed-capital company with the federal government as its majority shareholder. It is one of the country's five state-owned banks, alongside Caixa Econômica Federal, BNDES, Banco da Amazônia and Banco do Nordeste, and its mandate combines a public service function with competitive market operation.

As one of the financial institutions authorized to hold judicial deposits on behalf of Courts of Justice, Banco do Brasil needed to run that operation with a level of control that a manual process could hardly deliver. Government bank IT modernization at this scale had to solve, at the same time, a system for controlling the judicial subaccounts tied to those deposits, the issuance of payment slips and the reconciliation of every movement, all with rigorous control and zero room for discrepancy.

A volume of operations at Banco do Brasil's scale makes any manual process or supporting spreadsheet unworkable as a control layer. Checking subaccounts one by one by hand, matching issued slips against batches of received payments and still guaranteeing that each partner Court of Justice sees an accurate statement of its own operation are tasks that scale badly with volume and headcount, and that multiply the risk of human error exactly where an error carries legal consequences. A legacy system built for a different kind of banking operation would not solve this alone either: it would need to be adapted to a logic of judicial subaccounts and automated reconciliation that was never part of its original design. Doing this nationwide, without depending on local installation on every operator's machine, was an additional requirement. Every workstation that needed an installed client meant more licensing cost, more maintenance complexity and one more point of failure in an operation that is already sensitive by nature.

Handling sensitive legal workflows was not entirely new territory for Agence. In the Ambev case study, the company had already automated a legal and financial approval workflow, though at a scale and regulatory criticality quite different from those of a state-owned bank.

SisconDJ: the judicial deposit management software built by Agence

SisconDJ, short for Sistema de Controle de Depósitos Judiciais (Judicial Deposit Control System), is the web solution Agence developed to centralize this operation at Banco do Brasil. It brings together, in one place, the management of judicial deposits the bank holds with its partner Courts of Justice, from initial registration through final reconciliation. Built as a custom web application, within the web development practice Agence offers clients who need scalable, secure systems, SisconDJ is an example of custom software for financial institutions that sustains a sensitive operation at national scale, and it reflects Agence's experience building core banking system development for institutions that operate under strict regulatory scrutiny.

Subaccount control

Every judicial deposit is tied to a traceable subaccount, with a full transaction history available on demand. In an audit, that means Banco do Brasil can reconstruct the origin and destination of any amount without manual searches through separate files, which shortens the response time when a Court of Justice asks for proof of a specific deposit.

Automated billing

The system generates the payment slips linked to each deposit without manual intervention, closing off a common source of human error. That prevents, for example, a slip going out with the wrong amount or payee because of a typing mistake, an error that in a judicial deposit can mean a delayed alimony payment.

Automated reconciliation

Bank reconciliation is the process of confirming that the amounts recorded in a system match exactly what moved through the actual accounts. In SisconDJ, this automated bank reconciliation system runs that check automatically, guaranteeing integrity and traceability on every transaction and flagging any discrepancy quickly, before it becomes a problem for the Court of Justice or for the person entitled to the deposit.

A web application without per-device licensing: how instant updates cut costs

SisconDJ runs straight in the browser, with no local installation and no per-machine license. That architectural choice, a web application without per-device licensing instead of the traditional client-server model, changes the cost math for an operation with nationwide reach. There is no need to buy a license for every workstation, or to keep an installation and update process running across branches and service points all over the country. Every new user just needs a browser and a connection, which drastically cuts deployment cost and the complexity of keeping the operation consistent across thousands of locations.

This browser-based access model depends on infrastructure built to sustain high availability and steady performance, the kind of operation that Agence's systems hosting service was designed to support.

Why Java and Oracle are the right stack for mission critical banking systems

Java is a mature language, with decades of use in corporate and banking systems that need to keep running stably for years, not just perform well at launch. Oracle, as a database, offers robust transactional guarantees, well-established security features and high availability, qualities that matter more in sensitive financial operations than the promise of a newer, less battle-tested technology. This pairing is not a generic market default: Java Oracle banking application development is the classic combination that financial institutions and government agencies choose when scalability and continuity matter more than novelty for its own sake. In an operation like SisconDJ, the cost of a failure far outweighs the cost of skipping a trendier stack. A failure there means a delayed alimony payment or a court reconciliation left unresolved.

Swapping this combination for a more modern stack is not impossible, but it comes with a clear price. Newer frameworks may promise higher productivity in the first year of development, but they have not yet built up the same track record of uninterrupted operation in banking environments, nor do they carry the same mature ecosystem of audit and monitoring tooling that Java and Oracle have today. For mission critical banking systems that need to keep running without interruption for years, that maturity outweighs the gentler learning curve of a newer technology. The right choice here is not the most exciting one, it is the one that reduces the chance of surprises once the system is already in production.

How Agence distributed project effort: architecture, QA, deployment and consulting

Delivering a system like SisconDJ involves far more than writing code. The breakdown of project effort, measured in hours by work stream, shows how Agence divided that care between development, architecture, quality assurance, deployment and consulting.

Work stream% of effort
Java/Oracle development60%
Software architecture19%
Deployment and training7%
Testing (QA)6%
Strategic consulting5%
Infrastructure2%
Specification documentation1%

Nearly 40% of total effort went into activities that are not writing code: architecture, testing, deployment, training, strategic consulting and specification documentation. That balance reflects the care a system like this demands, since it serves Banco do Brasil and its partner Courts of Justice at the same time, and any gap in architecture or testing turns into real operational risk for both sides.

That balance matters because the alternative has a concrete cost. A project that trimmed architecture to save time risks building a foundation that does not scale once subaccount volume grows, forcing expensive rework later. Cutting QA means discovering reconciliation bugs in production, with real money from an active court case on the line, instead of in a controlled test environment. And insufficient deployment and training leave the operator at the Court of Justice or at the bank itself unsure how to use the system correctly, generating operational errors that no line of code can prevent. Spending nearly 40% of the effort outside the codebase is what separates a system that works in the lab from one that holds up under real, audited operation for years.

This distribution of effort is not a peculiarity of SisconDJ, it is how Agence structures its software development life cycle as a whole, treating code as one stage among several, not as the entire project.

What this case reveals about technology projects for regulated institutions

SisconDJ operates in partnership with Courts of Justice, the kind of institutional partner typical of this service. The Court of Justice of Mato Grosso, TJMT, is a concrete partner in this operation. Projects of this scale, serving a state-owned financial institution and the judiciary at the same time, raise the bar for how a technology vendor gets evaluated, well beyond the criteria used for an ordinary system.

  • Proven experience with robust corporate stacks, such as Java and Oracle, in operations that cannot go down
  • A structured QA process, not informal testing rushed before delivery
  • Real capacity to deploy and train users at scale, not just in a controlled pilot
  • Documentation discipline that supports maintenance and audits over the years

Strategic consulting and training are as much a part of the delivery as the code itself, especially when the end client is a public or regulated institution: the operation needs to keep standing after the development team moves on. That same care, applied to custom systems for sensitive operations, is what Agence carries from project to project, as shown in testimonials from other clients about the way the company handles this kind of delivery.

Frequently asked questions about judicial deposit management systems

What is a judicial deposit and what is it for?

It is an amount held in custody by an authorized financial institution while a court case is underway, so that neither party can use it until a final ruling. It guarantees that the disputed money, from an alimony payment to a tax enforcement claim, is available the moment the court decides where it should go.

How does automated bank reconciliation work in judicial deposit systems?

It compares, without manual intervention, the values recorded in the system with what actually moved through the bank accounts. Any discrepancy shows up in a traceable way, which keeps posting errors from slipping through unnoticed in an operation that handles funds under court order.

Why choose a web application without per-device licensing over local installation in banking systems?

Because it removes the per-machine license cost and the work of keeping an installation up to date on every workstation. In an operation with nationwide reach, that means updating the system once, on the server, instead of repeating the process across thousands of service points.

Which technologies are best suited to mission critical financial systems?

Mature combinations, such as Java for the application layer and Oracle for the database, come up repeatedly in this kind of system, because they offer a proven track record of stability, robust transactional guarantees and security features tested in real banking operations.

How do you guarantee security and traceability in systems for financial institutions and the judiciary?

It depends on sound architecture, structured testing before delivery, specification documentation kept up to date over time, and automated reconciliation processes that make every entry auditable. None of these elements replace the others, they work together.

Move your mission critical project forward with Agence

A system that sustains judicial deposits for Banco do Brasil in partnership with Courts of Justice required solid architecture, the right stack, and discipline in QA and deployment, not just well-written lines of code. That is the standard expected of any vendor handling money under court order, data from a regulated institution, or an operation that cannot stop without real consequences for the people who depend on it.

If you are evaluating a project of similar scale and criticality, whether to modernize a legacy system or build something from scratch, it is worth talking to a team that has already faced these demands before you choose a vendor. You can work through the architecture, the stack and the delivery plan best suited to your specific case together with Agence.

Talk to a specialist