Code Monkey home page Code Monkey logo

euro-invoice.eu's People

Contributors

dragos-constantin-stoica avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

euro-invoice.eu's Issues

Check invoice API

Endpoint to check the information on the invoice based on QR code on the original invoice.

Company section

  • Mandatory Fields: name, national registration number, vat number, address
  • Optional Fields: CUI, NORC EU ... specific to each country
  • Mandatory Fields - Bank accounts: Bank name, IBAN, SWIFT, BIC, Currency
  • Mandatory Fields - Invoice number: year, series, number, format (standard format)
  • Optional Fields - company logo
  • #11

Template invoice - add VAT column

Add VAT column in the invoice details for each item. This will allow to clearly view each VAT.
Add communication structuree data in the Invoice instructions field.

Payments section - Pro

Lifecycle:

  • strono/delete invoice,
  • overdue fees

Actions:

  • copy invoice
  • create recurrent invoice

Other expences section

Add a section where the other expences will be stored. This is useful for the accounting statement so that all information may be exported at once.

Deployment to PROD

  • reserve VM at Hetzner - use the same machine as dataplatformgenerator.com
  • DNS setup at Godaddy
  • email setup at Microsoft O365
  • email setup at Sendgrid
  • deploy UnityBill in PROD
  • setup uptime monitoring HetrixTools
  • setup database backup - no secondary server. no backup

Company section - Pro

Mandatory Fields - admin user, members users. Admin can manage admins and members. There is always one admin. The logged in user can not delete itself from the list if it is the only admin.

Visual identity: allow admin to load and change company logo. Accepted formats: SVG, PNG, JPEG.

UnityBill admin section

  • Messages from contact page. Create a separate database
  • Newsletter emails management.
  • Create new contracts in DataStema company when Business plan is selected. Send the contract via email or at least as internal message.
  • Trems and Conditions page
  • Privacy policy page
  • manage companies (PRO-VERSION)

Dashboard section

Statistics

  • Invoice situation: due, outstanding
  • Top 10 products/services
  • Top 10 clients by invoiced
  • Top 10 client by payed

Graphs with:

  • y2d invoiced vs payed,
  • monthly payed,
  • monthly invoiced,
  • multianual invoiced vs. payed

PRO
Export to JSON Export to Excel Export to CSV Export for Accounting company --- see with Iulian Suhanea
Export to PouchDB in browser and replicate to your own CouchDB/PouchDB instance ;)

Unique inovice number - UnityBill number

  • generate unique invoice number for each company and invoice. duplicates #27
  • explictly use this number on the invoice and for payment. duplicates #27
  • create QR code for invoice tracking
  • create ECP code with this invoice reference

Service section

Mandatory data: description, unit (hours, days, weeks, months, kg, pcs etc.), unit price, currency, VAT(optional maybe)

Validate company registration form

  • check strong password
  • check the same password
  • full company name not null
  • national registration number not null
  • country not null
  • add login link
  • create company document with all necessary fields - update also #16 with the JSON schema

Messages section

Design a section where users can see internal messages.
Messages are stored in the company database.

Payments section

Manage invoice lifecycle:

  • created/new,
  • overdue,
  • payed/partially payed

Display the invoices in a table with filters and action buttons

Pro vesrion lifecycle:

  • strono/delete invoice,
  • overdue fees

Actions:

  • view invoice
  • select unpayed invoice and input the payed ammount, multiple payments possible until the invoice is fully payed

Pro version:

  • copy invoice
  • create recurrent invoice

Timesheet module

Create time sheet module:

  • tasks
  • hours
  • holidays
  • link to contracts

reCAPTCHA on landing page

Protect the contact form and the subscribe to newsletter with anti spam mechanisms - possible solution reCAPTCHA v3.

Super Admin section

  • receive message from Contact from
  • collect emails from Newsletter subscriptions
  • manage companies

SMTP Relay

Information flow for invoices and payments

The invoice should be automatically transmitted to the account of the Client in UnityBill - evenutally with an email.
The Client should be able to registre the payment of an invoice. Sync the invoice payments between the Company and Client. Import CODA format files to process payments. Use Communication Structuree code in BE or UnityBill Unique Identifier to reconciliate the invoices with payments.

---
title: Invoice payment reconciliation
---
graph TD;
    subgraph Supplier
        A[Supplier] -- Register payment --> A[Supplier];
        B(CODA Supplier) -- Import -->A[Supplier];
    end

    subgraph Client
      C[Client] -- Register payment -->C[Client];
      D(Coda Client)-- Import --> C[Client] ;
    end
    
   Client -- Sync --> Supplier;
   Supplier -- Sync --> Client;
    
    

Dashoard section - PRO

Statistics

  • Invoice situation: due, outstanding
  • Top 10 products/services
  • Top 10 clients by invoiced
  • Top 10 client by payed

Features

  • Export to JSON
  • Export to Excel
  • Export to CSV
  • Export for Accounting company --- see with Iulian Suhanea
  • Export to PouchDB in browser and replicate to your own CouchDB/PouchDB instance ;)

New Company Onboarding

In order to issue the 1st invoice the follwoing data entities must be correctly filled in:

  1. Company
    • one address
    • one bank account
    • the invoice format
  2. Services
    • one serivce or product
  3. Clients
    • one client
  4. Contracts
    • one contract

The Contract must be between the Company and the Client and must contain at least one Service or Product. When an Invoice is created it will use all those relationship between those entities. in the case of multiple Companies for each Company this onboarding process must be performed.

Project management module

Add Project management module

  • task list
  • Kanban style
  • resources
  • timeline
  • link to services
  • link to timesheet

Post Go Live

Marketing

  • video Youtube
  • messages on Linkedin, Medium
  • add Google Analytics to homepage

Audit log

Log every activity on the data and backend.
Must have:

  • user
  • timestamps
  • action performed or that was initiated
  • action result

Profile section

Add:

  • 2FA setup (optional)
  • Contact details for the user:
    • Mobile number
    • Fixed number
    • Fax
    • alternative email

Invoice section

This is where invoices are created. The core of the application :)
An invoice is a form of formal contract established between Company and Client based on a Contract and contains a list of Products and Services.
The invoice template contains standard elements and for those that pay for a subsctiption some other elements may be added.
There is a standard template for free users and custom template for paying users.
Watermark and DataStema publicity will be present on free version.

Mandatatory fields:

  • template language (this should correspond with the available languages in the application but not mandatory to be exact correspondence, at least one template EN),
  • serial number,
  • invoice currency
  • creation date (default today),
  • due date,
  • instruction for payment,
  • company data,
  • client data,
  • overall intstructions/comments,
  • contract,
  • product and services items (may change VAT, add the total item value)

Optional fields:

  • exchange rate from invoice currency

Login with 2FA

Add 2FA page to login - related to #1
Add 2FA to the application

QR code integration with payment gateways & banks

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.