{"id":50444166,"url":"https://github.com/open-stat/home_invoice","last_synced_at":"2026-05-31T20:31:49.035Z","repository":{"id":57714600,"uuid":"517267130","full_name":"open-stat/home_invoice","owner":"open-stat","description":"Обработка жировок","archived":false,"fork":false,"pushed_at":"2022-07-24T08:54:21.000Z","size":285,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-12T09:44:07.705Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","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/open-stat.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}},"created_at":"2022-07-24T08:25:30.000Z","updated_at":"2024-04-12T09:44:07.706Z","dependencies_parsed_at":"2022-09-26T21:31:23.762Z","dependency_job_id":null,"html_url":"https://github.com/open-stat/home_invoice","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/open-stat/home_invoice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-stat%2Fhome_invoice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-stat%2Fhome_invoice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-stat%2Fhome_invoice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-stat%2Fhome_invoice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/open-stat","download_url":"https://codeload.github.com/open-stat/home_invoice/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-stat%2Fhome_invoice/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33748607,"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-05-31T02:00:06.040Z","response_time":95,"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":[],"created_at":"2026-05-31T20:31:48.305Z","updated_at":"2026-05-31T20:31:49.025Z","avatar_url":"https://github.com/open-stat.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Home Invoice (Жировки)\n\nPHP скрипт решает две задачи:\n1. Получение данных из PDF файла жировок \n2. Отправка полученных данных в базы данных для их дальнейшего отображения и анализа\n\n\n\n### Результат показанный в Grafana\n\n![img1](docs/invoice1.png)\n![img2](docs/invoice2.png)\n![img2](docs/invoice3.png)\n\nДля показа подобных графиков необходимо использовать Grafana + (Influx, Mysql или другие базы данных).\\\n[grafana.com](https://grafana.com)\\\n[influxdata.com](https://www.influxdata.com)\n\nДля формирования графиков, как на скриншотах, можно использовать готовые JSON модели: \n1. [grafana.Mysql.json](docs/grafana.Mysql.json)\n2. [grafana.InfluxDb2.json](docs/grafana.InfluxDb2.json)\n\nА так же использовать схему [mysql.sql](docs/mysql.sql) для базы данных.\n\n```\ncomposer require opendataworld/home_invoice\n```\n\n## Примеры\n\n### 1. Получение данных\n\n```php\n$content = file_get_contents('invoice.pdf');\n\n$parser = new \\HomeInvoice\\Parser($content);\n$invoice_text = $parser-\u003egetText();\n$invoice_data = $parser-\u003egetData($invoice_text);\n\nprint_r($invoice_data);\n\nArray (\n    [month_name] =\u003e ноябрь\n    [month] =\u003e 11\n    [year] =\u003e 2021\n    [payer_name] =\u003e XXXXX XXXXXXX XXXXXXXXX\n    [address] =\u003e г. XXXXX, ул. XXXXX, д. XX, кв. XXX\n    [personal_account] =\u003e XXXXXXXXX\n    [date_created] =\u003e 14.12.2021 03:57:03\n    [total_accrued] =\u003e 57.26\n    [total_price] =\u003e 57.26\n    [services] =\u003e Array (\n        [0] =\u003e Array (\n            [group_title] =\u003e Основные жилищно-коммунальные услуги\n            [rows] =\u003e Array (\n                [0] =\u003e Array (\n                    [num] =\u003e 1\n                    [title] =\u003e Техническое обслуживание\n                    [unit] =\u003e кв. м\n                    [volume] =\u003e 47.9\n                    [rate] =\u003e 0.1238\n                    [accrued] =\u003e 5.93\n                    [privileges] =\u003e 0.00\n                    [recalculation] =\u003e 0.00\n                    [total] =\u003e 5.93\n                )\n                ...    \n            )\n        )\n        [1] =\u003e Array (\n            [group_title] =\u003e Возмещаемые расходы\n            [rows] =\u003e Array (\n                [0] =\u003e Array (\n                    [num] =\u003e 1\n                    [title] =\u003e Электроэнергия на освещение вспом. помещений иработу оборудования, за исключением лифтов\n                    [unit] =\u003e кв. м\n                    [volume] =\u003e 47.9\n                    [rate] =\u003e 0.0224\n                    [accrued] =\u003e 1.07\n                    [privileges] =\u003e 0.00\n                    [recalculation] =\u003e 0.00\n                    [total] =\u003e 1.07\n                )\n                ...\n            )\n        )\n    )\n    [services_extra] =\u003e Array (\n        [0] =\u003e Array (\n            [title] =\u003e Переходящий остаток (задолженность; средства, зачисленные в счет будущих платежей)\n            [value] =\u003e 0.00\n        )\n        ...\n    )\n    [cold_water_count] =\u003e 77\n    [cold_water_diff] =\u003e 1\n    [hot_water_count] =\u003e 90\n    [hot_water_diff] =\u003e 7\n    [house_square] =\u003e 10136.4\n    [house_sub_square] =\u003e 0\n    [house_people] =\u003e 373\n    [house_people_energy] =\u003e 352.83\n    [house_people_other] =\u003e \n    [house_hot_water_count] =\u003e 713.78\n    [house_hot_water_cal] =\u003e 32.75\n    [house_cold_water_count] =\u003e 959.19\n    [house_energy] =\u003e 4243.00\n    [house_energy_lift] =\u003e 957.00\n)\n\n```\n\n\n### 2. Подготовка данных для сохранения в базу данных\n\n```php\n$transform = new \\HomeInvoice\\Transform($invoice_data);\n$data = $transform-\u003egetData();\n\nprint_r($data);\n\nArray (\n    [simple]         =\u003e [...],\n    [services]       =\u003e [...],\n    [services_extra] =\u003e [...],\n)\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-stat%2Fhome_invoice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopen-stat%2Fhome_invoice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-stat%2Fhome_invoice/lists"}