Putting multiple orders on one invoice

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Putting multiple orders on one invoice

Anne Jessel
Hi

I need to have an invoice generated regularly, say once a month or perhaps on demand, for all items ordered by each customer during that month "on account". There doesn't seem to be any support for this at the moment (please point me to it if I'm wrong).

I doubt I'm the only one that needs this, so I'd appreciate some advice as to how to implement it so it is unlikely to adversely affect existing functionality, and so it has a chance of being accepted into trunk.

Main requirements are:

- orders can be fulfilled (i.e. shipped goods or supplied services) without generating an invoice
- at a regular configurable interval, an invoice is generated for each customer, containing all previously uninvoiced order items.

So a customer can order (and receive) 5 widgets on the 5th of the month, and 4 gizmos on the 20th. On the 30th of the month, a single invoice is generated which contains one item for 5 widgets and another item for 4 gizmos. This is similar to staying in a hotel, where eating in the restaurant is charged to your room, and you receive one invoice at the end of your stay listing all your restaurant orders.

So far, I'm thinking of achieving this by:

- putting fulfilled orders into Sent status, without generating an invoice (maybe I need to introduce a Sent status for order items?)
- creating a service which gathers all order items for a customer that are in Sent status, generates a single invoice for all of them, and sets their status to Completed.

I am still going through the existing system, trying to work out the best places and ways to achieve this.

If there's a better approach I should consider, or anything I need to watch out for, I would greatly appreciate hearing about it!

Cheers,
Anne.

--
Coherent Software Australia Pty Ltd
PO Box 2773
Cheltenham Vic 3192
Phone: (03) 9585 6788
Fax: (03) 9585 1086
Web: http://www.cohsoft.com.au/
Email: [hidden email]

Bonsai ERP, the all-inclusive ERP system
http://www.bonsaierp.com.au/


signature.asc (279 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Putting multiple orders on one invoice

David E. Jones-2

The more common approach is to invoice each order, accumulate invoices throughout the month, and then send a statement (based on a Billing Account for all outstanding invoices).

Is there a reason you don't want to distinguish between invoices and statements?

-David


On Dec 16, 2009, at 11:07 PM, [hidden email] wrote:

> Hi
>
> I need to have an invoice generated regularly, say once a month or perhaps on demand, for all items ordered by each customer during that month "on account". There doesn't seem to be any support for this at the moment (please point me to it if I'm wrong).
>
> I doubt I'm the only one that needs this, so I'd appreciate some advice as to how to implement it so it is unlikely to adversely affect existing functionality, and so it has a chance of being accepted into trunk.
>
> Main requirements are:
>
> - orders can be fulfilled (i.e. shipped goods or supplied services) without generating an invoice
> - at a regular configurable interval, an invoice is generated for each customer, containing all previously uninvoiced order items.
>
> So a customer can order (and receive) 5 widgets on the 5th of the month, and 4 gizmos on the 20th. On the 30th of the month, a single invoice is generated which contains one item for 5 widgets and another item for 4 gizmos. This is similar to staying in a hotel, where eating in the restaurant is charged to your room, and you receive one invoice at the end of your stay listing all your restaurant orders.
>
> So far, I'm thinking of achieving this by:
>
> - putting fulfilled orders into Sent status, without generating an invoice (maybe I need to introduce a Sent status for order items?)
> - creating a service which gathers all order items for a customer that are in Sent status, generates a single invoice for all of them, and sets their status to Completed.
>
> I am still going through the existing system, trying to work out the best places and ways to achieve this.
>
> If there's a better approach I should consider, or anything I need to watch out for, I would greatly appreciate hearing about it!
>
> Cheers,
> Anne.
>
> --
> Coherent Software Australia Pty Ltd
> PO Box 2773
> Cheltenham Vic 3192
> Phone: (03) 9585 6788
> Fax: (03) 9585 1086
> Web: http://www.cohsoft.com.au/
> Email: [hidden email]
>
> Bonsai ERP, the all-inclusive ERP system
> http://www.bonsaierp.com.au/
>

Reply | Threaded
Open this post in threaded view
|

Re: Putting multiple orders on one invoice

