Comment nous avons commencé à enregistrer les caisses enregistreuses pour nos clients

Selon les amendements au 54-, depuis juillet de cette année, presque toutes les entreprises commerciales sont obligées d'utiliser des caisses en ligne qui transmettent des données via Internet au service des impôts. Pour acquérir un tel appareil, vous devrez acheter une caisse et un disque fiscal, signer un accord et payer les services d'un opérateur de données fiscales, vous inscrire dans deux bureaux personnels du Federal Tax Service et OFD, entrer les détails dans la caisse et recevoir un rapport d'enregistrement papier. Eh bien, vous aurez également besoin d'une signature numérique électronique, sinon vous devrez vous présenter au Federal Tax Service et faire personnellement la queue.



Nous avons décidé de sauver nos clients de toute cette horreur en créant un service qui enregistre tout automatiquement presque en un seul clic. Nous en parlerons maintenant.

Pourquoi en avons-nous besoin


Vous avez déjà réalisé que l'enregistrement d'une billetterie est une quête fastidieuse en plusieurs étapes, mais ce n'est pas le seul problème. À chaque étape, le zoo attend les interfaces, dont les formulaires devront être remplis manuellement avec les données d'enregistrement pour chaque billetterie, ainsi qu'un ensemble complet de bugs pertinents (salutations distinctes aux exigences fiscales pour l'utilisation des navigateurs IE, Yandex.Browser ou Sputnik). Des centaines d'occasions de faire une erreur, de ruiner la procédure et de recommencer. Et si vous définissez 5 à 10 caisses enregistreuses, le risque d'erreur lors de la saisie des mêmes détails augmente parfois. Sans parler de la perte de temps improductive et de la raison pour laquelle l'administration fiscale des particuliers refuse d'accepter le jeton, qui a été parfaitement «avalé» hier.



Et lorsque nous avons ressenti le plus gros de la tragédie ci-dessus, nous avons décidé de reprendre le développement.

Étapes d'enregistrement


Plusieurs parties participent à l'enregistrement simultané d'une caisse enregistreuse. Il s'agit du service fiscal (FTS), OFD - l'opérateur de données fiscales par lequel les caisses enregistreuses interagissent avec l'administration fiscale, un centre de certification qui émet des signatures électroniques et, en règle générale, un petit homme d'affaires déconcerté perdu dans les bouleversements bureaucratiques. Nous avons voulu intervenir dans leur relation, au point de prendre sur nous toutes les difficultés.

Conditionnellement, la procédure est divisée en deux étapes:

Inscription à la caisse - les données d'un appareil particulier sont envoyées au Service fédéral des impôts et le numéro d'enregistrement vient en réponse.

Fiscalisation - activation de la caisse à l'aide du numéro d'immatriculation du véhicule attribué par le Federal Tax Service.

Tout d'abord, nous sommes allés chez nos partenaires pour travailler avec eux sur la première étape.

API pour le Federal Tax Service


Nous n'avons pas été les premiers à penser à l'automatisation de l'enregistrement. Beaucoup ont dit qu'ils faisaient quelque chose dans ce domaine, que le développement était en cours, mais personne n'avait d'interface externe prête à l'emploi. L'un des opérateurs de données fiscales a été fourni par l'API - presque prêt à interagir avec la taxe.

À cette époque, seulement environ 80 demandes de test ont été envoyées en utilisant le protocole. Nous pensions que bientôt l'interface fonctionnerait à pleine capacité, et avons commencé la mise en œuvre et les tests sur les «stubs».

En allant à la prod, nous avons réalisé que nos tests et l'application réelle sont différents, comme le jour et la nuit. Les «talons» que nous avons reçus de l'OFD ne comprenaient que des simulations de succès et reproduisaient un script réussi. En fait, atteindre ce «succès» n'a pas été facile.

Parmi les résultats, citons: les demandes des partenaires qui n'ont pas été traitées pendant plusieurs jours, le manque de commentaires du Service fédéral des impôts et de l'OFD, les erreurs de signature et notre «erreur inconnue» préférée. Le protocole FTS s'est avéré peu documenté et, souvent, a répondu par des échecs non spécifiés, pour lesquels on ne sait pas exactement ce qui les a causés. Une spécification claire n'existe toujours pas. Ainsi, la première fois que nous avons testé le protocole, et avec l'OFD, nous avons pris des décisions sur la façon de répondre à certaines réponses du Service fédéral des impôts dans des cas spécifiques.

