Spaces:
Runtime error
Runtime error
Sahil Garg commited on
Commit Β·
a894f45
1
Parent(s): c094882
name changed to FinRyver
Browse files- README.md +30 -24
- docker-compose.yml +1 -1
README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
-
#
|
| 2 |
|
| 3 |
-
|
| 4 |
|
| 5 |
---
|
| 6 |
|
|
@@ -18,7 +18,7 @@ AGRAccountsAudit is an enterprise-grade financial statement automation platform
|
|
| 18 |
|
| 19 |
## Overview
|
| 20 |
|
| 21 |
-
|
| 22 |
- Ingest Excel trial balances and supporting schedules
|
| 23 |
- Extract, normalize, and map financial data using configurable rules
|
| 24 |
- Generate P&L, Balance Sheet, and Cash Flow statements in Excel and JSON formats
|
|
@@ -38,13 +38,16 @@ AGRAccountsAudit automates the end-to-end workflow for financial statement prepa
|
|
| 38 |
|
| 39 |
## Architecture & Project Structure
|
| 40 |
|
| 41 |
-
- `
|
| 42 |
-
- `
|
| 43 |
-
- `
|
|
|
|
| 44 |
- `config/` β Mapping and rules (JSON) for data normalization and extraction
|
| 45 |
-
- `
|
| 46 |
-
- `
|
| 47 |
-
- `
|
|
|
|
|
|
|
| 48 |
- `requirements.txt` β Python dependencies
|
| 49 |
- `Dockerfile`, `docker-compose.yml` β Containerization assets
|
| 50 |
- `.env` β Environment configuration
|
|
@@ -58,8 +61,8 @@ AGRAccountsAudit automates the end-to-end workflow for financial statement prepa
|
|
| 58 |
|
| 59 |
### Clone the Repository
|
| 60 |
```sh
|
| 61 |
-
git clone https://github.com/santhoshmallojwala/
|
| 62 |
-
cd
|
| 63 |
```
|
| 64 |
|
| 65 |
### Install Python Dependencies
|
|
@@ -75,14 +78,18 @@ pip install -r requirements.txt
|
|
| 75 |
|
| 76 |
### Run the API Server (Development)
|
| 77 |
```sh
|
| 78 |
-
uvicorn app
|
|
|
|
|
|
|
|
|
|
|
|
|
| 79 |
```
|
| 80 |
|
| 81 |
### Batch Processing via Scripts
|
| 82 |
```sh
|
| 83 |
-
python
|
| 84 |
-
python
|
| 85 |
-
python
|
| 86 |
```
|
| 87 |
|
| 88 |
### Docker Deployment
|
|
@@ -99,10 +106,9 @@ docker-compose up --build
|
|
| 99 |
**Input:**
|
| 100 |
- `file` (required): Excel file (`.xlsx`) containing trial balance data. Use `multipart/form-data`.
|
| 101 |
**Output:**
|
| 102 |
-
-
|
| 103 |
```json
|
| 104 |
{
|
| 105 |
-
"message": "Profit and Loss statement generated successfully.",
|
| 106 |
"file": "pnl_statement.xlsx"
|
| 107 |
}
|
| 108 |
```
|
|
@@ -112,23 +118,23 @@ docker-compose up --build
|
|
| 112 |
**Input:**
|
| 113 |
- `file` (required): Excel file (`.xlsx`) containing trial balance data. Use `multipart/form-data`.
|
| 114 |
**Output:**
|
| 115 |
-
-
|
| 116 |
```json
|
| 117 |
{
|
| 118 |
-
"message": "Balance Sheet generated successfully.",
|
| 119 |
"file": "balance_sheet.xlsx"
|
| 120 |
}
|
| 121 |
```
|
| 122 |
|
| 123 |
-
|
| 124 |
-
|
|
|
|
| 125 |
**Input:**
|
| 126 |
-
-
|
| 127 |
**Output:**
|
| 128 |
-
-
|
| 129 |
```json
|
| 130 |
{
|
| 131 |
-
"
|
| 132 |
}
|
| 133 |
```
|
| 134 |
|
|
|
|
| 1 |
+
# FinRyver
|
| 2 |
|
| 3 |
+
FinRyver is an enterprise-grade financial statement automation platform built with Python and FastAPI. It streamlines the extraction, transformation, and reporting of financial data from Excel trial balances, enabling rapid generation of standardized Profit & Loss, Balance Sheet, and Cash Flow statements. The solution is designed for professional accounting, audit, and finance teams seeking robust, scalable, and auditable automation.
|
| 4 |
|
| 5 |
---
|
| 6 |
|
|
|
|
| 18 |
|
| 19 |
## Overview
|
| 20 |
|
| 21 |
+
FinRyver automates the end-to-end workflow for financial statement preparation:
|
| 22 |
- Ingest Excel trial balances and supporting schedules
|
| 23 |
- Extract, normalize, and map financial data using configurable rules
|
| 24 |
- Generate P&L, Balance Sheet, and Cash Flow statements in Excel and JSON formats
|
|
|
|
| 38 |
|
| 39 |
## Architecture & Project Structure
|
| 40 |
|
| 41 |
+
- `notes/` β Main FastAPI API endpoints, business logic, and utility modules
|
| 42 |
+
- `pnl/` β Scripts for Profit & Loss statement processing
|
| 43 |
+
- `bs/` β Scripts for Balance Sheet processing
|
| 44 |
+
- `cf/` β Scripts for Cash Flow statement processing
|
| 45 |
- `config/` β Mapping and rules (JSON) for data normalization and extraction
|
| 46 |
+
- `data/` β All input, output, and intermediate files (Excel, JSON, etc.)
|
| 47 |
+
- `data/input/` β Uploaded Excel files (source data)
|
| 48 |
+
- `data/output1/`, `data/output2/`, `data/output3/` β Intermediate and final output files
|
| 49 |
+
- `data/csv_notes_pnl/`, `data/csv_notes_bs/`, `data/csv_notes_cfs/` β Extracted notes in CSV format
|
| 50 |
+
- `data/generated_notes/`, `data/generated_notes_excel/` β Generated notes in JSON/Excel
|
| 51 |
- `requirements.txt` β Python dependencies
|
| 52 |
- `Dockerfile`, `docker-compose.yml` β Containerization assets
|
| 53 |
- `.env` β Environment configuration
|
|
|
|
| 61 |
|
| 62 |
### Clone the Repository
|
| 63 |
```sh
|
| 64 |
+
git clone https://github.com/santhoshmallojwala/FinRyver.git
|
| 65 |
+
cd FinRyver
|
| 66 |
```
|
| 67 |
|
| 68 |
### Install Python Dependencies
|
|
|
|
| 78 |
|
| 79 |
### Run the API Server (Development)
|
| 80 |
```sh
|
| 81 |
+
uvicorn app:app --reload
|
| 82 |
+
```
|
| 83 |
+
or if your main entrypoint is `main.py`:
|
| 84 |
+
```sh
|
| 85 |
+
uvicorn main:app --reload
|
| 86 |
```
|
| 87 |
|
| 88 |
### Batch Processing via Scripts
|
| 89 |
```sh
|
| 90 |
+
python pnl/sircodepnl.py
|
| 91 |
+
python pnl/csv_json_pnl.py
|
| 92 |
+
python pnl/pnl_note.py
|
| 93 |
```
|
| 94 |
|
| 95 |
### Docker Deployment
|
|
|
|
| 106 |
**Input:**
|
| 107 |
- `file` (required): Excel file (`.xlsx`) containing trial balance data. Use `multipart/form-data`.
|
| 108 |
**Output:**
|
| 109 |
+
- Returns the generated P&L Excel file as a download.
|
| 110 |
```json
|
| 111 |
{
|
|
|
|
| 112 |
"file": "pnl_statement.xlsx"
|
| 113 |
}
|
| 114 |
```
|
|
|
|
| 118 |
**Input:**
|
| 119 |
- `file` (required): Excel file (`.xlsx`) containing trial balance data. Use `multipart/form-data`.
|
| 120 |
**Output:**
|
| 121 |
+
- Returns the generated Balance Sheet Excel file as a download.
|
| 122 |
```json
|
| 123 |
{
|
|
|
|
| 124 |
"file": "balance_sheet.xlsx"
|
| 125 |
}
|
| 126 |
```
|
| 127 |
|
| 128 |
+
|
| 129 |
+
#### `POST /cf_from_notes`
|
| 130 |
+
**Description:** Upload an Excel file, run the full Cash Flow pipeline, and receive the generated Cash Flow statement as an Excel file.
|
| 131 |
**Input:**
|
| 132 |
+
- `file` (required): Excel file (`.xlsx`) containing trial balance data. Use `multipart/form-data`.
|
| 133 |
**Output:**
|
| 134 |
+
- Returns the generated Cash Flow Excel file as a download.
|
| 135 |
```json
|
| 136 |
{
|
| 137 |
+
"file": "cash_flow_statements.xlsx"
|
| 138 |
}
|
| 139 |
```
|
| 140 |
|
docker-compose.yml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
services:
|
| 2 |
app:
|
| 3 |
build: .
|
| 4 |
-
container_name:
|
| 5 |
volumes:
|
| 6 |
- .:/app
|
| 7 |
ports:
|
|
|
|
| 1 |
services:
|
| 2 |
app:
|
| 3 |
build: .
|
| 4 |
+
container_name: FinRyver
|
| 5 |
volumes:
|
| 6 |
- .:/app
|
| 7 |
ports:
|