Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

osmtools

Spreadsheet conversion tools for OSM accountancy import. All wrapped up in a web app.

Overview

osmtools is a small Go web application that cleans up CO-OP Bank statement spreadsheets (.xlsx) so they can be imported into the OSM accounting system. It serves a simple web UI where a statement file can be uploaded, processed, and downloaded again in OSM-compatible format.

Features

  • 30 day statement conversion (POST /coop30day-osm) — strips the fixed header/footer rows and unused columns from a standard CO-OP 30 day statement export.
  • Custom statement conversion (POST /coopcustom-osm) — same cleanup for the CO-OP custom statement layout, which has a slightly different row/column structure.
  • Both conversions remove unneeded rows/columns, resize columns, and strip an embedded logo picture from the spreadsheet before returning the cleaned file for download.
  • A single HTML page (templates/index.html, styled with Bulma) provides file upload forms for both conversion types.

Project layout

Path Description
main.go HTTP server setup and route registration
handlers.go Request handlers and spreadsheet processing logic (uses excelize)
templates/index.html Web UI for uploading statements
Dockerfile Multi-stage build for a minimal distroless container image
.github/workflows CI/CD workflow definitions

Requirements

  • Go 1.24+ (see go.mod)

Running locally

go run .

The server listens on port 8000. Open http://localhost:8000 in a browser to use the upload forms.

Building

go build .

Running with Docker

docker build -t osmtools .
docker run -p 8000:8000 osmtools

About

Spreadsheet conversion tools for OSM accountancy import. All wrapped up in a web app.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages