invoice-collector

invoice-collector

Official

Docker app from rorar's Repository

Overview

Invoice Collector is an open source application for collecting and managing invoices. This container provides the Invoice Collector API service. Requires MongoDB running as container "mongodb" on the same Docker network: invoice-collector_internal.

Join Invoice-Collector on Discord

Invoice Collector

Invoice Collector is a free Docker image designed to retrieve invoices and receipts from suppliers. It seamlessly connects to customer portals, APIs, and email inboxes to automatically gather invoices.

Prerequisits

Installation

Use the docker-compose.yml file to build and run a container.

  1. Download the docker-compose.yml file from Github repo.
curl https://raw.githubusercontent.com/invoice-collector/invoice-collector/refs/heads/master/docker-compose.yml >> docker-compose.yml
  1. Edit the docker-compose.yml and set the values for the env variables.

  2. Build and run the container

sudo docker compose up -d

Contribution

There are two ways you can contribute to Invoice-Collector:

Developers

Full documentation available on the website.

Here is how to configure the project on your local machine.

Run a manual test

npm run test.manual
# Or
npm run test.manual <collector_id>
# Or
npm run test.manual <collector_id> <first_param>
# Or
npm run test.manual <collector_id> <first_param> <second_param> ...

Run a automatic test

npm run test.auto <collector_id>

Run on your local machine

npm run start

Run the debug container

docker-compose -f docker-compose-debug.yml up --build

You can then use the postman collection (available soon) to query the dev environment.

Install invoice-collector on Unraid in a few clicks.

Find invoice-collector in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for invoice-collector Review the template variables and paths Click Install

Requirements

Requires a free Bitwarden account with a free Secrets Manager subscription enabled.

Requires MongoDB running as container "mongodb" on Docker network "invoice-collector_internal".

IMPORTANT: Before adding this container, create the Docker network first.

  1. Open Unraid Terminal
  2. Run: docker network create invoice-collector_internal
  3. Go to Settings > Docker
  4. Disable Docker and click Apply
  5. Enable "Preserve user defined networks" and click Apply
  6. Re-enable Docker

MongoDB requirements:

  • Container name: mongodb
  • Network: invoice-collector_internal

The default connection is DATABASE_URI=mongodb://mongodb:27017

Related apps

Details

Repository
ghcr.io/invoice-collector/invoice-collector:master
Last Updated2026-07-28
First Seen2026-07-28

Runtime arguments

Web UI
http://[IP]:[PORT:8080]
Network
invoice-collector_internal
Shell
sh
Privileged
false

Template configuration

Port: Web UIPorttcp

Invoice Collector API port.

Target
8080
Default
8080
Value
8080
--- Application ---Variable

General application configuration.

PORTVariable

Port on which the API is listening.

Default
8080
Value
8080
ENVVariable

Application environment. Possible values: prod or debug.

Default
prod|debug
Value
prod
IS_SELF_HOSTEDVariable

Whether the application is self-hosted.

Default
True|False
Value
True
--- Database ---Variable

MongoDB connection settings.

DATABASE_URIVariable

MongoDB connection URI. MongoDB container must be named mongodb and connected to invoice-collector_internal network.

Default
mongodb://mongodb:27017
Value
mongodb://mongodb:27017
DATABASE_MONGODB_NAMEVariable

MongoDB database name.

Default
prod
Value
prod
--- Frontend ---Variable

Frontend URL configuration.

FRONTENDVariable

URL of the frontend application.

Default
http://localhost:8080
Value
http://localhost:8080
--- Bitwarden Secret Manager ---Variable

Bitwarden secret manager configuration.

SECRET_MANAGER_TYPEVariable

Secret manager type. Supported value: bitwarden.

Default
bitwarden
Value
bitwarden
SECRET_MANAGER_BITWARDEN_API_URIVariable

Bitwarden API URI. For non-EU accounts, change to .com

Default
https://vault.bitwarden.eu/api|https://vault.bitwarden.com/api
Value
https://vault.bitwarden.eu/api
SECRET_MANAGER_BITWARDEN_IDENTITY_URIVariable

Bitwarden identity URI. For non-EU accounts, change to .com

Default
https://vault.bitwarden.eu/identity|https://vault.bitwarden.com/identity
Value
https://vault.bitwarden.eu/identity
SECRET_MANAGER_BITWARDEN_ACCESS_TOKENVariable

Bitwarden access token.

SECRET_MANAGER_BITWARDEN_ORGANIZATION_IDVariable

Bitwarden organization ID. Create a organization, link project using Secret Manager, than copy ID from Secrets Manager overview page.

SECRET_MANAGER_BITWARDEN_PROJECT_IDVariable

Create a project using Secret Manager, than copy ID from Secrets Manager overview page.

--- Proxy ---Variable

Optional proxy configuration.

PROXY_TYPEVariable

Proxy type. Possible values: no_proxy or oxylab.

Default
no_proxy|oxylab
Value
no_proxy
PROXY_OXYLAB_USERNAMEVariable

Oxylabs proxy username.

PROXY_OXYLAB_PASSWORDVariable

Oxylabs proxy password.

--- Remote Chrome ---Variable

Optional remote Chrome server configuration.

REMOTE_CHROME_IPVariable

Remote Chrome server IP.

REMOTE_CHROME_PORTVariable

Remote Chrome server port.

--- Analytics ---Variable

Optional analytics configuration.

ANALYTICS_SERVER_ENDPOINTVariable

Analytics server endpoint.

ANALYTICS_SERVER_HEADERSVariable

Headers sent to analytics server.

Default
{}
Value
{}
--- Token Expiration ---Variable

Token validity configuration in milliseconds.

OAUTH_TOKEN_VALIDITY_DURATION_MSVariable

OAuth token validity duration in milliseconds.

Default
600000
Value
600000
RESET_PASSWORD_TOKEN_VALIDITY_DURATION_MSVariable

Reset password token validity duration in milliseconds.

Default
3600000
Value
3600000
UI_BEARER_VALIDITY_DURATION_MSVariable

UI bearer token validity duration in milliseconds.

Default
3600000
Value
3600000
--- System ---Variable

System configuration.

Variable: TZVariable

Timezone. See: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List

Target
TZ
Default
Europe/Berlin
Value
Europe/Berlin