53 lines
1.8 KiB
Markdown
53 lines
1.8 KiB
Markdown
# CSV to Beancount Converter
|
|
|
|
This project provides a simple utility to convert CSV files into Beancount format. It is designed to facilitate the management of financial data by transforming structured CSV data into a format compatible with Beancount accounting software.
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
csv-to-beancount
|
|
├── src
|
|
│ ├── main.py # Entry point for the application
|
|
│ ├── converter.py # Logic for converting CSV to Beancount
|
|
│ ├── config.py # Configuration settings loader
|
|
│ └── utils
|
|
│ └── file_utils.py # Utility functions for file operations
|
|
├── config
|
|
│ └── settings.yaml # Configuration file with fixed values
|
|
├── data
|
|
│ └── example.csv # Sample CSV file for conversion
|
|
├── requirements.txt # Project dependencies
|
|
└── README.md # Project documentation
|
|
```
|
|
|
|
## Installation
|
|
|
|
To set up the project, clone the repository and install the required dependencies:
|
|
|
|
```bash
|
|
git clone <repository-url>
|
|
cd csv-to-beancount
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
## Usage
|
|
|
|
To convert a CSV file to Beancount format, run the following command:
|
|
|
|
```bash
|
|
python src/main.py data/example.csv
|
|
```
|
|
|
|
This command will read the specified CSV file, convert its contents into Beancount format using the defined mappings in the configuration file, and save the output to a Beancount file.
|
|
|
|
## Configuration
|
|
|
|
The configuration settings are stored in `config/settings.yaml`. You can modify this file to adjust account mappings and other constants used during the conversion process.
|
|
|
|
## Contributing
|
|
|
|
Contributions are welcome! Please feel free to submit a pull request or open an issue for any enhancements or bug fixes.
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License. See the LICENSE file for more details. |