An internal system that imports transactions from PayPal and AMEX, brings them into one unified model, categorizes them automatically through rules, and produces clear analytics with PDF and Excel export. A smart assistance layer suggests categories and proposes rules for recurring operations — but the final call always stays with the user.
A web application for financial control across multiple payment sources, designed to turn them into one source of truth. The user uploads an export file (CSV or JSON), the system normalizes the fields, removes duplicates, categorizes the transactions through rules, and surfaces analytics by period. From any chart, the user can drill down into the exact rows behind a number and generate a report for the team or for accounting — in PDF or Excel, with the selected filters baked in.
Adis Pezerovic is Co-Founder at Femitale and CEO and Managing Director at ADHOUSE. He works with high-ticket brands, consults companies and agencies as a one-to-one marketing mentor, and runs finances through several payment systems. He needed a fast way to see the real picture of costs, income, and margins across periods — without manually stitching exports together, and without the usual situations where PayPal and AMEX totals don't agree because of different formats, fees, refunds, or transaction descriptions. What he wanted was an internal platform that wouldn't crack as new rules and sources were added on top.
Different PayPal and AMEX formats
The sources expose transactions with different field names, status values, and ways of representing fees, refunds, and currency conversion. The project needed one canonical model and a mapping layer that would make the data genuinely comparable.
Deduplication and control
In finance, duplicate rows destroy trust in the system. Re-importing the same file couldn't create duplicates or shift totals.
Categorization
The client needed rules that could cover most recurring transactions, support exceptions and priorities, and stay stable across the small variations in description text and merchant naming that are normal at this volume.
Trust in analytics
Dashboards had to be calculated from the same underlying model as the transaction table and the reports. Otherwise the numbers would diverge and the system would lose its point.
Periods and drill-down
The analytics had to let the user move from any chart directly to the transactions behind the number and trace where the data actually came from.
AI assistance without fiction
AI had to help with unclear transactions and suggest new rules — but it couldn't change categories on its own or invent logic.
We built consolidation and categorization as a managed financial layer: data from different sources is normalized into one model, rules cover most of the routine work, and AI only helps with the unknown transactions through explicit user confirmation.
Managed back office in Directus
We modeled the collections for transactions, sources, imports, categories, rules, exceptions, and logs. Permissions were separated so changes to categories and rules stay controlled, and the audit trail shows who changed what and when.
Import as a pipeline
We implemented the import process so every upload has its own log: rows read, rows rejected, transactions imported, duplicates skipped. Deduplication was built around composite keys and content hashes so repeated uploads would never distort the math.
Rule engine for categorization
We designed a rules system on top of merchant, description, transaction type, source, currency, amount range, and status. Priorities let specific rules override general ones, and exceptions handle the edge cases — refunds, fees, the non-standard items.
AI assistant in advisor mode
We used AI only for suggestions: propose a category when rules don't match, explain the likely pattern from the merchant or description, and let the user approve or reject the recommendation. When the user confirms a series of similar transactions, the system proposes a reusable rule so the next batch handles itself.
Dashboards with drill-down
We built charts for income and expense, category structure, trends, and breakdowns by source and status — with drill-down from every metric into the exact transactions behind it.
PDF and Excel export
We prepared report templates that are generated with the selected filters and periods baked in, so the user doesn't have to compile a report by hand. The system also preserves the context of generation so the same output can be reproduced later.
We started by breaking down real PayPal and AMEX files into fields and edge cases. Fees, refund patterns, partial refunds, different statuses, merchant formats, currencies — all of it on the table. With the client, we agreed which fields were critical for analytics and which had to remain as raw attributes, so the team could always trace any result back to the original source row.
+2 Resource
After launch, the client got one system where finances from multiple payment sources come together into a single, understandable picture — no more manual reconciliation in Excel.
on repeated imports
categorized fully automatically
to process a large import
to prepare a monthly report
saved per 1,000 transactions, thanks to the AI assistance
for analytics and export
to add a new import format through mapping
Or send us a message and we'll get back to you within 15 minutes during business hours