Auto fetches currency information for your Cospend projects on Nextcloud
  • JavaScript 48.5%
  • PHP 34.7%
  • Vue 10%
  • Makefile 4.7%
  • TypeScript 2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nextcloud bot efdb882565
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-11-01 02:49:55 +00:00
.github ci: pin pnpm to v10 to match engines constraint 2026-05-23 15:43:50 +03:00
.tx chore: add .tx/backport 2025-06-06 13:05:20 +03:00
.vscode feat: poc working 2023-02-02 01:13:03 +02:00
appinfo chore: support nextcloud 36 2026-10-07 23:32:22 +03:00
composer chore: improve CI/CD, testing infrastructure, and development tooling 2025-11-23 00:52:22 +02:00
gen chore: update gen templates 2026-01-10 16:26:59 +02:00
img feat: update app+settings icons 2024-12-05 22:43:26 +02:00
ISSUE_TEMPLATE chore: improve CI/CD, testing infrastructure, and development tooling 2025-11-23 00:52:22 +02:00
js chore: update build process 2026-03-02 22:36:05 +02:00
l10n fix(l10n): Update translations from Transifex 2026-11-01 02:49:55 +00:00
lib chore: format files 2026-05-31 00:45:00 +03:00
src chore: format files 2026-05-31 00:45:00 +03:00
templates chore: improve CI/CD, testing infrastructure, and development tooling 2025-11-23 00:52:22 +02:00
tests chore: format files 2026-05-31 00:45:00 +03:00
tools feat: add more fiat currencies + add many crypto currencies 2026-04-13 00:07:06 +03:00
vendor-bin chore(deps): update dependencies 2026-09-16 18:15:17 +03:00
.editorconfig chore: update appinfo/info.xml 2024-12-08 16:04:35 +02:00
.gitignore chore: update build process 2026-03-02 22:36:05 +02:00
.l10nignore refactor: update npm dependencies + move dist files 2025-06-06 16:05:35 +03:00
.lintstagedrc.cjs chore: exclude gen/ changes from php test trigger 2025-11-23 00:59:00 +02:00
.php-cs-fixer.dist.php build: update build files 2025-06-18 09:48:35 +03:00
.phpactor.json feat: add admin example 2024-12-02 23:56:57 +02:00
.prettierignore build: use lefthook + add info.xml lint 2026-04-13 00:07:06 +03:00
.prettierrc feat: add more fiat currencies + add many crypto currencies 2026-04-13 00:07:06 +03:00
.release-please-manifest.json chore(master): release 1.9.0 2026-09-16 18:35:38 +03:00
CHANGELOG.md chore(master): release 1.9.0 2026-09-16 18:35:38 +03:00
CODE_OF_CONDUCT.md refactor: update nextcloud base template 2024-12-02 23:56:57 +02:00
composer.json fix: remove unnecessary vendor files from build 2025-12-18 01:17:31 +02:00
composer.lock chore(deps): update dependencies 2026-09-16 18:15:17 +03:00
eslint.config.cjs build: update eslint, update packages 2024-12-02 23:56:57 +02:00
lefthook.yml build: use lefthook + add info.xml lint 2026-04-13 00:07:06 +03:00
LICENSE refactor: update nextcloud base template 2024-12-02 23:56:57 +02:00
Makefile build: use lefthook + add info.xml lint 2026-04-13 00:07:06 +03:00
openapi-administration.json feat: add setting for history retention period 2025-10-29 16:45:08 +02:00
openapi-full.json feat: add more fiat currencies + add many crypto currencies 2026-04-13 00:07:06 +03:00
openapi.json feat: add more fiat currencies + add many crypto currencies 2026-04-13 00:07:06 +03:00
package.json chore(deps): update dependencies 2026-09-16 18:15:17 +03:00
pnpm-lock.yaml chore(deps): update dependencies 2026-09-16 18:15:17 +03:00
pnpm-workspace.yaml build: add pnpm-workspace.yaml 2026-09-16 18:15:34 +03:00
promo.png docs: add promo image 2025-06-18 09:44:17 +03:00
psalm.xml refactor: update nextcloud base template 2024-12-02 23:56:57 +02:00
README.md build: use lefthook + add info.xml lint 2026-04-13 00:07:06 +03:00
release-please-config.json ci: update release config 2024-12-03 16:06:39 +02:00
scaffold.config.cjs chore(deps): update dependencies 2026-01-10 16:26:29 +02:00
tsconfig.app.json feat: add custom currencies (#182) 2025-10-07 10:09:09 +03:00
tsconfig.json feat: admin page view 2024-12-02 23:56:57 +02:00
tsconfig.node.json feat: admin page view 2024-12-02 23:56:57 +02:00
version.txt chore(master): release 1.9.0 2026-09-16 18:35:38 +03:00
vite.config.ts chore: update build process 2026-03-02 22:36:05 +02:00

Auto Currency for Cospend

This NextCloud app automatically fetches currency information for your Cospend projects, and fills them up using the main currency as base. No more manually updating exchange rates!

You can also view the history of currency rates fetched in the past, and see how they changed over time.

Nextcloud Auto Currency

It will automatically run once a day by default and use your currency names to fetch the correct rate.

Interval for fetch may be adjusted in the admin settings "Auto Currency" section.

Note

: This is a companion app to Cospend.

Without Cospend, this app will not work.

Preparing currency data

To make sure your currencies are found for the rates to be updated, please ensure your currencies are named appropriately.

For both main and additional currencies, Currency names must contain at least one of:

  • Currency symbol ($, €, £, etc.)
  • Currency code (USD, EUR, GBP, etc.) - case insensitive

Using one of these will be enough to fetch the correct rate.

Example working names:

  • ✅ $
  • ✅ USD
  • ✅ $ USD
  • ❌ US Dollar
  • ❌ United States Dollar

For a full list of available currencies, see symbols.json, or refer to the table in the app's settings screen.

Installation

Download the app from Nextcloud's App Store through your Nextcloud instance.

If you prefer to download manually, you can download the latest version from GitHub and install directly:

  1. Place this app in nextcloud/apps/ or nextcloud/custom_apps/

  2. Here is a quick installation script you can use as base. Modify the first variable lines to match your setup:

    pushd "/path/to/root/of/nextcloud/custom_apps"
    
    APPVER=$(curl -s https://api.github.com/repos/chenasraf/nextcloud-autocurrency/releases/latest | grep tag_name | grep -Eo 'v[^"]+') && \
    curl -L https://github.com/chenasraf/nextcloud-autocurrency/releases/download/${APPVER}/autocurrency-${APPVER}.tar.gz -o autocurrency.tar.gz && \
    tar xfv autocurrency.tar.gz && \
    rm -rf autocurrency.tar.gz
    
  3. Then enable the app as you normally would from Nextcloud's Apps page.

Contributing

I am developing this package on my free time, so any support, whether code, issues, or just stars is very helpful to sustaining its life. If you are feeling incredibly generous and would like to donate just a small amount to help sustain this project, I would be very very thankful!

Buy Me a Coffee at ko-fi.com

I welcome any issues or pull requests on GitHub. If you find a bug, or would like a new feature, don't hesitate to open an appropriate issue and I will do my best to reply promptly.

Development

Automation

Most development processes are automated:

  • GitHub Actions run tests, builds, and validations on each push or pull request.
  • Pre-commit formatting is handled by Lefthook, which automatically formats and lints code before committing.

🛠️ Lefthook is installed automatically via the prepare script after pnpm install.


Manual Commands

While automation handles most workflows, the following commands are available for local development and debugging:

Build the App

make

Installs dependencies and compiles frontend/backend assets.

Run Tests

make test

Runs unit and integration tests (if available).

Format & Lint

make format   # Auto-fix code style
make lint     # Check code quality

Generate OpenAPI Docs

make openapi

Output is saved to build/openapi/openapi.json.

Packaging for Release

make appstore    # Production build for Nextcloud app store
make source      # Full source package
make distclean   # Clean build artifacts and dependencies

Sign Releases

After uploading the archive to GitHub:

make sign

Downloads the .tar.gz release, verifies it, and prints a SHA-512 signature using your key at ~/.nextcloud/certificates/autocurrency.key.