API Cashier


Bien qu'une partie de l'équipe ait étudié le comportement des systèmes du Service fédéral des impôts dans la pratique, le travail ne s'est pas arrêté. En parallèle, nous avons organisé des négociations avec les fabricants de caisses enregistreuses, les avons invités à échanger des données de notre part vers leur plateforme, de la plateforme à la caisse enregistreuse et dans l'ordre inverse pour la mise en place d'une fiscalisation automatique des caisses enregistreuses.

Nous avons sélectionné une paire de solutions monoblocs universelles. Les caisses Evotor avec écrans tactiles et DreamCas sont destinées aux clients habitués aux bons vieux boutons et qui considèrent les fonctionnalités supplémentaires comme redondantes. Les modèles sont différents: avec et sans scanner.


Si l'OFD avait sa propre API prête, alors pour les entrepreneurs de la caisse enregistreuse, elle devait être développée à partir de zéro. Sinon, il est impossible de faire en sorte que toutes les données d'inscription arrivent automatiquement à la caisse enregistreuse, sans saisie manuelle.

Les collègues ont réussi à mettre en place une interaction via leur plate-forme et ont rapidement été prêts: une API pour ouvrir le compte personnel d'un client et un protocole propriétaire pour gérer une caisse enregistreuse.



Nos fournisseurs ont été les premiers à mettre en place la soumission automatique des informations d'enregistrement à la billetterie. Et bientôt, l'API facilitera la désinscription et la réinscription des caisses enregistreuses.

Maintenant, lorsque nous négocions avec d'autres vendeurs au comptant, c'est précisément le support de cette interface qui devient l'une des exigences clés.

Anatomie de l'enregistrement automatique


Après avoir appris à travailler avec le Federal Tax Service et mis en œuvre des API avec des fournisseurs pour transférer les données d'enregistrement au caissier, il était temps de connecter tout cela dans un seul système et d'établir une procédure d'enregistrement.

Il s'agit de choisir la bonne architecture, qui nous permettrait de contrôler l'enregistrement asynchrone des caisses enregistreuses dans l'OFD, à la fois avec le Federal Tax Service et le vendeur. Puisqu'ils répondent aux demandes avec retard, le processus prend du temps et a un grand nombre d'intégrations avec des systèmes externes. Pour cette raison, nous avons dû écrire deux applications en Java.

Job service communique directement avec CRF et les systèmes des fabricants de caisses enregistreuses. Par exemple, nous envoyons les données client à l'OFD et nous attendons de recevoir un numéro d'enregistrement en réponse.

Le service des tâches interroge le statut des tâches à des intervalles spécifiques. Il demande encore et demande jusqu'à ce que le résultat revienne. Le numéro d'enregistrement est enregistré, Job transfère l'application à l'étape suivante et la fiscalisation commence.

Si au début nous surveillions attentivement le passage des applications et étudiions manuellement chaque erreur que le système a donnée, maintenant le processus est automatisé.

Nous déterminons immédiatement la cause de l'erreur. Et en cas de problèmes massifs, des systèmes de surveillance ont été mis en place qui enregistrent les anomalies qui indiquent des défaillances majeures au Federal Tax Service ou OFD. Le client, cependant, découvre les problèmes dans le seul cas: si, en réponse à une demande, nous recevons un refus spécifique, un refus motivé de s'inscrire.

La deuxième application, CashReg, est un système de traitement où un modèle de statut est maintenu, présenté sous une forme relationnelle.

Il a été développé sur la base des API fournies par les fournisseurs et le CRF, et comprenait toutes les transitions possibles pour chaque classe participant au processus d'inscription. Le modèle d'état évite les erreurs internes et élimine les écarts par rapport à l'algorithme de traitement d'application standard.

Ainsi, si la demande a été dans le même statut pendant trop longtemps, par exemple, elle ne reçoit pas le numéro d'enregistrement pendant plusieurs heures, ou le CRF répond avec une étape ou un statut incorrect de la demande, CashReg signalera une erreur.

