Elinext. Rechnungsmanagement System

Elinext. Rechnungsmanagement System

Information
Standort:
Weltweit
Branche:
Finanzsektor
Plattform:
Web
Arbeitsmodell:
Zeit und Materialien
Projektdauer:
4+ Jahre in 4 Entwicklungsstadien (einschließlich der kommenden)
Team-Mitglieder:
10 Front-End-Entwickler, 8 Backend-Entwickler, 4 Business-Analysten, 2 QA-Ingenieure, 2 Projektmanager, ein UI/UX-Designer und DevOps; Historisch über 4+ Jahre Entwicklung hinweg.
ID:
466
Verwendete Technologien
Angular
Celery
Django
Google Authenticator
Chart.js
Prime NG
Python
MySQL

Kunde

Dies ist ein internes Projekt für unser Unternehmen Elinext, ein Unternehmen für individuelle Softwareentwicklung. Elinext ist seit über zwei Jahrzehnten im Softwareentwicklungsmarkt tätig, und während dieser Zeit haben wir mit Hunderten von Kunden zusammengearbeitet. Diese Webanwendung zielt darauf ab, eine effektive Überwachung zu ermöglichen und bei der Bewertung von Unternehmensprojekten zu helfen.

Dieses Projekt ist eines von vielen internen Projekten, die in Zukunft an die Bedürfnisse unserer Kunden angepasst werden könnten. Wir haben ein gut funktionierendes Ökosystem aufgebaut, das einen Unternehmenskalender, einen Urlaubsmanager, einen Zahlungsverfolger und andere nützliche Software umfasst, die den täglichen Betrieb vereinfacht.

Wir haben Pläne, unseren Kunden ein ähnliches Ökosystem anzubieten.

Projektbeschreibung

Diese Webanwendung ermöglicht es Managern und Buchhaltern, den Cashflow und die Effektivität von Unternehmensprojekten zu verfolgen, Verträge zu verwalten, Zahlungen und Schuldenstatus zu kontrollieren und Finanzberichte zu erstellen.

Payment Tracker trägt dazu bei, den Zeitaufwand für die Bearbeitung von Kundenzahlungen zu reduzieren und die Risiken von fehlenden Vertragsbedingungen und Zahlungen zu mindern.

Elinext verfügte nicht über ein einheitliches System, mit dem man alle Verträge und Zahlungen im Auge behalten konnte. Mit einem solchen System konnten wir alle Verträge mit Leichtigkeit verwalten. Das führte dazu, dass ein großes internes Projekt zur Realisierung anstand.

Herausforderungen

Unser Team stand vor einer ganzen Reihe von Herausforderungen:

  • Ein System zu entwickeln, das alle Verträge und Zahlungsinformationen von jedem Kunden von Elinext vereint
  • Ein beispielloses Sicherheitsniveau vor der Bereitstellung sicherzustellen, da die Daten innerhalb des Systems sehr sensibel sind und im Grunde genommen alle Buchhaltungsinformationen an einem Ort aufbewahren
  • Sicherzustellen, dass die Wechselkurse immer korrekt sind und historische Daten keine Fehlberechnungen verursachen, indem alle Rechnungen in einer Währung aufbewahrt werden
  • Bestimmte Funktionen der Projekte kontinuierlich zu verbessern, wie z. B. die Berechnung im Bereich "Bilanz", Abgleichlogik usw.
  • Jede Version innerhalb der Frist zu liefern und sicherzustellen, dass sie rechtzeitig bereitgestellt wird.

Prozess

Wir haben die Kanban-Methodik verwendet. In diesem Fall war sie praktisch, weil das Entwicklungsteam nicht immer in seiner Gesamtheit verfügbar ist und die Intensität der Arbeit an dem Projekt normalerweise gering ist.

Wir haben den Google Authenticator für die Zwei-Faktor-Authentifizierung verwendet. Er trägt dazu bei, die Sicherheit von Finanzdaten zu erhöhen und arbeitet besonders hart daran, sein beispielloses Niveau zu gewährleisten.

Das Projekt befindet sich derzeit nach seiner dritten Phase und steht bereit, in die vierte Phase einzutreten. Hier ist der Zeitplan:

Phase 1: 2019 - Apr 2022 MVP-Entwicklung

