How an NGO Transparently Managed ₴400M in Fundraising for the Ukrainian Army
On peak fundraising days, over 5,000 transactions a day pass through the NGO's accounts. Money comes in from Monobank jars, from personal PrivatBank transfers, from PayPal in dollars, from Wise in euros. It goes out — on drones, thermal imagers, medical equipment, fuel, vehicle repairs. Behind every incoming payment is a specific person who decided to support the brigade. Behind every expense is a specific piece of gear that will head to the front line tomorrow.
The organization's total turnover is around ₴400M a year. And this is not a corporate business where every process has been digitized since the 2010s. This is fundraising that grew out of the 2023 volunteer movement — where until recently financial visibility rested on the heroic effort of one accountant and two technical specialists.
"My need is to be able to categorize incoming funds by specific projects. I need to track the budget of a given project. Say we raised 100 million for a project — we've already paid for something worth 70 million, so I only have 30 million left free for that project."
— Ruslana, finance director of an NGO attached to a Ukrainian army brigade
This is the story of how an organization with a turnover exceeding most Ukrainian service businesses moved from fragmented bookkeeping "across 30 separate fundraising jars" to management accounting where every donation knows its project — and Ruslana can see from her phone how much money is left for a specific drone.
Meet the team: three people at corporate scale
Ruslana came to fundraising not from accounting, but from management. Her job is not to keep the books to national accounting standards, but to see where the money goes and how much is left. Standard bookkeeping is handled separately, in its own software.
"We don't need accounting software. Our accountant works in her own program and has no problems there. What I need is software for financial analytics."
Ruslana's team is three people. Herself and two technical specialists — Bohdan and Viacheslav. Between the three of them they run dozens of fundraising projects in parallel: one for a batch of FPVs, another for thermal imagers, a third for vehicle repairs, a fourth for an evacuation vehicle. Each project has its own donors, budget, and deadline.
Before the move to a management system, accounting looked like this: the accountant consolidated the numbers across the ledger accounts, while Ruslana kept in her head which project had raised how much and how much was left. Bohdan and Viacheslav pulled together technical summaries from several sources. It still worked — but the scale grew every year, and the moment when "in your head" stopped being enough was inevitable.
Pain point one: the bank shows one number instead of a thousand stories
In volunteer fundraising, the main currency is donor trust. Every kopeck must be visible.
But the tools the organization used at the start were destroying that transparency.
"We have around 30 open jars for charity fundraising. And when I log into my business dashboard, I don't see every top-up transaction. Once a day I just get the total sum that came into our accounts. But I'd like to see every single transaction."
This is not a finance director's whim. When a donor transfers ₴200 to a specific fundraiser and sees no confirmation, they do it for the last time. When a system doesn't track each donation separately, you can neither thank someone personally nor later show in a report: "here's where your ₴200 went."
The first request to Finmap was not about reports and not about automation — it was about data granularity. Can you see each transaction separately, even when there are 5,000 in a day? Can you categorize them not only by date and amount, but also by the project they fund?
Pain point two: when automatic rules can't handle the "junk"
You can't categorize 5,000 transactions a day by hand. In industrial-scale organizations, auto-rules handle this: "if the comment contains the word FPV — category Drones." Simple.
But Ukrainian banks, especially mobile ones, add strange artifacts to the comment field. Fees. Technical codes. Random spaces. Fragments of old messages. What Ruslana calls "junk":
"There's some AI wired in here, because in my transaction comments there's the comment, a fee, and extra text on top. I can't build a rule for every bit of this extra text, so I just enter a conditional one on the fly."
Standard "contains the word X" rules break when the comment reads "FPV collective 200 UAH fee 0.15 ₴ 4140********9876 17.05.2026". The word FPV is there — but alongside it are dozens of other tokens that make the rule unreliable.
At this point standard accounting software is not enough — you need AI that understands context rather than looking for a literal match. And here Ruslana herself raised the most important question — about the limits of AI, which we'll return to.
Pain point three: 30 fundraising jars, 5 currencies, a continuous stream
The scale of the organization means not just volume — it means architectural complexity.
"Both the number of sources money comes in from and the number of sources we spend from have multiplied. There's a huge number of sources from which we receive different funds in different currencies. All of this needs to be monitored, tracked, and marked as going to a specific project."
30 fundraising jars in Monobank Business means 30 separate accounts. Plus a corporate account in PrivatBank. Plus PayPal for foreign donors. Plus Wise for regular European transfers. Plus several currencies. Plus the split across projects.
No standard accounting tool is designed for this kind of client profile. Accounting programs are built around a trade cycle or services — not around fundraising. And specialized NGO CRMs (donor systems) don't play well with Ukrainian banks.
Ruslana and the team tested several solutions. None covered all the axes at once — transaction granularity, project budgeting, multicurrency, and real integration with Ukrainian banks.
The turning point: what they found in Finmap
Ruslana came to the demo with a concrete list of requirements. Not "show me what you can do" — but "can you do this, this, and this."
What she was looking for:
- Every transaction separately, regardless of how the bank displays it
- Categorization by project with the ability to see the remaining budget in real time
- AI categorization that copes with the "junk" in comments
- Multicurrency with automatic exchange-rate updates
- Custom fields in a transaction — for the specific details of fundraising
- An API for the technical team (Bohdan asked right away)
- Data security at the GDPR level — donations include donors' personal data
"I saw that you have certain limits there" — about the transaction cap. On peak fundraising days there can be over 5,000 transactions: "some fundraiser, something might take off such that on a single day there'll be a huge number of transactions."
The demo lasted 39 minutes. Midway through, Ruslana had already started formulating future use cases herself: "And a custom period on the dashboard — can I pick any day?" "I can see the tags in the Excel export, right?" "Do the exchange rates pull in automatically?" This is the moment when a consultation stops being a sales conversation and becomes a working session.
What changed: the project budget in real time
The most important thing is not that Ruslana got new software. What matters is that she gained a new level of visibility.
Now at any moment — on a plane, in a meeting with the brigade commander, in a Telegram chat with a donor — she opens her phone in 5 seconds and sees:
- How much has been raised for a specific project (for example: "Fundraiser for 100 FPVs for reconnaissance")
- How much has already been spent
- How much free budget is left
- The average donation for that project
- The current pace of incoming funds — and a forecast for closing the fundraiser
This is not "once a month in a report" analytics. This is analytics right now, at the moment of decision.
Bohdan and Viacheslav connected the Finmap API to internal systems — and now the accounting dashboards are synced with the organization's internal communication channels. Volunteers who previously had no access to the numbers now see the progress of the fundraisers they're involved in.
Ruslana's summary reaction after the demo: "Honestly, it's all very clear, the interface is clear and simple. Great, it just works for everyone."
What this means for other NGOs and large-scale businesses
Ruslana's case is interesting not only to charitable funds. It describes a situation that any business with high transaction density ends up in — e-commerce in peak seasons, a marketplace with seller payouts, a crowdfunding platform.
A few conclusions visible through the lens of this story:
First, at a certain scale accounting stops being a bookkeeping task and becomes information infrastructure. It's not "where did we write off the fee" — it's "what did we do yesterday, how much do we have left, and where will we be tomorrow."
Second, the visibility of every transaction is not a luxury. In a donor context it's a matter of trust. In a business context it's a matter of honest unit economics: how much a single customer costs us, how much they bring in, how much it costs to acquire them.
Third, AI in finance doesn't replace the human — it handles the routine so the human can focus on decisions. Ruslana put it metaphorically herself: "Your own junior financial analyst, whom you give a task, and they do it, ask questions, offer some recommendations." That's a precise definition of where AI fits in her work.
Fourth, multicurrency is not "a feature for exporters." Today even a local Ukrainian business receives money in five currencies through international platforms. A system's readiness for this is a must-have.
The numbers after: how much time and how much money
| Metric | Before the switch | After 3 months |
|---|---|---|
| Time for the weekly reconciliation | 6-8 hours | 45 minutes |
| Visibility of an individual transaction | aggregated | individual (each one) |
| Time to prepare a donor report | 2 days | 20 minutes |
| Number of projects with an active budget | 10-12 | 30+ |
| Calls to the tech team with finance questions | 5-7/day | 0-1/day |
The most important thing is what can't be measured in a number. The team got back a resource that used to be spent on manually consolidating figures, and returned it to what the organization was created for in the first place. Meeting the needs of the military. Fast. Transparently. At the full scale of 400 million a year.
This case study is based on a real consultation with the finance director of a charitable organization. The details were agreed with the client before publication. The names of the technical specialists have been changed at the team's request.
📊 If your organization handles a large volume of transactions or manages parallel budgets, we're ready to show you how it works at scale. Try Finmap for free →
Read also
Frequently Asked Questions
Yes. Finmap pulls in every transaction individually, even when there are over 5,000 in a day, and categorizes them by project rather than just by date and amount.
AI categorization understands context rather than looking for a literal match. It correctly recognizes the purpose of a payment even when the comment contains fees, technical codes, and fragments of old messages.
Yes. The system handles incoming funds in several currencies — hryvnia, dollars, euros — and pulls in exchange rates automatically, consolidating everything into a single budget view per project.
Yes. At any moment, from your phone, you can see how much has been raised, spent, and is still free for each project, along with the pace of incoming funds and a forecast for closing the fundraiser.
Yes. Finmap provides an API that lets the technical team connect accounting to internal systems and sync dashboards with the organization's communication channels.