Bien sûr, un administrateur était nécessaire pour gérer la procédure. Un groupe d'aide à la décision commerciale travaille avec lui, servant et accompagnant les caisses enregistreuses lors de l'inscription. Désormais, seuls deux employés y participent, mais leur interface de travail n'est pas compliquée, et le processus de préparation de la caisse, grâce au rejet de la saisie manuelle des données, est simple. Ainsi, nous pouvons rapidement et facilement faire évoluer le département.

Les trois composants du système d'enregistrement n'impliquent pas de charges élevées, car ils sont déployés dans des environnements virtuels.

Comment se déroule le traitement des demandes


Tout cela était nécessaire pour que le client, laissant une demande dans son compte personnel, mette quelques jours plus tard la caisse activée en état de marche derrière le comptoir.


Du point de vue de la cuisine domestique, la magie de l'enregistrement automatique semble un peu plus compliquée. Laissant la demande dans votre compte personnel, le client nous donne le consentement légal pour émettre une signature électronique et passer par toute la procédure en son nom.


Les informations sur l'entreprise, les données d'enregistrement pour un magasin particulier et le signataire (par exemple, pour le directeur général) sont extraites des bases bancaires. Ils sont mis à jour dans SPARK, passent par la notation et entrent dans le système maître au box-office.


Ensuite, une application est formée dans CASHREG. Il s'affiche comme une nouvelle tâche dans le panneau d'administration d'un employé du groupe de support des solutions de trading. Il voit de quelle caisse et de quel budget le client a besoin. L'employé trouve l'appareil nécessaire dans l'entrepôt, sélectionne le lecteur fiscal, code à barres leurs numéros de série et confirme l'application. Des appareils spécifiques y sont donc attachés, qui seront livrés au client. A ce stade, l'OFD reçoit une demande: «Formuler une demande d'enregistrement de telle ou telle caisse, pour telle ou telle entreprise».

Le dossier envoyé par l'OFD en réponse est authentifié par signature électronique et, à l'aide de l'API OFD, est envoyé aux autorités fiscales. Là, la caisse se voit attribuer un numéro d'enregistrement.

Maintenant, le paquet complet de documents à la caisse parvient au fabricant de la caisse enregistreuse (oui, ils sont également impliqués ici). Dans le même temps, une tâche apparaît dans le panneau d'administration - pour taxiser le même caissier. Cela signifie que l'employé inclut simplement le caissier. Le système du fournisseur «voit» que l'appareil est en contact et charge automatiquement toutes les données d'enregistrement nécessaires dans sa mémoire. Les erreurs de saisie manuelle sont exclues, les mêmes détails vont au Service fédéral des impôts et au caissier.

Le caissier imprime un rapport d'enregistrement - quelque chose pour lequel tout a commencé. Les données fiscales du rapport: imprimer la date, la signature, le signe fiscal, servent de confirmation que la caisse est prête pour le travail. Ces informations sont à nouveau transmises à l'OFD.

Immédiatement après que l'OFD ait généré un rapport d'enregistrement, nous le signons pour le client et le box-office part avec le coursier.



L'OFD n'a pas encore préparé de carte d'enregistrement, mais vous ne pouvez pas attendre. Il sera disponible sous forme électronique dans le compte personnel du client dans deux à trois jours.

Conclusion


Pour mettre en œuvre ce projet, une vingtaine d'employés de toute la banque et de nombreux autres spécialistes de nos partenaires, DFD et vendeurs de billets ont été distraits de leurs tâches habituelles, mais leurs efforts n'ont pas été vains.

Le délai moyen pour obtenir un numéro d'enregistrement, à l'exception des cas les plus négatifs, est de trois heures. En général, toute la procédure dure de 5 à 6 heures. 90% des inscriptions réussissent. À l'heure actuelle, environ 1 000 demandes ont déjà été traitées.

En général, comme vous le comprenez, dans notre entreprise, nous aimons de tels cas, ce qui peut grandement simplifier la vie d'un grand nombre de personnes. En résolvant de tels problèmes, vous sentez que vous faites quelque chose de vraiment utile.

PS Si vous êtes intéressé, vous pouvez lire comment nous avons nous-mêmes nettoyé notre distributeur automatique de billets . De plus, avec des protocoles d'échange de données.

Source: https://habr.com/ru/post/fr420033/


All Articles