Die MVP-Entwicklung dauerte lange, aber selbst in diesem Stadium wurden bereits eine Reihe von Funktionen implementiert. Dazu gehörten:

  • Benutzerrollenverwaltung. Je nach Benutzerrolle hatte man Zugriff auf bestimmte Funktionen der Software. Es gibt die folgenden Rollen: Account Manager, Verantwortlicher Manager und Gast. Die Benutzerrollenteilung ermöglicht es ihnen, sich auf ihren Arbeitsbereich zu konzentrieren.
  • Kunden- und Vertragsverwaltung. Ermöglicht die Erstellung von Kunden im System, weist Projekte zu, verknüpft Verträge und kontrolliert die Zahlungsbedingungen.
  • Projektmanagement. Ermöglicht die Erfassung allgemeiner Informationen über das Projekt, die Zuweisung von Managern, die Kontrolle von Zahlungen und die Anlage von Dokumenten, die mit diesem Projekt verbunden sind.
  • Rechnungsmanagement. Ermöglicht die Erstellung und den Export von Rechnungen für die Kunden.
  • Zahlungsmanagement. Der Benutzer kann Informationen zu Zahlungen von Kunden hinzufügen und verwalten. Es ist auch möglich, Zahlungen zu importieren oder zu exportieren.
  • Abgleich. Mit einem Abgleichwerkzeug kann der Benutzer Zahlungen mit Rechnungen abgleichen und so die Forderungen aktualisieren.
  • Saldo. Mit der Funktion "Saldo" kann der Benutzer alle Zahlungen und Rechnungen in einer Tabellenansicht betrachten und die Berechnung der Rechnungs-/Zahlungssummen sehen.
  • Vorlagen. Es ist möglich, verschiedene Dokumentenvorlagen hochzuladen und im System zu speichern. Der Benutzer kann jederzeit Dokumentenvorlagen herunterladen.
  • Berichte. Dieser umfangreiche Abschnitt ermöglicht es Benutzern, den finanziellen Zustand aus der Sicht des Kunden, des Projekts oder des Benutzers zu beobachten. Exportfunktionen sind ebenfalls vorhanden.
  • Schulden-Erinnerungen. Automatisiert Benachrichtigungen für den Kunden über die Schulden.

Phase 2: Apr 2022 - August 2022.

Version 2.0 enthielt wesentliche Sicherheitsverbesserungen, neue Funktionen im Zusammenhang mit der Abstimmung von Zahlungen mit Rechnungen, die Massenimport von Zahlungen und die Generierung von Berichten.

Wir haben ein Tool hinzugefügt, das entwickelt wurde, um gemeinsame Sicherheitsprobleme im Code zu finden, und Sicherheitslinter-Fehler im Projekt behoben, unter anderen Änderungen.

Phase 3: August 2022 - Januar 2023.

Version 3.0 enthielt neue Benachrichtigungseinstellungen, eine verbesserte Funktion für Schulden-Erinnerungen, Abstimmungslogik und neue Anpassungen in Berichten.

Phase 4 steht bevor. Wir haben Pläne, die Benachrichtigungslogik zu verbessern und den Kunden neue Finanzberichte bereitzustellen.

Lösung

