first commit
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
# Actualize 💸
|
||||
|
||||
**Actualize** is a lightweight Python synchronization bridge that connects your bank accounts (via [Enable Banking](https://enablebanking.com/)) directly to your [Actual Budget](https://actualbudget.org/) instance.
|
||||
|
||||
Automate your financial tracking without sacrificing privacy. Actualize pulls your real-time bank data and pushes it directly into Actual Budget, eliminating manual CSV exports forever.
|
||||
|
||||
## ✨ Features
|
||||
|
||||
- **Python-Powered:** Built with `actualpy` and `enablebanking_sdk` for maximum flexibility.
|
||||
- **Automated Sync:** Fetch transactions from hundreds of banks via Enable Banking's Open Banking API.
|
||||
- **Privacy First:** Local-first architecture. Your credentials and transaction data stay on your machine.
|
||||
- **Smart Deduplication:** Uses Actual Budget's internal reconciliation logic to prevent double entries.
|
||||
- **Headless & Scalable:** Perfect for running on a Raspberry Pi, home server, or as a scheduled GitHub Action.
|
||||
|
||||
## 🚀 Getting Started
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- **Python 3.9+**
|
||||
- An [Enable Banking](https://enablebanking.com/) developer account and API keys.
|
||||
- A running instance of [Actual Budget](https://actualbudget.org/).
|
||||
|
||||
### Installation
|
||||
|
||||
1. **Clone the repository:**
|
||||
```bash
|
||||
git clone https://github.com/yourusername/actualize.git
|
||||
cd actualize
|
||||
```
|
||||
|
||||
2. **Create a virtual environment & install dependencies:**
|
||||
```bash
|
||||
python -m venv venv
|
||||
source venv/bin/activate # On Windows: venv\Scripts\activate
|
||||
pip install actualpy enablebanking_sdk python-dotenv
|
||||
```
|
||||
|
||||
3. **Configure environment variables:**
|
||||
Create a `.env` file in the root directory:
|
||||
```env
|
||||
# Enable Banking Credentials
|
||||
EB_CLIENT_ID=your_client_id
|
||||
EB_CLIENT_SECRET=your_client_secret
|
||||
|
||||
# Actual Budget Configuration
|
||||
ACTUAL_SERVER_URL=https://your-actual-server.com
|
||||
ACTUAL_PASSWORD=your_server_password
|
||||
ACTUAL_BUDGET_ID=your_sync_id
|
||||
ACTUAL_ENCRYPTION_PASSWORD=your_optional_encryption_pwd
|
||||
```
|
||||
|
||||
## 🛠 Usage
|
||||
|
||||
1. **Authentication:**
|
||||
Run the initial auth script to link your bank accounts and generate tokens.
|
||||
```bash
|
||||
python authenticate.py
|
||||
```
|
||||
|
||||
2. **Sync:**
|
||||
Run the sync script to pull transactions and push them to Actual.
|
||||
```bash
|
||||
python sync.py
|
||||
```
|
||||
|
||||
## 📦 Tech Stack
|
||||
|
||||
- **Actual Budget API:** [actualpy](https://github.com/bvanelli/actualpy)
|
||||
- **Bank Integration:** [enablebanking-python-sdk](https://github.com/nocfo/enablebanking-python-sdk)
|
||||
- **Environment Management:** [python-dotenv](https://github.com/theskumar/python-dotenv)
|
||||
|
||||
## 📄 License
|
||||
|
||||
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
||||
|
||||
---
|
||||
*Disclaimer: This project is not officially affiliated with Actual Budget or Enable Banking.*
|
||||
Reference in New Issue
Block a user