Coder Social home page Coder Social logo

itrack / anaf Goto Github PK

View Code? Open in Web Editor NEW
131.0 17.0 29.0 79 KB

Librarie PHP pentru verificarea in API ANAF a contribuabililor care sunt inregistrati conform art. 316 din Codul Fiscal #StandWithUkraine 🇺🇦

License: MIT License

PHP 100.00%
taxes vat-identification fiscal php anaf mfinante tva cif registrul comertului

anaf's Introduction

API ANAF

Librarie PHP pentru verificarea gratuita a contribuabililor care sunt inregistrati conform art. 316 din Codul Fiscal

Latest Version Build Status StandWithUkraine


Date care pot fi obtinute:

  • Denumire/Adresa companie
  • Numar Registrul Comertului
  • Numar de telefon
  • Platitor/Neplatitor TVA
  • Platitor TVA la incasare
  • Platitor Split TVA pana la 1 februarie 2020 (OUG 23/2017 privind plata defalcată a TVA a fost abrogata incepand cu 1 februarie 2020)
  • IBAN Split TVA
  • Data inregistrare TVA
  • Status Societate (Activa/Inactiva)
  • Data radiere

❤️ Daca iti este de folos te rog sa oferi o stea ⭐

Instalare

composer require itrack/anaf

Exemplu de folosire

  • Initializare librarie
$anaf = new \Itrack\Anaf\Client(); 

Pentru a verifica doar un CUI foloseste metoda

$cif = "123456";
$dataVerificare = "YYYY-MM-DD";
$anaf->addCif($cif, $dataVerificare);

Conform exemplului de mai jos:

$cif = "123456";
$dataVerificare = "2019-05-20";
$anaf->addCif($cif, $dataVerificare);
$company = $anaf->first();

// Metode disponibile
echo $company->getName();
echo $company->getCIF();
echo $company->getRegCom();
echo $company->getPhone();

echo $company->getFullAddress();
echo $company->getAddress()->getCity();
echo $company->getAddress()->getCounty();
echo $company->getAddress()->getStreet();
echo $company->getAddress()->getStreetNumber();
echo $company->getAddress()->getPostalCode();
echo $company->getAddress()->getOthers();

echo $company->getTVA()->hasTVA();
echo $company->getTVA()->getTVAEnrollDate();
echo $company->getTVA()->getTVAEndDate();

echo $company->getTVA()->hasTVACollection();
echo $company->getTVA()->getTVACollectionEnrollDate();
echo $company->getTVA()->getTVACollectionEndDate();

echo $company->getTVA()->hasTVASplit();
echo $company->getTVA()->getTVASplitEnrollDate();
echo $company->getTVA()->getTVASplitEndDate();
echo $company->getTVA()->getTVASplitIBAN();

echo $company->getReactivationDate();
echo $company->getInactivationDate();
echo $company->getDeletionDate();
echo $company->isActive();

Pentru a verifica mai multe CUI-uri in acelasi timp foloseste urmeaza exemplul de mai jos:

$anaf->addCif("123456", "2019-05-20");
$anaf->addCif("RO654321"); // Daca data nu este setata, valoarea default va fi data de azi
$raspuns = $anaf->get();

// SAU

$cifs = [
  "123456",
  "RO6543221"
];
$anaf->addCif($cifs, "2019-05-20");
$raspuns = $anaf->get();

Limite

Poti solicita raspuns pentru maxim 500 de CUI-uri simultan cu o rata de 1 request / secunda.

Requirements

  • PHP >= 7.1 | >= 8
  • Ext-Curl
  • Ext-Json
  • Ext-Mbstring

Exceptii:

  • Itrack\Anaf\Exceptions\LimitExceeded - Ai depasit limita de 500 de CUI-uri / request;
  • Itrack\Anaf\Exceptions\ResponseFailed - Raspunsul primit de la ANAF nu este in format JSON, exceptia returneaza body-ul raspunsului pentru a fi verificat manual;
  • Itrack\Anaf\Exceptions\RequestFailed - Raspunsul primit de la ANAF nu are status de succes, verifica manual raspunsul primit in exceptie.

Upgrade de la 2 la 3

Versiunea 2 nu este compatibila cu versiunea 3, daca aveti o implementare vechie, trebuie refacuta pentru a fi compatibila.

Contribuitori

Contribuitori

Linkuri utile

https://webservicesp.anaf.ro/PlatitorTvaRest/api/v8/

anaf's People

Contributors

bogdanschimbischi avatar edrep avatar firewizard avatar ionutpaun avatar itrack avatar niladam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

anaf's Issues

Undefined array key 0

Salut, am observat ca ANAF raspunde cu success 200, dar nu intoarce un rezultat.
In cazul acesta ar trebui aruncata o exceptie, pot face un PR daca doresti.

Screenshot 2024-02-01 at 00 31 06

Fatal error: Uncaught TypeError: Argument 1 passed to Itrack\Anaf\Parser::__construct() must be of the type array, null given

PHP 7.3.33
API ANAF V8
itrack/anaf: 3.0.6

Notice: Undefined offset: 0 in /var/www/.miio-v4/libs/vendor/itrack/anaf/src/Client.php on line 75

Fatal error: Uncaught TypeError: Argument 1 passed to Itrack\Anaf\Parser::__construct() must be of the type array, null given, called in.../itrack/anaf/src/Client.php on line 75 and defined in .../itrack/anaf/src/Parser.php on line 13

TypeError: Argument 1 passed to Itrack\Anaf\Parser::__construct() must be of the type array, null given, called in .../itrack/anaf/src/Client.php on line 75 in .../itrack/anaf/src/Parser.php on line 13

method isActive works incorrect

