# csv2ledger

> Emacs Lisp library for converting csv files to ledger-cli entries

**Wikidata**: [Q126327732](https://www.wikidata.org/wiki/Q126327732)  
**Source**: https://4ort.xyz/entity/csv2ledger

## Summary
csv2ledger is an Emacs Lisp library that converts comma-separated values (CSV) files into entries for the ledger-cli accounting tool, enabling users to import financial data into their ledger system.

## Key Facts
- Creator: Joost Kremers, a linguist and programmer from the Kingdom of the Netherlands.
- Type: NonGNU ELPA package and free software (distributed under terms allowing modification and distribution).
- Programming language: Emacs Lisp.
- Platform: GNU Emacs (cross-platform).
- Primary function: Data conversion from CSV to ledger-cli entries.
- Latest stable version: 1.5.4 (released June 5, 2024).
- Inception year: 2022.
- Maintained by: Joost Kremers since 2022.
- Distributed via: NonGNU ELPA (since June 3, 2024).
- Copyright holder: Joost Kremers (since 2023).

### FAQs
### Q: Who developed csv2ledger?
A: csv2ledger was developed by Joost Kremers, a linguist and programmer from the Kingdom of the Netherlands.

### Q: What is csv2ledger used for?
A: It is an Emacs Lisp library that converts CSV files into entries for the ledger-cli accounting tool, facilitating data import into financial record-keeping systems.

### Q: Is csv2ledger free to use?
A: Yes, csv2ledger is free software distributed under terms that allow users to run, study, change, and distribute it, including modified versions.

## Why It Matters
csv2ledger addresses the challenge of integrating external financial data (often in CSV format) into the ledger-cli accounting system, which is widely used for personal or small business bookkeeping. By providing a straightforward conversion mechanism, it streamlines the process of importing transaction data, reducing manual entry errors and saving time for users who manage their finances with ledger-cli. Its integration with Emacs Lisp and GNU Emacs makes it accessible to users within the Emacs ecosystem, leveraging the productivity tools of the platform to enhance financial data management workflows.

## Notable For
- Written in Emacs Lisp, a dialect specifically designed for GNU Emacs.
- Published as a NonGNU ELPA package, distinguishing it from GNU's official package repository.
- Maintained by Joost Kremers since its inception in 2022, with continuous updates (e.g., version 1.5.4 as of June 2024).
- Designed for cross-platform compatibility, enabling use across different operating systems with GNU Emacs.
- Relies on the ledger-cli tool for output, ensuring compatibility with the established accounting workflow.

### Body
#### Technical Overview
csv2ledger is an Emacs Lisp library that processes CSV files and generates corresponding entries for the ledger-cli command-line tool. It handles data conversion by parsing CSV content and mapping fields to ledger's syntax, supporting common financial data structures like transactions, categories, and balances.

#### Version History
The library has undergone several stable releases:
- Version 1.5.4 (June 5, 2024): Latest stable release with updates.
- Version 1.5.3 (June 4, 2024): Prior stable release.
- Version 1.5.2 (June 2, 2024): Earlier stable release.
- Version 1.5.1 (June 2, 2024): Initial release in this series.

Each version includes bug fixes and minor enhancements, with release notes documented on the project's Codeberg repository.

#### Dependencies and Compatibility
csv2ledger requires the ledger-cli tool to function, as it generates output in the ledger textual format. It is compatible with GNU Emacs versions that support Emacs Lisp packages, operating on multiple platforms due to Emacs's cross-platform nature.

#### Distribution and Licensing
Distributed via NonGNU ELPA, csv2ledger is licensed under a free software license (specific license identifier Q27016754). The project is hosted on Codeberg, with source code available for inspection and modification by users.

```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "csv2ledger",
  "description": "Emacs Lisp library for converting csv files to ledger-cli entries",
  "url": "https://codeberg.org/joostkremers/csv2ledger",
  "sameAs": ["https://www.wikidata.org/wiki/Q3288769"],
  "additionalType": "NonGNU ELPA package"
}

## References

1. [Source](https://elpa.nongnu.org/nongnu/csv2ledger.html)
2. [Source](https://codeberg.org/joostkremers/csv2ledger/src/branch/main/csv2ledger.el)
3. [[NonGNU ELPA] Csv2ledger version 1.5.4. 2024](https://lists.gnu.org/archive/html/gnu-emacs-sources/2024-06/msg00009.html)
4. [[NonGNU ELPA] Csv2ledger version 1.5.3. 2024](https://lists.gnu.org/archive/html/gnu-emacs-sources/2024-06/msg00007.html)
5. [[NonGNU ELPA] Csv2ledger version 1.5.2. 2024](https://lists.gnu.org/archive/html/gnu-emacs-sources/2024-06/msg00005.html)
6. [Source](https://codeberg.org/joostkremers/csv2ledger/releases/tag/1.5.1)
7. [[ELPA] New package: csv2ledger. 2024](https://lists.gnu.org/archive/html/emacs-devel/2024-05/msg00877.html)