Skip to content

Instantly share code, notes, and snippets.



Last active Oct 4, 2020
What would you like to do?

SOBERS Assignment


For this assignment our client has a web application that deals with accounting. One of the features is to import csv's with bank statements.

In this assignment, There is already a version that runs for a single bank. In this assignment a version is needed that is not a POC(Proof of Concept) but will be used as the main point for the bank integration feature. There for maintenance and extensibility will be important. Your task will be to create a script that parses data from different banks. In the future the client would like to intergrate with integrate banks.


You are tasked to create a script that will parse multiple csv's and create a unified csv. There are 3 different csv's, this will increase in the future. The client has a hard requirement that the result is stored as a csv file. But json and xml will be used in the future, maybe even storing the result in a database.

In the data folder there are 3 csv's with banking data. Since the csv's come from different banks the layout of data can differ. The bank statements have data from the month October.


Create a script according to above specified requirements. You are allowed to take as much time as needed, But try to manage your time to around 1 or 2 hours. Since we are a Python shop the script must be done with Python. Scoring is based on:

  • Correctness
  • Code architecture
  • Maintainability
  • Testability
  • Extendibility
  • Pythonicness of code

Tests are not required, but plus points for tests. This is a moment to show your skills. But remember simple is better then complex. Try to solve the assignment with the standard library of Python.

Note: The assignment example files are meant to be easy. The focus should be on the scoring points.

timestamp type amount from to
Oct 1 2019 remove 99.20 198 182
Oct 2 2019 add 2000.10 188 198
date transaction amounts to from
03-10-2019 remove 99.40 182 198
04-10-2019 add 2123.50 198 188
date_readable type euro cents to from
5 Oct 2019 remove 5 7 182 198
6 Oct 2019 add 1060 8 198 188
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.