Go back
istatDB

iStatDB

Description
Application for processing invoice data for Intrastat reporting, centralizing goods from invoices issued by multiple entities and mapping them to HS codes, while providing reporting company management with workflows for requesting additional information and missing documents, as well as a set of calculation and conversion utilities.
Project type
Contract — solo
Start date
January of 2018
End date
September of 2020
Project URL
Skills

About project

This project started as a side activity at a company where I worked as an administrative clerk and customs declarant, with the aim of:

  • speeding up the repetitive tasks and paperwork involved in gathering the data needed to file Intrastat declarations (EU statistics on the movement of goods, mandatory for companies above a certain turnover),
  • centralising the knowledge base and making it easy, fast and secure to access,
  • replacing the original knowledge base, which consisted of handwritten documents and assorted Excel files scattered across several computers and never kept up to date,
  • allowing remote access to the knowledge base once VPN access to the company network was implemented, which turned out to be very useful especially during the COVID-19 pandemic,
  • setting up a nightly cron job to back up the database and upload it to an external FTP server,
  • creating a workflow for obtaining missing data and keeping track of the entities obliged to file these declarations,
  • simplifying the training of unqualified staff for processing invoices and delivery notes, thanks to fulltext search in the knowledge base, since many companies trade in the same types of goods over and over.

The project ran on a local server inside the company network as a standard Ruby + Rails + Nginx installation directly on the host operating system - it is really just an ordinary website written in the Ruby on Rails framework.

That is why the solution was modernised and containerised in 2026 and migrated to a cloud VPS, and the in-house server was decommissioned. This did away with the problems with the stability and speed of the connection to the company network over freeware VPN solutions, and with the frequent power cuts in the office building where the company is based.

Overview of the basic features

First launch of the application (the application with no data, the login screen, the main page available to logged-out users as well, the goods section after logging in)

Home page - fulltext search across the whole application (goods, reporting units, suppliers/customers, local nomenclature codes)

Multi-item, mutually linked filters for filtering records (for example, for the reporting units picked in the first filter, the next filter only offers the manufacturers/customers they actually deal with)

Search results can of course be exported, and you can choose which data the export should contain. One example would be a situation where the paperwork for a particular reporting unit is being processed, but for some cases the missing documents still have to be requested.

When an item is not found

Mouseover widgets in the record row, goods card. The goal is that the user does not have to open an item's detail just to get the most basic information.

Bulk administration of records

The record detail screen - a goods item. The reporting unit filter is active (the entity obliged to file a declaration on the movement of goods), and since no further units of measure are defined for this entity and this item, the conversion widget comes pre-filled.

The screen for adding a new goods item

A look into the other > case list section (a case = the declaration on the movement of goods for a given entity (reporting unit) for the selected period)

Case detail with two unresolved items

The settings section


The user interface in mobile mode