public function isActive(): bool
{
    if (empty($this->parser->getData()['stare_inactiv']['statusInactivi'] ?? null) || !is_bool($this->parser->getData()['stare_inactiv']['statusInactivi'] ?? null)) {
        return false;
    }

    return !$this->parser->getData()['stare_inactiv']['statusInactivi'] ?? false;
}

this method always returns false. For function empty() false is also empty value.

Fatal error: Class 'PHPUnit\Framework\TestCase' not found in C:\wamp64\www\anaf\tests\TestCase.php on line 9

Salut,

In primul rand buna treaba, ma rog daca ar merge. Sa fiu si putin hater, nu inteleg de ce lucrurile trebuiesc facute asa complicate cand un simplu fisier era suficient... fisier demo cum sa tragi 1 firma, cum sa tragi 500 de firme. de ce-i nevoie de composer, de nervi si stres sa descarce n-spe lucruri doar ca intr-un final sa nu mearga... iti face iar subfoldere, iar trage continutul... mult prea complicat pentru un script de o pagina care se putea face mult mai usor ca toata lumea sa-l poata instala utiliza mai repede.

In fine, nici eu nu ma prea pricep. am reusit intr-un final sa-i dau de cap la composerul ala doar ca mi-a mai descarcat inca o data toate minunile de foldere + altele noi cu tot felul de chestii care oricum nu le inteleg rostul dar cand ma duc sa accesez direct TestCase.php imi da eraoarea asta cu clasa...aveti idee care-i treaba? sau ma rog, de ce nu se poate pune o chestie mult mai simplificata care sa poata fi utilizata direct dupa download in loc sa stai sa te mai cacai stanga dreapta inutil sa pierzi ore cand defapt ajungi tot la un download...

( ! ) Fatal error: Class 'PHPUnit\Framework\TestCase' not found in C:\wamp64\www\anaf\tests\TestCase.php on line 9
Call Stack
#	Time	Memory	Function	Location
1	0.0000	238296	{main}( )	...\TestCase.php:0

CIF

Salut,
Este posibil sa se ia si CIF-ul pentru o societate?
Multumesc

New Data in Collection

We need the following data in the collection:
codPostal and getData
getData - to be able to obtain other company data in the collection object.

Screenshot 2021-03-10 at 11 43 43

Screenshot 2021-03-10 at 11 43 22

vendor... nu merge

Salut, am incercat si pe windows si pe ubuntu composerul si nu merge imi zice ca nu gaseste repositorul, ai idee daca e totul in regula sau fac eu ceva aiurea?

multumesc!

Acces la array

Salut. Multumiri pentru munca depusa la crearea acestui pachet.
As avea o sugestie: instanta Parser din clasele model ar trebui sa fie accesibila printr-o metoda publica getParser() pentru a putea usura accesul direct la datele primite din API.

si din example.php

asta da cand accesezi example.php direct din folderul anaf unde este si folderul vendor...


( ! ) Fatal error: Uncaught exception 'Itrack\Anaf\Exceptions\ResponseFailed' with message 'Response status: 0 \| Response body: ' in C:\wamp64\www\anaf\src\Client.php on line 119
--



1 | 0.0010 | 241888 | {main}( ) | ...\example.php:0
2 | 0.0290 | 585584 | Itrack\Anaf\Client->getResults( ) | ...\example.php:10
3 | 0.0290 | 585896 | Itrack\Anaf\Client->callApi( ) | ...\Client.php:62


Exceptie Anaf Mentenanta

Am observat ca in ultima perioada, cel putin ultimele 3 saptamani, API-ul Anaf este destul de des in mentenanta sau nu raspunde.

In cazul in care api-ul este down exceptia este: ResponseFailed: Response status: 0 , acest lucru o sa se schimba din versiunea 4.0 cu o exceptie mai usor de identificat.
In cazul in care api-ul este in mentenanta, ANAF face un redirect catre mentenanta.anaf.ro, voi prinde acel redirect si voi intoarce o exceptie corespunzatoare.

cifs: protected

object(Itrack\Anaf\Client)#10 (1) { ["cifs":protected]=> array(0) { } }
Fatal error: Uncaught Itrack\Anaf\Exceptions\ResponseFailed: Response status: 0

Problema am observat-o la inceputul anului acesta. La inceput au fost doar cateva situatii cand primeam eroarea, acum este permanenta.

$anaf = new \Itrack\Anaf\Client(); 
var_dump($anaf);
$anaf->addCif($cif);

API cazut

Salutare,

Folosim scriptul si am folosit de ceva timp url-ul https://webservicesp.anaf.ro/PlatitorTvaRest/api/v8/ws/tva care este public la ANAF, insa sunt cateva zile de cand acesta este picat, raspunde numai cu

The requested URL was rejected. Please consult with your administrator.

Your support ID is: 8096782510241224773

Aveti idee ce se intampla :-) ?

Congratulations!

Congratulations on your refactor and new release!

And thank you again for your time spent on this!

Nu reusesc sa initializez libraria

Am create un fisier php cu urmatorul continut:

$anaf = new \Itrack\Anaf\Client();

$cif = "45448455";
$dataVerificare = "2022-01-30";
$anaf->addCif($cif, $dataVerificare);
$company = $anaf->first();

In momentul in care incerc sa rulez fie pe web fie din consola cu php anaf.php primesc urmatorul mesaj de eroare:

PHP Fatal error: Uncaught Error: Class 'Itrack\Anaf\Client' not found in /var/www/html/vhosts/club3d.ro/anaf/anaf.php:3

Am folosit intocmai instructiunile si am instalat folosind composer libraria respectiva. Versiunea de PHP este 7.4.27

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.