Hey there
I was wondering if one of the experts could help me out here.
The following scenario:
I already have a table called "Invoices" and while I'm still building the app around it, I was wondering whether it would have been smarter to create the "Invoices" table as an"Activity Table" since I would like to track when an invoice has been created, when it has been sent to the customer, when a reminder has been sent, when the invoice got paid, deleted, etc.
After reading this article I'm still not sure about it.
In my canvas app, I would like to put a timeline together to display those activities...
Thanks for your advice and cheers!
Kind regards,
Thanks for clarifying, so if I understand correctly, it looks like you want to track activities (like when it sent to the customer) against an invoice. Assume you have an invoice table in your system then yes I would create that table as an activity type. You would also be able to leverage the timeline control to unify all your interactions/activities in one place: https://docs.microsoft.com/powerapps/maker/model-driven-apps/set-up-timeline-control
hope this helps!
If it is just to display some info like a status reason has changed, then one option may be to create Auto Posts (like what you see if you create a new Contact, you will see an auto post on the contacts record timeline saying contact created), you can manually create Posts entries via Workflow.
If I was doing it for some auditing or history purpose (and the OOTB Audit log wasn't enough) I would use a workflow to create a related record in a new standard custom entity (rather than Activity).
Hi @EricRegnier
Thanks for your response. You just got me confused again a little, haha 😛
Since I would like to track when an invoice has been created, when it has been sent to the customer, when it has been paid and all other steps an invoice can have in its lifecycle, I thought of creating an additional "normal" table with a Lookup to the Invoice table. In that table, I would then just add every action related to that record (like the ones mentioned above).
Should this additional table now be an activity table or should it be a normal one?
Hi @mrQ,
Invoices should definitely not be activities in my opinion. Having invoices as a standard table doesn't change the ability to track the status and stage of invoices. You get Status and Status Reason with out-of-the-box tables, you're free to create custom status fields/columns and leverage business process flows to help with your stages. A common way to see activities is like interactions related to a record (i.e. invoice). So for example on an invoice, the system can send multiple payment reminders (e.g. emails) or the customer can send emails regarding this invoice. All these would be tracked as activities against the invoice.
Hope this make sense.... cheers!
Generally, my answer would be Invoices are not Activities. You can think of Activities as the communication interactions that you have with a customer e.g. phone, call email, had a meeting etc. The security around activities is also different Types of Activity are a Sub Type of the Activity record and the CRUD settings are at the Activity super type (and this can cause problems for other tables etc if the required security does not fit the pattern on Activity).
At the end of the day it depends on your particular scenario. In model driven apps, Invoice (a standard Sales entity) is just a related record and may be displayed in a separate sub-grid.
mmbr1606
22
Super User 2025 Season 1
stampcoin
17
ankit_singhal
11
Super User 2025 Season 1