Jacopo Cappellato-4
In reply to this post by Anne Jessel
Hi Anne,

please see my comments inline:

On Dec 17, 2009, at 6:07 AM, [hidden email] wrote:

> Hi
>
> I need to have an invoice generated regularly, say once a month or perhaps on demand, for all items ordered by each customer during that month "on account". There doesn't seem to be any support for this at the moment (please point me to it if I'm wrong).
>
> I doubt I'm the only one that needs this, so I'd appreciate some advice as to how to implement it so it is unlikely to adversely affect existing functionality, and so it has a chance of being accepted into trunk.
>

Yes, (unfortunately) this is a strongly used practice in Italy (and I guess Europe) as well: we like to complicate things that could be simpler.

> Main requirements are:
>
> - orders can be fulfilled (i.e. shipped goods or supplied services) without generating an invoice

This is already supported (will need some fine tuning): when you issue items to a sales shipment, the order is completed but the invoice is only generated when you change the status of the shipment to "picked"; so, if you don't change the status of the shipments you will have more than one shipment pending invoicing.

> - at a regular configurable interval, an invoice is generated for each customer, containing all previously uninvoiced order items.
>

This is not available, and should be easy to implement because the "create invoice" service already support the concept of an invoice containing more than one 'shipment'; also, the invoice PDF already support this (it will print the shipmentId at the beginning of each section).
The service you will have to use for this is "createInvoicesFromShipments" instead of "createInvoicesFromShipment" (the one that is currently used): you will have to pass to it the list of shipments you will put in the invoice.
The steps are the following:
1) retrieve a list of shipments over a date range (fromDate - thruDate) that needs to be invoiced
2) group them by customer (bill to party): every customer will have its own list of shipmentId to be invoiced
3) for each customer you call the createInvoicesFromShipments passing to it the list of shipmentIds

Then, it would be nice to find a cleaner way to trigger (or not) the invoice creation from shipment status... but we can think more about this.
This stuff could definitely go into the trunk, imo.

I hope it helps

Jacopo

> So a customer can order (and receive) 5 widgets on the 5th of the month, and 4 gizmos on the 20th. On the 30th of the month, a single invoice is generated which contains one item for 5 widgets and another item for 4 gizmos. This is similar to staying in a hotel, where eating in the restaurant is charged to your room, and you receive one invoice at the end of your stay listing all your restaurant orders.
>
> So far, I'm thinking of achieving this by:
>
> - putting fulfilled orders into Sent status, without generating an invoice (maybe I need to introduce a Sent status for order items?)
> - creating a service which gathers all order items for a customer that are in Sent status, generates a single invoice for all of them, and sets their status to Completed.
>
> I am still going through the existing system, trying to work out the best places and ways to achieve this.
>
> If there's a better approach I should consider, or anything I need to watch out for, I would greatly appreciate hearing about it!
>
> Cheers,
> Anne.
>
> --
> Coherent Software Australia Pty Ltd
> PO Box 2773
> Cheltenham Vic 3192
> Phone: (03) 9585 6788
> Fax: (03) 9585 1086
> Web: http://www.cohsoft.com.au/
> Email: [hidden email]
>
> Bonsai ERP, the all-inclusive ERP system
> http://www.bonsaierp.com.au/
>

Reply | Threaded
Open this post in threaded view
|

Re: Putting multiple orders on one invoice

Jacopo Cappellato-4
In reply to this post by David E. Jones-2
You are right about this David; on the other hand I know that here in Italy (Europe?) there are tons of companies that will claim that they cannot invoice once per order.
Of course they could, but in that way the work of accountants would be easier and in Europe we like complicated things.

Jacopo

On Dec 17, 2009, at 7:33 AM, David E Jones wrote:

>
> The more common approach is to invoice each order, accumulate invoices throughout the month, and then send a statement (based on a Billing Account for all outstanding invoices).
>
> Is there a reason you don't want to distinguish between invoices and statements?
>
> -David
>
>
> On Dec 16, 2009, at 11:07 PM, [hidden email] wrote:
>
>> Hi
>>
>> I need to have an invoice generated regularly, say once a month or perhaps on demand, for all items ordered by each customer during that month "on account". There doesn't seem to be any support for this at the moment (please point me to it if I'm wrong).
>>
>> I doubt I'm the only one that needs this, so I'd appreciate some advice as to how to implement it so it is unlikely to adversely affect existing functionality, and so it has a chance of being accepted into trunk.
>>
>> Main requirements are:
>>
>> - orders can be fulfilled (i.e. shipped goods or supplied services) without generating an invoice
>> - at a regular configurable interval, an invoice is generated for each customer, containing all previously uninvoiced order items.
>>
>> So a customer can order (and receive) 5 widgets on the 5th of the month, and 4 gizmos on the 20th. On the 30th of the month, a single invoice is generated which contains one item for 5 widgets and another item for 4 gizmos. This is similar to staying in a hotel, where eating in the restaurant is charged to your room, and you receive one invoice at the end of your stay listing all your restaurant orders.
>>
>> So far, I'm thinking of achieving this by:
>>
>> - putting fulfilled orders into Sent status, without generating an invoice (maybe I need to introduce a Sent status for order items?)
>> - creating a service which gathers all order items for a customer that are in Sent status, generates a single invoice for all of them, and sets their status to Completed.
>>
>> I am still going through the existing system, trying to work out the best places and ways to achieve this.
>>
>> If there's a better approach I should consider, or anything I need to watch out for, I would greatly appreciate hearing about it!
>>
>> Cheers,
>> Anne.
>>
>> --
>> Coherent Software Australia Pty Ltd
>> PO Box 2773
>> Cheltenham Vic 3192
>> Phone: (03) 9585 6788
>> Fax: (03) 9585 1086
>> Web: http://www.cohsoft.com.au/
>> Email: [hidden email]
>>
>> Bonsai ERP, the all-inclusive ERP system
>> http://www.bonsaierp.com.au/
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Putting multiple orders on one invoice

David E. Jones-2

I guess that does introduce an interesting dilemma...

BTW, just a quick correction on what I wrote: it's not one invoice per order, but rather one invoice per shipment (ie a shipment may be for a partial order, and can include items from multiple orders).

-David


On Dec 17, 2009, at 1:21 AM, Jacopo Cappellato wrote:

> You are right about this David; on the other hand I know that here in Italy (Europe?) there are tons of companies that will claim that they cannot invoice once per order.
> Of course they could, but in that way the work of accountants would be easier and in Europe we like complicated things.
>
> Jacopo
>
> On Dec 17, 2009, at 7:33 AM, David E Jones wrote:
>
>>
>> The more common approach is to invoice each order, accumulate invoices throughout the month, and then send a statement (based on a Billing Account for all outstanding invoices).
>>
>> Is there a reason you don't want to distinguish between invoices and statements?
>>
>> -David
>>
>>
>> On Dec 16, 2009, at 11:07 PM, [hidden email] wrote:
>>
>>> Hi
>>>
>>> I need to have an invoice generated regularly, say once a month or perhaps on demand, for all items ordered by each customer during that month "on account". There doesn't seem to be any support for this at the moment (please point me to it if I'm wrong).
>>>
>>> I doubt I'm the only one that needs this, so I'd appreciate some advice as to how to implement it so it is unlikely to adversely affect existing functionality, and so it has a chance of being accepted into trunk.
>>>
>>> Main requirements are:
>>>
>>> - orders can be fulfilled (i.e. shipped goods or supplied services) without generating an invoice
>>> - at a regular configurable interval, an invoice is generated for each customer, containing all previously uninvoiced order items.
>>>
>>> So a customer can order (and receive) 5 widgets on the 5th of the month, and 4 gizmos on the 20th. On the 30th of the month, a single invoice is generated which contains one item for 5 widgets and another item for 4 gizmos. This is similar to staying in a hotel, where eating in the restaurant is charged to your room, and you receive one invoice at the end of your stay listing all your restaurant orders.
>>>
>>> So far, I'm thinking of achieving this by:
>>>
>>> - putting fulfilled orders into Sent status, without generating an invoice (maybe I need to introduce a Sent status for order items?)
>>> - creating a service which gathers all order items for a customer that are in Sent status, generates a single invoice for all of them, and sets their status to Completed.
>>>
>>> I am still going through the existing system, trying to work out the best places and ways to achieve this.
>>>
>>> If there's a better approach I should consider, or anything I need to watch out for, I would greatly appreciate hearing about it!
>>>
>>> Cheers,
>>> Anne.
>>>
>>> --
>>> Coherent Software Australia Pty Ltd
>>> PO Box 2773
>>> Cheltenham Vic 3192
>>> Phone: (03) 9585 6788
>>> Fax: (03) 9585 1086
>>> Web: http://www.cohsoft.com.au/
>>> Email: [hidden email]
>>>
>>> Bonsai ERP, the all-inclusive ERP system
>>> http://www.bonsaierp.com.au/
>>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Putting multiple orders on one invoice

Jacopo Cappellato-4
On Dec 17, 2009, at 8:23 AM, David E Jones wrote:

>
> I guess that does introduce an interesting dilemma...
>
> BTW, just a quick correction on what I wrote: it's not one invoice per order, but rather one invoice per shipment (ie a shipment may be for a partial order, and can include items from multiple orders).
>

Yes, I understood what you were saying, no confusion here.

Jacopo

> -David
>
>
> On Dec 17, 2009, at 1:21 AM, Jacopo Cappellato wrote:
>
>> You are right about this David; on the other hand I know that here in Italy (Europe?) there are tons of companies that will claim that they cannot invoice once per order.
>> Of course they could, but in that way the work of accountants would be easier and in Europe we like complicated things.
>>
>> Jacopo
>>
>> On Dec 17, 2009, at 7:33 AM, David E Jones wrote:
>>
>>>
>>> The more common approach is to invoice each order, accumulate invoices throughout the month, and then send a statement (based on a Billing Account for all outstanding invoices).
>>>
>>> Is there a reason you don't want to distinguish between invoices and statements?
>>>
>>> -David
>>>
>>>
>>> On Dec 16, 2009, at 11:07 PM, [hidden email] wrote:
>>>
>>>> Hi
>>>>
>>>> I need to have an invoice generated regularly, say once a month or perhaps on demand, for all items ordered by each customer during that month "on account". There doesn't seem to be any support for this at the moment (please point me to it if I'm wrong).
>>>>
>>>> I doubt I'm the only one that needs this, so I'd appreciate some advice as to how to implement it so it is unlikely to adversely affect existing functionality, and so it has a chance of being accepted into trunk.
>>>>
>>>> Main requirements are:
>>>>
>>>> - orders can be fulfilled (i.e. shipped goods or supplied services) without generating an invoice
>>>> - at a regular configurable interval, an invoice is generated for each customer, containing all previously uninvoiced order items.
>>>>
>>>> So a customer can order (and receive) 5 widgets on the 5th of the month, and 4 gizmos on the 20th. On the 30th of the month, a single invoice is generated which contains one item for 5 widgets and another item for 4 gizmos. This is similar to staying in a hotel, where eating in the restaurant is charged to your room, and you receive one invoice at the end of your stay listing all your restaurant orders.
>>>>
>>>> So far, I'm thinking of achieving this by:
>>>>
>>>> - putting fulfilled orders into Sent status, without generating an invoice (maybe I need to introduce a Sent status for order items?)
>>>> - creating a service which gathers all order items for a customer that are in Sent status, generates a single invoice for all of them, and sets their status to Completed.
>>>>
>>>> I am still going through the existing system, trying to work out the best places and ways to achieve this.
>>>>
>>>> If there's a better approach I should consider, or anything I need to watch out for, I would greatly appreciate hearing about it!
>>>>
>>>> Cheers,
>>>> Anne.
>>>>
>>>> --
>>>> Coherent Software Australia Pty Ltd
>>>> PO Box 2773
>>>> Cheltenham Vic 3192
>>>> Phone: (03) 9585 6788
>>>> Fax: (03) 9585 1086
>>>> Web: http://www.cohsoft.com.au/
>>>> Email: [hidden email]
>>>>
>>>> Bonsai ERP, the all-inclusive ERP system
>>>> http://www.bonsaierp.com.au/
>>>>
>>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Putting multiple orders on one invoice