Wir haben ein internes Web-System entwickelt, das verschiedene Module aus anderen Management- und Kontosystemen umfasst. Das System besteht derzeit aus zehn Modulen, und an einem bestimmten Punkt haben wir seine Sicherheitsstufen auf das Maximum erhöht. Es umfasst alles: die Firewall, die Verschlüsselung besonders sensibler Informationen, die Isolierung der Datenbank und den Zugriff darauf über einen verschlüsselten Kanal, das Protokollieren und Überprüfen des Zugriffs auf die Datenbank mit Daten auf niedriger Ebene und natürlich alles in Ergänzung zur Zwei-Faktor-Authentifizierung. Modul 1: Zahlungen Dieses Kernmodul ermöglicht es Benutzern, die wichtigsten Informationen über die Zahlung zu sammeln und sie für die Bilanzberechnung, das Schuldenmanagement und die Berichterstellung zu verwenden. Die Funktion zur Verwaltung von Zahlungen ermöglicht es Benutzern, schnell alle Zahlungen auf einer Seite zu beobachten, um ein allgemeines Verständnis dieser Einträge zu haben, mit der Möglichkeit, das Raster zu exportieren und zu importieren. Modul 2: Rechnungen Die Funktion zur Verwaltung von Rechnungsdetails ermöglicht es Benutzern, die wichtigsten Informationen über die Rechnungen zu sammeln und sie für die Bilanzberechnung, das Schuldenmanagement und die Berichterstellung zu verwenden. Im Wesentlichen dieselbe Funktionalität wie bei Zahlungen, jedoch für Rechnungen. Modul 3: Kunden Dieses Modul ermöglicht es Benutzern, alle Objekte und Parameter im Zusammenhang mit einem bestimmten Kunden zu beobachten und zu verwalten, sodass es nicht erforderlich ist, die Informationen zu diesem Kunden aus den verschiedenen Modulen zu sammeln. Auf diese Weise kann der Benutzer alle Kunden auf einer Seite beobachten, mit der Möglichkeit, das Raster zu exportieren. Modul 4: Projekte Die Verwaltung von Projektdetails ermöglicht es dem Benutzer, die wichtigsten Informationen über das Projekt zu sammeln und das Projekt den verantwortlichen Managern zuzuweisen. Auf diese Weise kann der Benutzer Zahlungen und Rechnungen innerhalb eines bestimmten Projekts verfolgen. Außerdem kann der Benutzer Berichte zu spezifischen Projekten erstellen und hinzufügen/verfolgen Verträge für jedes Projekt. Modul 5: Bilanz Auf der Bilanzseite kann der Benutzer alle Zahlungen und Rechnungen beobachten. Außerdem ist es möglich, die Zusammenfassungsbeträge automatisch in USD neu zu berechnen. Der Benutzer kann die Bilanz nach Kunde, Status, Projekt, Eintragstyp, Datum und Summen filtern und eine Bilanz als Excel-Bericht exportieren. Dieses Modul enthält auch die Seite Schulden. Auf diese Weise kann der Benutzer schnell alle Rechnungen anzeigen, die noch nicht vollständig bezahlt wurden. Außerdem ist es möglich, die Zusammenfassungsbeträge automatisch in USD neu zu berechnen. Der Benutzer kann das Raster nach Kunde, Status, Projekt, Fälligkeitsdatum, Summen und Kommentaren filtern und dann eine Bilanz als Excel-Bericht exportieren. Dies ist der schnellste Weg, um den Betrag der Forderungen zu sehen. Modul 6: Abgleich Auf der Abgleichseite hat der Benutzer die Möglichkeit, Zahlungen manuell mit Rechnungen abzugleichen, was es ermöglicht, die Daten über den Betrag der Schulden des Kunden gegenüber dem Unternehmen zu aktualisieren. Das System bietet automatisch Rechnungen an, auf die eine bestimmte Zahlung potenziell zutrifft. Modul 7: Vorlagen Das Modul Vorlagen kann verwendet werden, um schnellen Zugriff auf Musterdokumente wie Verträge, Rechnungen und andere zu ermöglichen. Modul 8: Berichte Ermöglicht Benutzern, die Bilanz und den Finanzfluss innerhalb eines bestimmten Kunden und Zeitraums mit der Möglichkeit des Exports nach Excel anzuzeigen. Modul 9: Benachrichtigungen Ermöglicht es dem Benutzer, alle Benachrichtigungen für alle Benutzer, die vom System generiert wurden, anzuzeigen. Der Empfänger wird rechtzeitig über dieses oder jenes Ereignis per E-Mail und in der Anwendung informiert, damit er die erforderlichen Maßnahmen so schnell wie möglich ergreifen kann. Ein Benutzer mit ausreichenden Rechten kann jede Benachrichtigung individuell manuell konfigurieren. Dies ermöglicht es Ihnen, die Regeln innerhalb der Spezifikationen des Projekts oder des Empfängers anzupassen. Ein Benutzer mit ausreichenden Rechten kann Standardparameter für jeden Benachrichtigungstyp konfigurieren. Daher müssen Sie die Benachrichtigungsregeln nicht manuell für jeden Empfänger und jedes Projekt festlegen. Modul 10: Einstellungen Ein Benutzer mit entsprechenden Rechten kann Benutzer mit einem SSO-Server problemlos zum System hinzufügen und jedem von ihnen eine Rolle zuweisen. Außerdem kann der Benutzer den QR-Code des Benutzers zurücksetzen, wenn Probleme beim Zugriff auf das System aufgetreten sind. In diesem Modul sind verschiedene Einstellungen realisiert.

Ergebnisse

Das Projekt ist eine langfristige Ergänzung der Infrastruktur von Elinext und steht bereit, anderen Unternehmen zusammen mit anderen Projekten angeboten zu werden, die ein wunderbares Ökosystem schaffen, das Unternehmen ähnlich wie andere dabei unterstützt, ihren täglichen Betrieb zu optimieren.

Derzeit ist das System ein eigenständiger Bestandteil dieses Ökosystems und erleichtert das Leben von Managern, indem es ihnen ermöglicht, die Vertragsbedingungen zu kontrollieren und die Zahlungssituation rechtzeitig an einem Ort zu überprüfen.

Das Projekt steht kurz vor dem Eintritt in die vierte Phase, die eine Demoversion, neue Finanzberichte und die Hinzufügung neuer Benutzerrollen wie Buchhalter umfassen würde.

Angesichts der Tatsache, dass das System mit den allgemeinen finanziellen Informationen des Unternehmens arbeitet, ist es erforderlich, ihm viel Aufmerksamkeit zu schenken Sicherheit, und die Realisierung, dass dies eine unserer obersten Prioritäten war.

1-110
2-104
3-85
4-70
5-63
6-43
7-35
8-30
9-21
10-18
11-20
architektur
Haben Sie vor, ein gleiches Projekt zu schaffen?
Haben Sie eine Projektidee? Lassen Sie uns darüber diskutieren
Kontakt


    Insert math as
    Block
    Inline
    Additional settings
    Formula color
    Text color
    #333333
    Type math using LaTeX
    Preview
    \({}\)
    Nothing to preview
    Insert