{"id":31788059,"url":"https://github.com/pauloparakleto/inss_calculator","last_synced_at":"2025-10-10T14:14:03.180Z","repository":{"id":246294318,"uuid":"820662879","full_name":"Pauloparakleto/inss_calculator","owner":"Pauloparakleto","description":"Calcula o desconto em folha de pagamento CLT de acordo com as normas vigentes em 2025","archived":false,"fork":false,"pushed_at":"2025-02-03T00:53:00.000Z","size":102,"stargazers_count":9,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-07T21:30:37.729Z","etag":null,"topics":["calculadorainss","inss","rails","ruby"],"latest_commit_sha":null,"homepage":"https://www.calculainss.com.br","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pauloparakleto.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2024-06-26T23:44:22.000Z","updated_at":"2025-07-31T22:37:04.000Z","dependencies_parsed_at":"2024-06-27T03:26:01.319Z","dependency_job_id":"1b53067e-22ce-4f6f-87d6-e75e06214504","html_url":"https://github.com/Pauloparakleto/inss_calculator","commit_stats":null,"previous_names":["pauloparakleto/inss_calculator"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/Pauloparakleto/inss_calculator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pauloparakleto%2Finss_calculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pauloparakleto%2Finss_calculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pauloparakleto%2Finss_calculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pauloparakleto%2Finss_calculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pauloparakleto","download_url":"https://codeload.github.com/Pauloparakleto/inss_calculator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pauloparakleto%2Finss_calculator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004178,"owners_count":26083688,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"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":["calculadorainss","inss","rails","ruby"],"created_at":"2025-10-10T14:13:58.843Z","updated_at":"2025-10-10T14:14:03.172Z","avatar_url":"https://github.com/Pauloparakleto.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# InssCalculator\n\nCalculadora de desconto do INSS de 2025 de acordo com a [Portaria Interministerial n. 6 de 10 de Janeiro de 2025](https://www.in.gov.br/en/web/dou/-/portaria-interministerial-mps/mf-n-6-de-10-de-janeiro-de-2025-606526848)\n\nEsta mesma portaria discorre tanto sobre a contribuição do trabalhador do setor público quanto do setor privado.\n\n## Instalation\n\n```\nbundle add inss_calculator\n```\n\nNão conhecia [esse comando?](https://bundler.io/v2.5/man/bundle-add.1.html) Ele adiciona ao seu Gemfile a gem e ainda a instala.\n\n## Usage\n\nPara calcular a contribuição do trabalhador no setor privado:\n\n```\ngross_salary = 1518.0\ncalculator = InssCalculator::DiscountPrevidenceCalculator.new(gross_salary)\ncalculator.contribution =\u003e 113.85\ncalculator.salary =\u003e 1518.0\ncalculator.net_salary =\u003e 1404.15\n\n```\nPara calcular a contribuição do trabalhador no setor público:\n\n```\n\ngross_salary = 52000.54\ncalculator = InssCalculator::PublicInssCalculator.new(gross_salary)\ncalculator.contribution =\u003e 8726.63\ncalculator.salary =\u003e 52000.54\ncalculator.net_salary =\u003e 43273.91\n\n```\n```\n```\n### Precisas realizar uma query ao Banco de Dados por grupo de faixa salarial?\n\nInssCalculator providencia as seguintes constantes:\n\n```\n  InssCalculator::SalaryLevels::FIRST_SALARY_BASE = 0.0\n  InssCalculator::SalaryLevels::FIRST_SALARY_LIMIT = 1518.0\n\n  InssCalculator::SalaryLevels::SECOND_SALARY_BASE = 1518.01\n  InssCalculator::SalaryLevels::SECOND_SALARY_LIMIT = 2793.88\n\n  InssCalculator::SalaryLevels::THIRD_SALARY_BASE = 2793.89\n  InssCalculator::SalaryLevels::THIRD_SALARY_LIMIT = 4190.83\n\n  InssCalculator::SalaryLevels::FOURTH_SALARY_BASE = 4190.84\n  InssCalculator::SalaryLevels::FOURTH_SALARY_LIMIT = 8157.41\n\n  # Abaixo as bases e os limites do setor público\n\n  InssCalculator::SalaryLevels::FIFTH_SALARY_BASE = 8157.42\n  InssCalculator::SalaryLevels::FIFTH_SALARY_LIMIT = 13969.49\n\n  InssCalculator::SalaryLevels::SIXTH_SALARY_BASE = 13969.5\n  InssCalculator::SalaryLevels::SIXTH_SALARY_LIMIT = 27938.95\n\n  InssCalculator::SalaryLevels::SEVENTH_SALARY_BASE = 27938.96\n  InssCalculator::SalaryLevels::SEVENTH_SALARY_LIMIT = 54480.97\n\n  InssCalculator::SalaryLevels::EIGTH_SALARY_BASE = 54480.98\n  InssCalculator::SalaryLevels::EIGTH_SALARY_LIMIT = Float::INFINITY\n\n\n```\n\nDesta forma, uma requisição que busca somente a primeira faixa salarial seria:\n\n```\n  YourModel.where(\"salary \u003c= ?\", InssCalculator::SalaryLevels::FIRST_SALARY_LIMIT)\n```\n\n## Decorators\n\n`InssCalculator::Decorator::Text` explica no formato de texto o que o trabalhador precisa saber.\nIdeal para uso no parágrafo do HTML. Retire da view esta responsabildade e deixe com este decorator.\nVocê ainda tem acesso à classe original com `#calculator`.\n\n```\ncalculator = InssCalculator::DiscountPrevidenceCalculator.new(3000)\ntext_decorator = InssCalculator::Decorator::Text.new(calculator)\ntext_decorator.present =\u003e \"Com o salário de R$ 3.000,00, sua contribuição é de R$ 253,40. Seu salário líquido, portanto, é de R$ 2.746,60.\"\n\ntext_decorator.calculator =\u003e InssCalculator::DiscountPrevidenceCalculator.new(3000)\n\n```\n\n## Nota sobre trabalhar com números decimais em Ruby\n\nApós investigar os resultados dos exemplos contábeis, concluiu-se que os números são truncados.\n\nCada faixa salarial trunca seu resultado final após aplicar a sua alíquota correspondente.\n\nPor isso o uso do método `.truncate` ao invés de um arredondamento ao final de cada cálculo parcial.\n\n### Vídeo de apresentação\n\n[Assista](https://youtu.be/Eu5htw8qb4k?si=mpog6q0PJpxxuEjX) este vídeo no qual apresento um exemplo de uso da gem.\n\n## Ainda precisa da calculadora de 2024?\n\nCalculadora do desconto do INSS sobre o salário bruto 2024 de acordo com a [Portaria Inter Ministerial\nnúmero 2 de 11 de Janeiro de 2024](https://www.in.gov.br/en/web/dou/-/portaria-interministerial-mps/mf-n-2-de-11-de-janeiro-de-2024-537035232) foi movida para o módulo `InssCalculator::Legacy::DiscountPrevidenceCalculator`.\n\n### Feito com amor, feito com Ruby S2\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpauloparakleto%2Finss_calculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpauloparakleto%2Finss_calculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpauloparakleto%2Finss_calculator/lists"}