Anne Jessel
In reply to this post by David E. Jones-2
Hi David

I thought of doing something like this, but discarded it for several reasons. The major one was that, if there is a contract with a customer saying they will be invoiced once a month, then that's what they should get. And that's what the company wants to track. Managing (worst case) 100+ invoices a month per customer becomes awkward. In the situation I'm working on, a customer could purchase some postage stamps in the morning, then use a meeting room in the afternoon, then purchase some coffee for drinks after the meeting. And expect all those items, plus the ones for the other ~29 days of the month, to be on a single invoice at the end of the month.

The key thing from the company's perspective is that none of those purchases during the month are forgotten and hence never invoiced (a problem they currently do have).

I don't really have to use the Order system to do this, but it would make life easier as the company would like to use the ecommerce section so their customers can order their postage stamps etc via it (i.e. get the customer to do the data entry as much as possible).

If it were easy to hide what are really invoices, and make the statement act like an invoice in regard to payments and overdue tracking and payment gateway interaction, then I'd be happy with doing that. But that approach doesn't seem any easier.

If I've got it wrong and hence missed an easy solution, please tell me!

Cheers,
Anne.


2009/12/17 David E Jones <[hidden email]>

The more common approach is to invoice each order, accumulate invoices throughout the month, and then send a statement (based on a Billing Account for all outstanding invoices).

Is there a reason you don't want to distinguish between invoices and statements?

-David


On Dec 16, 2009, at 11:07 PM, [hidden email] wrote:

> Hi
>
> I need to have an invoice generated regularly, say once a month or perhaps on demand, for all items ordered by each customer during that month "on account". There doesn't seem to be any support for this at the moment (please point me to it if I'm wrong).
>
> I doubt I'm the only one that needs this, so I'd appreciate some advice as to how to implement it so it is unlikely to adversely affect existing functionality, and so it has a chance of being accepted into trunk.
>
> Main requirements are:
>
> - orders can be fulfilled (i.e. shipped goods or supplied services) without generating an invoice
> - at a regular configurable interval, an invoice is generated for each customer, containing all previously uninvoiced order items.
>
> So a customer can order (and receive) 5 widgets on the 5th of the month, and 4 gizmos on the 20th. On the 30th of the month, a single invoice is generated which contains one item for 5 widgets and another item for 4 gizmos. This is similar to staying in a hotel, where eating in the restaurant is charged to your room, and you receive one invoice at the end of your stay listing all your restaurant orders.
>
> So far, I'm thinking of achieving this by:
>
> - putting fulfilled orders into Sent status, without generating an invoice (maybe I need to introduce a Sent status for order items?)
> - creating a service which gathers all order items for a customer that are in Sent status, generates a single invoice for all of them, and sets their status to Completed.
>
> I am still going through the existing system, trying to work out the best places and ways to achieve this.
>
> If there's a better approach I should consider, or anything I need to watch out for, I would greatly appreciate hearing about it!
>
> Cheers,
> Anne.
>
> --
> Coherent Software Australia Pty Ltd
> PO Box 2773
> Cheltenham Vic 3192
> Phone: (03) 9585 6788
> Fax: (03) 9585 1086
> Web: http://www.cohsoft.com.au/
> Email: [hidden email]
>
> Bonsai ERP, the all-inclusive ERP system
> http://www.bonsaierp.com.au/
>




--
Coherent Software Australia Pty Ltd
PO Box 2773
Cheltenham Vic 3192
Phone: (03) 9585 6788
Fax: (03) 9585 1086
Web: http://www.cohsoft.com.au/
Email: [hidden email]

Bonsai ERP, the all-inclusive ERP system
http://www.bonsaierp.com.au/


signature.asc (279 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Putting multiple orders on one invoice

Anne Jessel
In reply to this post by Jacopo Cappellato-4
That looks like it might work nicely, Jacopo. Thank you. I had not noticed the "createInvoicesFromShipments" instead of "createInvoicesFromShipment" possibility.

I think I would also need to change the way Service order items work, as they seem to be invoiced at order approval stage, and not wait for a shipment. This is sensible given the way things work at the moment, but not for my needs.

I will need to go through the existing source in more detail to try to understand how this can best be implemented. The part I currently find most difficult is working out the best way to ensure everything will still reliably work the way it does now for most people,  but have a "switch" that will make it work this other way when needed. The easy way isn't the best way. ;-)

If anyone has ideas on better approaches, or improvements to this one, please speak up. In the meantime I'll go through Jacopo's suggestion and the current source in more detail, before posting a more detailed proposal - probably with questions.

Cheers,
Anne.

2009/12/17 Jacopo Cappellato <[hidden email]>
Hi Anne,

please see my comments inline:

On Dec 17, 2009, at 6:07 AM, [hidden email] wrote:

> Hi
>
> I need to have an invoice generated regularly, say once a month or perhaps on demand, for all items ordered by each customer during that month "on account". There doesn't seem to be any support for this at the moment (please point me to it if I'm wrong).
>
> I doubt I'm the only one that needs this, so I'd appreciate some advice as to how to implement it so it is unlikely to adversely affect existing functionality, and so it has a chance of being accepted into trunk.
>

Yes, (unfortunately) this is a strongly used practice in Italy (and I guess Europe) as well: we like to complicate things that could be simpler.

> Main requirements are:
>
> - orders can be fulfilled (i.e. shipped goods or supplied services) without generating an invoice

This is already supported (will need some fine tuning): when you issue items to a sales shipment, the order is completed but the invoice is only generated when you change the status of the shipment to "picked"; so, if you don't change the status of the shipments you will have more than one shipment pending invoicing.

> - at a regular configurable interval, an invoice is generated for each customer, containing all previously uninvoiced order items.
>

This is not available, and should be easy to implement because the "create invoice" service already support the concept of an invoice containing more than one 'shipment'; also, the invoice PDF already support this (it will print the shipmentId at the beginning of each section).
The service you will have to use for this is "createInvoicesFromShipments" instead of "createInvoicesFromShipment" (the one that is currently used): you will have to pass to it the list of shipments you will put in the invoice.
The steps are the following:
1) retrieve a list of shipments over a date range (fromDate - thruDate) that needs to be invoiced
2) group them by customer (bill to party): every customer will have its own list of shipmentId to be invoiced
3) for each customer you call the createInvoicesFromShipments passing to it the list of shipmentIds

Then, it would be nice to find a cleaner way to trigger (or not) the invoice creation from shipment status... but we can think more about this.
This stuff could definitely go into the trunk, imo.

I hope it helps

Jacopo

> So a customer can order (and receive) 5 widgets on the 5th of the month, and 4 gizmos on the 20th. On the 30th of the month, a single invoice is generated which contains one item for 5 widgets and another item for 4 gizmos. This is similar to staying in a hotel, where eating in the restaurant is charged to your room, and you receive one invoice at the end of your stay listing all your restaurant orders.
>
> So far, I'm thinking of achieving this by:
>
> - putting fulfilled orders into Sent status, without generating an invoice (maybe I need to introduce a Sent status for order items?)
> - creating a service which gathers all order items for a customer that are in Sent status, generates a single invoice for all of them, and sets their status to Completed.
>
> I am still going through the existing system, trying to work out the best places and ways to achieve this.
>
> If there's a better approach I should consider, or anything I need to watch out for, I would greatly appreciate hearing about it!
>
> Cheers,
> Anne.
>
> --
> Coherent Software Australia Pty Ltd
> PO Box 2773
> Cheltenham Vic 3192
> Phone: (03) 9585 6788
> Fax: (03) 9585 1086
> Web: http://www.cohsoft.com.au/
> Email: [hidden email]
>
> Bonsai ERP, the all-inclusive ERP system
> http://www.bonsaierp.com.au/
>




--
Coherent Software Australia Pty Ltd
PO Box 2773
Cheltenham Vic 3192
Phone: (03) 9585 6788
Fax: (03) 9585 1086
Web: http://www.cohsoft.com.au/
Email: [hidden email]

Bonsai ERP, the all-inclusive ERP system
http://www.bonsaierp.com.au/


signature.asc (279 bytes) Download Attachment