{"id":29176857,"url":"https://github.com/joseph-ogutu/reconciliation-tool","last_synced_at":"2026-06-24T01:31:08.272Z","repository":{"id":301616449,"uuid":"1009824993","full_name":"Joseph-Ogutu/Reconciliation-Tool","owner":"Joseph-Ogutu","description":"A Django-based web application for reconciling transaction data between an internal system export and a payment processor's statement. It identifies discrepancies, categorizes results (True Matches, Mismatched Matches, Internal Only, Provider Only), ","archived":false,"fork":false,"pushed_at":"2025-06-27T19:39:33.000Z","size":1142,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-10T15:41:34.491Z","etag":null,"topics":["automation","backend","celery","django","front-end-development","redis","report"],"latest_commit_sha":null,"homepage":"https://5f28dcdb-6f7b-40f5-82d1-4b3373c2a894-00-1ylo72ax6fr9.spock.replit.dev/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Joseph-Ogutu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-27T19:24:21.000Z","updated_at":"2025-07-01T23:42:36.000Z","dependencies_parsed_at":"2025-06-27T20:34:50.612Z","dependency_job_id":"e1de786d-c4dd-49df-8f7f-78917f00ea9b","html_url":"https://github.com/Joseph-Ogutu/Reconciliation-Tool","commit_stats":null,"previous_names":["joseph-ogutu/reconciliation-tool"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Joseph-Ogutu/Reconciliation-Tool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Joseph-Ogutu%2FReconciliation-Tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Joseph-Ogutu%2FReconciliation-Tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Joseph-Ogutu%2FReconciliation-Tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Joseph-Ogutu%2FReconciliation-Tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Joseph-Ogutu","download_url":"https://codeload.github.com/Joseph-Ogutu/Reconciliation-Tool/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Joseph-Ogutu%2FReconciliation-Tool/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34713789,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","backend","celery","django","front-end-development","redis","report"],"created_at":"2025-07-01T17:30:53.201Z","updated_at":"2026-06-24T01:31:08.252Z","avatar_url":"https://github.com/Joseph-Ogutu.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Reconciliation Tool\n\nA Django-based web application for comparing transaction data between an internal system export and a payment processor's statement, identifying discrepancies, and visualizing results with an interactive dashboard.\n\n## Features\n- **File Upload**: Upload two CSV files (Internal System Export and Provider Statement).\n- **Reconciliation**: Compare transactions using `transaction_reference`, with advanced matching on `amount`, `status`, `currency`, and `customer_id`.\n- **Discrepancy Categorization**: Displays results in four categories:\n  - True Matches: Transactions matching all fields.\n  - Mismatched Matches: Transactions with discrepancies in amount, status, currency, or customer_id.\n  - Internal Only: Transactions only in the internal file.\n  - Provider Only: Transactions only in the provider file.\n- **Time-Based Analysis**: Filter transactions by date range.\n- **Interactive Filters**: Dynamically filter results by transaction reference using JavaScript.\n- **Visualization**: Bar chart of transaction counts using Chart.js.\n- **Export Options**: Export each category as CSV and download a PDF report.\n- **Automation**: Schedule periodic reconciliations (daily/weekly) using Celery.\n\n## Prerequisites\n- Python 3.8+\n- Django 5.0+\n- Redis (for Celery)\n- Dependencies: `django`, `pandas`, `numpy`, `django-pandas`, `celery`, `redis`, `reportlab`\n\n## Installation\n1. Clone the repository:\n   ```bash\n   git clone \u003crepository_url\u003e\n   cd reconciliation_tool\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoseph-ogutu%2Freconciliation-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoseph-ogutu%2Freconciliation-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoseph-ogutu%2Freconciliation-tool/lists"}