Skip to content
/ betl Public

pull the transactions from a santander account and create ledger transactions

Notifications You must be signed in to change notification settings

Qkessler/betl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

betl

Bank Extract To Ledger (betl) is a CLI tool created in Rust to parse xls files that bank entities return when extracting transaction data from accounts or credit cards. When parsed, it creates a ledger file, for easy zero account managing of your transactions.

Currently, three banks have been implemented:

  • Santander, which outputs files of the likes of export2023218.xls.
  • CaixaBank, with files like Movimientos_cuenta_0262497.xls or similar.
  • Revolut, just outputting the bank statements to CSV.

NOTE: Since I haven’t taken into account regionalization of the format of the files, your Santander (UK) or CaikaBank DE account might not work correctly. If that’s the case, please, create an issue and I’m happy to take PRs to fix it.

Here are the format variables.

  • headers: Headers that should be parsed on the XLS file, that conforms a Transaction.
  • skip_row_num: Number of rows to skip when parsing. Some banks (Santander and CaixaBank, for example) have some banner at the top of the XLS file.
  • sheet_name: Sheet name with the transactions. Defaults should work.
  • base_account: Account to remove the money from, when creating the Ledger transactions.

To use it, compile the binary:

git clone [email protected]:Qkessler/betl.git
cargo build --release

With that, you should have under the target/release directory, a binary called betl.

Example usages:

betl -b santander -f /tmp/export2023218.xls
betl -b bankia -f /tmp/Movimientos_cuenta_0262497.xls

Where the -b option delimits the Bank that you are parsing from and the -f option sets the file to parse. The path can be relative to the current working directory or absolute.

betl will then create a ledger file with the same name as the one passed in, and also output the transactions parsed on the standard output. Here’s the example output:

2023-02-17 * Recibo Paypal (europe) S.a R.l. Et Cie, S.c.a. Nº Recibo 0049 6773 755 Bbcgxgx Ref. Mandato 4cxj224wtckp6, De
    Assets:Checking                           -15.99€

2023-02-20 * Pago Movil En El Canton De Lu, Cartagena, Tarj. :*157901
    Assets:Checking                           -44.00€

Assets:Checking is the base account that I set up for my santander account.

About

pull the transactions from a santander account and create ledger transactions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages