59 lines
4.0 KiB
Markdown
59 lines
4.0 KiB
Markdown
# Muwat Sheets Automation
|
|
|
|
**Muwat Sheets Automation** is a private, self-hosted automation application built on [n8n](https://n8n.io) and hosted under `muwat.org`. It is configured, maintained, and used exclusively by the account owner to process personal Turkish credit card statement documents and record structured ledger entries directly into a private, user-owned Google Spreadsheet.
|
|
|
|
- **Application Name:** Muwat Sheets Automation
|
|
- **Application Homepage:** [https://git.muwat.org/murat/n8n-sheets-sync](https://git.muwat.org/murat/n8n-sheets-sync)
|
|
- **Privacy Policy:** [https://git.muwat.org/murat/n8n-sheets-sync/src/branch/main/PRIVACY.md](https://git.muwat.org/murat/n8n-sheets-sync/src/branch/main/PRIVACY.md)
|
|
- **Author & Contact:** Murat (`murat@muwat.org`)
|
|
|
|
---
|
|
|
|
## Overview and Purpose
|
|
|
|
This application automates personal financial bookkeeping:
|
|
|
|
1. **Document Ingestion:** Personal bank statement PDF files are received via a secure, authenticated webhook on the user's private, self-hosted n8n instance (`flow.muwat.org`).
|
|
2. **Local Document Parsing:** Bank statement text is extracted and parsed completely locally within the self-hosted n8n environment using deterministic parsers (`pdf-parse`). No PDF text or document binary is ever sent to external cloud OCR, machine learning, or artificial intelligence services.
|
|
3. **Ledger Synchronization:** Extracted transactions, statement summaries, and formatting adjustments are written directly into a dedicated, user-owned Google Spreadsheet via official Google Sheets and Google Drive APIs.
|
|
4. **Operational Status Alerts:** Summary execution notices (bank name, transaction counts, and status indicators) are sent to the account owner via a private Telegram bot.
|
|
|
|
---
|
|
|
|
## Architecture and Boundaries
|
|
|
|
```
|
|
[ Bank Statement PDF ]
|
|
│
|
|
▼
|
|
[ Self-Hosted Webhook Ingress (flow.muwat.org) ]
|
|
│
|
|
▼
|
|
[ Local Text Parsing & Deterministic Rules ]
|
|
(pdf-parse inside n8n service)
|
|
┌──────┴────────────────────────┐
|
|
▼ ▼
|
|
[ Google Sheets API ] [ Telegram Bot API ]
|
|
(User's Private Sheet) (Owner-only summary status)
|
|
```
|
|
|
|
- **Single-User Scope:** This application is strictly non-commercial and operates solely for the personal use of the account owner. It is not offered as a multi-tenant service, public platform, or software-as-a-service (SaaS) product.
|
|
- **Dedicated Google Project:** Google Cloud OAuth access is managed under a dedicated project isolated entirely from any unrelated services or applications.
|
|
- **Standard Quotas:** The integration relies strictly on official, free standard quotas for Google Sheets and Google Drive APIs.
|
|
|
|
---
|
|
|
|
## Google API Integration & Permissions
|
|
To synchronize spreadsheet entries, the self-hosted n8n credential requests standard Google OAuth 2.0 scopes bundled by n8n's `GoogleSheetsOAuth2Api` integration.
|
|
|
|
### Requested OAuth 2.0 Scopes (Credential Capability)
|
|
- `https://www.googleapis.com/auth/spreadsheets`: See, edit, create, and delete all your Google Sheets spreadsheets.
|
|
- `https://www.googleapis.com/auth/drive.file`: See, edit, create, and delete only the specific Google Drive files you use with this app.
|
|
- `https://www.googleapis.com/auth/drive.metadata`: View and manage metadata of files in your Google Drive (distinct from read-only metadata access).
|
|
|
|
### Actual Workflow Use
|
|
While the credential requests the three scopes above by default, the active automation workflow interacts directly with only a single private spreadsheet via the Google Sheets API:
|
|
- It appends and updates normalized transactions, reconciles statement totals, and formats sheet tabs inside that designated spreadsheet.
|
|
- The workflow does not make direct Drive metadata API calls, nor does it create, browse, manage, or delete unrelated Google Drive files or metadata.
|
|
For full details regarding data handling, storage, retention, security safeguards, and access revocation, please consult the complete [Privacy Policy](https://git.muwat.org/murat/n8n-sheets-sync/src/branch/main/PRIVACY.md).
|