New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Improved Invoice Handling #985

Open
davidrei opened this Issue May 23, 2017 · 13 comments

Comments

Projects
None yet
6 participants
@davidrei

davidrei commented May 23, 2017

Looking at the current implementation of the invoice extension I see a few shortcomings:

  • timesheet records included in an invoice are not automatically closed (generates manual overhead to make sure all records on an invoice are closed)
  • no control over generated invoices, ie. date when the invoice has been generated/sent to the customer, date when the invoice has been paid etc. cannot be maintained in Kimai
  • regenerating an invoice to remind the customer is only possible by manually selecting the respective timesheet records.

Ideally the application should be extended to:

  • have an invoice object in the data model, with some meta data
  • process of generating an invoice could look like this:
    1. select the timesheet records to be included in the invoice
    2. allow the option to have preview of the invoice (much like how generating an invoice works right now)
    3. actually generating the invoice which would
    • create a new invoice object in the database (allowing as well for unique numbering of invoices)
    • mark the selected timesheet records as 'closed' and add a relation to the invoice object (assuming that ever timesheet record should only be billed once)
    1. creating the invoice rendition using the selected template
  • opening the invoice tab will list all generated invoices, filtering by customers etc. could be done similar as on the timesheet tab
  • opening an existing invoice would allow to
    • add notification, paid date etc.
    • regenerate the invoice with the same data (optionally with a different template)
    • allow an invoice to be revoked, ie. mark the invoice as cancelled and 'release' the related timesheet records (ie. remove the relation to the invoice and mark them as 'open')

Has any of this been discussed before or is even somebody working on something similar?
It not I might eventually specify this in more detail and do the implementation.

@simonschaufi

This comment has been minimized.

Show comment
Hide comment
@simonschaufi

simonschaufi May 23, 2017

Member

Thank you for writing this down. i already started with a "proper" invoice extension but it is still work in progress and far from being finished.

I would highly appreciate your ideas and the implementation!

Member

simonschaufi commented May 23, 2017

Thank you for writing this down. i already started with a "proper" invoice extension but it is still work in progress and far from being finished.

I would highly appreciate your ideas and the implementation!

@davidrei

This comment has been minimized.

Show comment
Hide comment
@davidrei

davidrei May 23, 2017

Ok, I'm going to have a look at that fork. Any sketches or outlines available regarding the data model?

davidrei commented May 23, 2017

Ok, I'm going to have a look at that fork. Any sketches or outlines available regarding the data model?

@simonschaufi

This comment has been minimized.

Show comment
Hide comment
@simonschaufi

simonschaufi May 24, 2017

Member

Great. No. There is nothing. The branch is quite old and needs a rebase first. Just make sure you are developing based on develop branch!

Member

simonschaufi commented May 24, 2017

Great. No. There is nothing. The branch is quite old and needs a rebase first. Just make sure you are developing based on develop branch!

@speedweb

This comment has been minimized.

Show comment
Hide comment
@speedweb

speedweb Aug 12, 2017

Hallo,
gibt es hierzu schon neue Infos?

speedweb commented Aug 12, 2017

Hallo,
gibt es hierzu schon neue Infos?

@daCyberpunk

This comment has been minimized.

Show comment
Hide comment
@daCyberpunk

daCyberpunk Jan 5, 2018

Würde mich auch interessieren. Drei Funktionalitäten finde ich sehr wichtig:

  • Speichern von erstellten Rechnungen
  • Automatisches setzen des Flags "abgerechnet" auf Activities für die schon eine Rechnung erstellt wurde
  • Konfigurierbare fortlaufende Rechnungsnummer

Diese Sachen halten mich leider davon ab das Tool zu nutzen. Da ich auch keine andere Möglichkeiten finde die o.g. Anforderungen automatisiert umzusetzen (durch z.B. anderes externes Tool). Jede Rechnung von Hand abarbeiten möchte ich nicht, zu fehleranfällig.
Nicht desto trotz finde ich Kimai wirklich super interessant und spannend.

daCyberpunk commented Jan 5, 2018

Würde mich auch interessieren. Drei Funktionalitäten finde ich sehr wichtig:

  • Speichern von erstellten Rechnungen
  • Automatisches setzen des Flags "abgerechnet" auf Activities für die schon eine Rechnung erstellt wurde
  • Konfigurierbare fortlaufende Rechnungsnummer

Diese Sachen halten mich leider davon ab das Tool zu nutzen. Da ich auch keine andere Möglichkeiten finde die o.g. Anforderungen automatisiert umzusetzen (durch z.B. anderes externes Tool). Jede Rechnung von Hand abarbeiten möchte ich nicht, zu fehleranfällig.
Nicht desto trotz finde ich Kimai wirklich super interessant und spannend.

@simonschaufi

