Best approach for adding shipping charge to sales transactions?

Wondering what is considered the best/better way or how are people handling adding a shipping/postage fee to sales transactions in ERPNext?

As far as I can gather, it can be added as a line item or added in the Sales Taxes and Charges section beneath the item table.

If added as a line item, this allows GST to be included in the rate, which we want in our case. However, even though it is configured as a ‘Service’ item, it will then display in any related packing and delivery note documents, which we’d rather not have.

If added in the Sales Taxes and Charges section instead, it won’t show in the packing and delivery note documents, but then we can’t seem to configure it so that tax is included in the rate entered, which means the GST calculation for the total amount of the order including the shipping charge is not correct.

Have you tried playing with the Tax/Charge type? If I’m understanding your goals correctly, you should be able to do what you want with the “On Previous Row Total” type.

  • Set the shipiping charges to “Actual”
  • Set the tax to “On Previous Row Total”

The tax should then include the shipping charges in its calculations.

(As always, double check the accounting entries being made to make sure they match your intentions.)

Thank you for your response, much appreciated.

The problem there and what I am struggling with is that the tax is being added to the previous total. Our prices are tax inclusive (including the shipping) so we need it to be included in the rate. To use your example, rather than the tax amount of 110 being added to 1100 to make the order total 1200, we’d need the order total to remain as 1100 and for the tax to be included in that.

Hence why perhaps entering it as a line item is better for this but then, as I said above, we have the issue of it appearing in the item list on delivery documents!?

Ah, I see.

There’s a setting in the Taxes and Charges child doctype to specify that a tax is included in the printed rate (see below)…

…but that calculates against the net total (not net total plus other taxes and charges). I think that’s the correct design, because otherwise the accounting would get pretty weird.

If you need to collect GST on shipping and also consider the GST to be included in the listed rate, it makes sense to treat shipping as an invoiced service rather than an additional charge. It should be possible to include only some items and not others on pick-lists and delivery notes, but I’m not familiar offhand.

Alternately, if you want to keep shipping classified as a charge, you could always break GST into two parts (one for the actual invoiced items and one for the shipping).

Thanks again peterg for your responses and help with this. I think that adding it as a line item is probably going to be the easier / more straightforward way.

If anyone out there does know how to / whether it’s possible to not include service items on pick-lists and delivery notes, please let me know!

I just tested, and in my installation at least non-stock items don’t show up on the pick-lists I generate. Are your service items still listed as “Has Stock” in the doc definition by any chance?

For delivery notes, I think the issue is a bit more complicated. Conceptually, I find it incongruent to have items that appear on sales orders but not on delivery notes. The idea that orders, invoices, delivery notes, etc. all match is fundamental to how I understand those documents to work.

If you really want to do it that way, though, it should be possible to write a relatively trivial server script that would mark all items classified as “Services” as delivered when the sales order is submitted. I think that would ensure they don’t show up on delivery notes.

Thanks again peterg for this discussion.

To give some context, we are looking at moving to ERPNext from other software, and I understand that that might require adjusting some of our processes to fit in with how ERPNext works, however I’m trying to wrap my head around how this will practically work for us. Currently when we add postage/shipping as a ‘service’ line item, it then doesn’t show up on the packing and delivery documents because, well, it’s not a ‘physical’ product that we ship out. But then of course it does still get invoiced.

From what I can gather in my testing so far with ERPNext, if you add shipping as a ‘service’ line item you still need to ‘deliver’ it in order to complete the Sales Order. In cases where you are part-fulfilling an order until it it is completed, you then have the situation where that shipping line, which is one amount for the entire order, has to be just randomly ‘delivered’ with one of the deliveries. As I said, I’m trying to think about this from the perspective of processes and best flow we would have to adopt. We could use the pick list to create a ‘slip’ that goes into the parcels for the customer and, as you rightly point out, the shipping line would not be included on any of those. However, if we only did that and forwent the delivery step, then in the system we’d see a Sales Order with ‘% picked’ but not the ‘%delivered’. (Unless perhaps we just manually close the order after all items are delivered?)

If the shipping were to be added in the Sales Taxes and Charges table (I get the feeling this is intended as the ‘right’ place to add it in ERPNext?) then we don’t have the above issues but then we have the GST not included / calculated correctly issue as described above. We could workaround it as you have suggested by adding the shipping charge ex-GST and then adding the third line but this just seems a bit convoluted and cumbersome, especially when you are trying to think through the simplest way for users entering orders into the system, and then you also end up with the overall GST amount listed in two parts on the invoices, which for us would be a bit strange for customers.

I guess at this stage, it’s fair to say I’m a bit confused about it :slight_smile: It would be good if the Sales Taxes and Charges section could better handle tax-inclusive pricing.

I understand your preference for treating shipping as a charge rather than a service. I’m a bit confused, though, about how you would want to a charge to adjust both sales items and other charges simultaneously. I can’t picture what the accounting for that would look like. Can you provide a debit/credit table showing how such an invoice should be booked?