How to handle when the shipment and the invoice fall into different months

So my opinion is this isn’t a valid request, and there isn’t any reasonable way to do it anyway. . . . but maybe others have a different opinion or I am missing something in my analysis. Here is the scenario:

  • Shipment is created in customer shipment entry and physically packed. It is marked shipped to facilitate printing the pack slip.

  • The inventory transaction occurs on this date, i.e. COGs is incurred

  • When the customer is ready to pick up the order, they will provide the BOL. This can be one or more days later. Then the truck physically takes the order.

  • Now the shipment is invoiced, and the revenue transaction occurs, potentially in a different month from the COGS

Request is to have the inventory transaction post to the GL on the invoice date not the date when the pack is marked shipped.

Suggestion made so far is to unmark it shipped after printing the pack slip, then, when BOL is received (which triggers invoicing), go back and remark shipped at that time. This suggestion was rejected (“too much work”).

Thoughts?

Can’t you print the packing slip and not mark the shipment as shipped? It asks the user, and they can simply answer “no”.

To me, the inventory still being on site but not in the system would be an issue if there was ever any auditing done…

I agree, but they want the shipping person to mark it shipped and then never have to touch it again. (even when it has not been picked up yet)

@aosemwengie1 , are you public?

Yes

I would look at using the shipment staging functionality. I think that would be the easiest way to do it.

5 Likes

Since it’s Finance driving this request, I would suggest they enter an accrual (reversing entry) for the COGS to move it out of the previous month and into the next month. That way, shipping can mark it shipped and never touch it again. :wink:

5 Likes

While contemplating this, I thought of both @jkane and @Mark_Wonsil’s suggestions. to take it a step further, a “Shipped not Invoiced” report would almost write the accrual entry for them.

Also, depending on your actual physical process, you could actually create the invoice at time of shipment, and not post it until the BOL arrives. It may force accounting to change the apply dates so payment discounts/terms would be correct but it’s something else to explore.

4 Likes

You could also set up a Customer Managed Inventory site if you are multi-site. Ship it there and then Invoice when it leaves that Site.

We use the procedures suggested and raise the Shipment but we don’t mark as Shipped until the haulier has actually collected. We also change the Ship Date to match the date of collection so that inventory and invoicing all match. We do have a customisation that records the orginal ship date for OTIF purposes as some of our customers send in their own transport.

2 Likes

Actually, I would double check with Accounting, but GAAP may allow you to invoice if the customer is picking up/sending truck. It would all depend on the terms of the sale I think, but putting it in a CMI location may satisfy the accounting requirements to bill. :man_shrugging:t2:

Only because I lived through it, Revenue Recognition is not GAAP per se but ASC 606 or IFRS 15.

And from what I recall, matching costs to revenue was a big deal.

1 Like

Unfortunately this is standard GAAP and I don’t understand why the hell it hasn’t changed. Most companies I know just use a reversible journal entry to make this.

Once a mount they make the JE, then reverse it next month… Its obnoxious.

We created a “waiting for pick up” checkbox in Customer Shipment entry that allowed us to filter the order out of shipping reports and dashboards so the warehouse didn’t think the order still needed to be filled. Then we would put the item in a specific spot so the warehouse knew to ship the item in the system when someone came to pick it up. The actual inventory transaction would happen at this time.
Its a workaround and the warehouse needs to touch it twice in Epicor, but its what we came up with years ago without any better option. It also allowed us to have base reports off of, to remind sales to have their customer pick the item up.

Using the staging capability is how most of my clients handle this. Following the principle of “tell the system what you are actually doing when you actual do it”, the pack is marked “shipped” when it actually ships (i.e. when it leaves your warehouse).

Do all the steps short of marking shipped (physical packing, printing paperwork, etc.), give it a stage name something appropriate (maybe use customer’s name), and set it aside in the area where it will wait for the customer to pick it up. When they do, do Stage Ship Confirm and it will be marked shipped.

This gives you good visibility to what is actually in the building, and the system matches the physical reality.

4 Likes

We wanted to use this feature as most of our LTL shipments are Packed/Crated and ready for pickup and then physically set in an aisle designated for the specific carrier. We may have 5 sales orders going to various customers by that carrier so it made sense. Then we setup QuickShip and it doesn’t support staging, so we are jammed up there. I’m still not certain how we are going to handle that issue. @jkane makes a good point. If the delivery terms of the contract are EXW Ex-Works, Supplier Facility, the goods are technically “delivered” and you would be able to invoice for them as long as the payment terms align with “delivery” and not “acceptance” or “upon receipt,” – when I served as Contract Manager with a capital equipment OEM back in 2002, we wrote payment terms that included a large progress payment at “Notification of Readiness to Ship,” in the event we were handling the trafficking. So, delivery terms would be FOB, Major US Seaport and payment terms would be tied to our notification of readiness to ship so we would not be delayed in our invoicing/payment should the vessel be stuck outside of the Port in queue or some other issue.

Yes I agree marking shipped when its actually shipped is correct which was the first thing I told them to do. Unfortunately they aren’t willing to consider it. I do appreciate all the suggestions though!

Those are all interesting work arounds.
However, Epicor has standard functionality for this. I have used it when shipping FOB Destination (like many of us do for sales to US Military).
In company config, if you check the “Use AR Clearing” check box, then when you mark something as shipped, the COS posts to whatever account you have on the AR Clearing context in your GL Control(s).
Then, when you invoice, you will get an entry to move the COGS from AR Clearing to whatever account(s) you have on the COGS contexts in your GL Control(s).
It appears that your finance group is already doing the extra effort that this process requires which is being selective about which shipments to invoice when.

Why did I never learn this?? Thanks!

I do agree with Jeff that staging is the “right” way to do this, but I also understand that people sometimes have valid reasons for doing it another way.
Either method (staging, or AR Clearing) would seem to meet the stated needs.