This comment has been minimized.

Show comment
Hide comment
@simonschaufi

simonschaufi Jan 5, 2018

Member

Wie sollte deiner Meinung nach die Rechnungsnummer aufgebaut sein? Welche Software nutzt du derzeit? Vielleicht kann ich das ja nachprogrammieren :)

Member

simonschaufi commented Jan 5, 2018

Wie sollte deiner Meinung nach die Rechnungsnummer aufgebaut sein? Welche Software nutzt du derzeit? Vielleicht kann ich das ja nachprogrammieren :)

@daCyberpunk

This comment has been minimized.

Show comment
Hide comment
@daCyberpunk

daCyberpunk Jan 5, 2018

daCyberpunk commented Jan 5, 2018

@daCyberpunk

This comment has been minimized.

Show comment
Hide comment
@daCyberpunk

daCyberpunk Jan 5, 2018

daCyberpunk commented Jan 5, 2018

@kevinpapst

This comment has been minimized.

Show comment
Hide comment
@kevinpapst

kevinpapst Jan 5, 2018

Member

Vorausgesetzt man generiert nicht mehr als eine Rechnung pro Tag, dann würde es ausreichen einfach das Datum als Rechnungsnummer zu nehmen im Format YYYYMMDD. Das mache ich immer so.
Das die Nummer fortlaufend sein muss stimmt nicht.

Member

kevinpapst commented Jan 5, 2018

Vorausgesetzt man generiert nicht mehr als eine Rechnung pro Tag, dann würde es ausreichen einfach das Datum als Rechnungsnummer zu nehmen im Format YYYYMMDD. Das mache ich immer so.
Das die Nummer fortlaufend sein muss stimmt nicht.

@daCyberpunk

This comment has been minimized.

Show comment
Hide comment
@daCyberpunk

daCyberpunk Jan 5, 2018

Ok, ich hab sie gern fortlaufend. :-P

In dem von mir erwähnten Branch kann man die Nummer zB folgendermaßen konfigurieren: 2018021
2018: Jahr
02: Monat
1 InvoiceID

Das finde ich super.

Hab jetzt aus dem invoicenumber branch von Simon mal die relevanten Teile rausgeholt und lokal in den master von Kimai eingesetzt. Muss das noch alles genauer anschauen, hatte zwei komische Probleme die ich mir aber nicht erklären kann.

Wenn das läuft forke ich das vielleicht mal und schiebs auf Github.

daCyberpunk commented Jan 5, 2018

Ok, ich hab sie gern fortlaufend. :-P

In dem von mir erwähnten Branch kann man die Nummer zB folgendermaßen konfigurieren: 2018021
2018: Jahr
02: Monat
1 InvoiceID

Das finde ich super.

Hab jetzt aus dem invoicenumber branch von Simon mal die relevanten Teile rausgeholt und lokal in den master von Kimai eingesetzt. Muss das noch alles genauer anschauen, hatte zwei komische Probleme die ich mir aber nicht erklären kann.

Wenn das läuft forke ich das vielleicht mal und schiebs auf Github.

@simonschaufi

This comment has been minimized.

Show comment
Hide comment
@simonschaufi

simonschaufi Jan 12, 2018

Member

Wenn das läuft forke ich das vielleicht mal und schiebs auf Github.

@daCyberpunk das wäre super!

Member

simonschaufi commented Jan 12, 2018

Wenn das läuft forke ich das vielleicht mal und schiebs auf Github.

@daCyberpunk das wäre super!

@gosselt

This comment has been minimized.

Show comment
Hide comment
@gosselt

gosselt May 19, 2018

My English is much better then my German. Sorry for breaking the language tradition in this post ;-)

I am also much interested in the requests made by DaCyberpunk on the 5th of January.
I do even believe I can have my client paying for this.
What does still need to be developed? Can someone get me an estimate?

Regards, Willem Gosselt

gosselt commented May 19, 2018

My English is much better then my German. Sorry for breaking the language tradition in this post ;-)

I am also much interested in the requests made by DaCyberpunk on the 5th of January.
I do even believe I can have my client paying for this.
What does still need to be developed? Can someone get me an estimate?

Regards, Willem Gosselt

@simonschaufi

This comment has been minimized.

Show comment
Hide comment
@simonschaufi

simonschaufi May 19, 2018

Member

Automatisches setzen des Flags "abgerechnet" auf Activities für die schon eine Rechnung erstellt wurde

this is done in the release 1.3.0. It's the last checkbox at the bottom.

Member

simonschaufi commented May 19, 2018

Automatisches setzen des Flags "abgerechnet" auf Activities für die schon eine Rechnung erstellt wurde

this is done in the release 1.3.0. It's the last checkbox at the bottom.

@simonschaufi simonschaufi self-assigned this Jun 25, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment