Shipping Software Integration

Does anyone know if there is any info out on the API services, and what each of them mean/do? Example: I am looking at the CustShipSrvc/ShipDtls and I am having a hard time getting this one to work. So i was looking for info on the particulars of this servc.

As far as I know, there isnt an outright definition\explanation of each BO. Your best bet is to look at them in action, for this case, watch what happens on a Cust Ship Entry screen. You can do this by turning on tracing and doing relevant actions, like adding lines, marking shipped, etc. Also, if you know c#, which I assume you do if you plan to tackle an integration, then you can use a decompiler to look at the shipment entry screen code or even the ship BO code. If you arent at least pretty strong in C#, I wouldn’t bother with the decompiler because it’s just going to confuse you.

Thanks for the info! I am looking at this with the help of the company we want to integrate with and they are much more knowledgeable in C# than I am at this time. Although I am learning! Anyway, I turned the tracing on the BO they were using are not even listed in the API list. I have found out how to do the vast majority of the shipping, I just need the BO that does the inventory adjustments in shipping and to verify the invoice is being created at shipment for the appropriate shipments. All in all, it has been fairly smooth…so far!

Everything is in the CustShipSvc BO. To “Make the Inventory Adjustment” you just need to mark the Pack Shipped.

1 Like

Was there also a ReadyToInvoice or I am confusing that with another BO?

And that is the one I have been playing with. So I am happy I am on the rihgt track. :sweat_smile::grinning: Thank you for the input!

I don’t remember seeing that in CustShipSRvc

CHANGE: Yes it is in the List. ReadyToInvoiceChanged: T/F

I swear this isnt a sales pitch, BUT…

I’d be careful. The learning curve for Epicor development is pretty steep (at least it seemed that way to me). While you can find many good programmers, even people who could figure it out, you may want to employ the help of people versed in Epicor programming. You wouldnt want to pay for the time it takes someone unfamiliar with Epicor to figure it all out. Is this intergration 1 way? E10 -> Shipping Solution?

1 Like

Two ways really, Epicor->Shipping Solution. Then Shipping Solution will write back. I was thinking CustShipSrvc/ShipDtl would be the way to go. But still playing and learning. I am not saying I am an expert, NOPE! But for shipping, at least for what we need, it seems to be fairly decent. But only time and testing will show the error of my ways!:grinning::sweat_smile::thinking: Any info to help is always appreciated!

I think as long as you run the trace, emulating what you need, and follow those calls to the T, you can probably make it happen. Good luck, we’ll help where we can.

1 Like

Hi William,
If you log on to Epicweb > Documentation > Product > Epicor 10, then go to your version > Technical Reference, there is a zip file It has a 30mb chm file which provides and MSDN-style reference to the business object assemblies (and a few ICE ones).


Here is a sample image:

1 Like

I will post here throughout the process with any success, questions, or issues. This way if anybody else wants to know, this may be helpful in the future.

So, in the CustShipSrvc/ShipDtls the list to create is like 305 lines. I know many of these as they are commonly found in tables I mess with. But some I do not recognize. Is there place I can go and find out what each one I don’t know is? Like a reference.

Nevermind, it seems to all be in the ShipHead. I’m jsut to brain fired to actually see it the first time! Can’t wait for Saturday!:rofl::rofl:

We have decided to build queries to call that would have the info in the order we need it. However, as I am building the queries, after only 24 fields, some of which are calculated to have nothing show up in the cell, it says Bad SQL Statement. Here is the statement so far. I do not see any errors.

[OrderRel].[Company] as [OrderRel_Company],
('') as [Calculated_PackNum],
('') as [Calculated_PackLine],
[OrderDtl].[OrderNum] as [OrderDtl_OrderNum],
[OrderDtl].[OrderLine] as [OrderDtl_OrderLine],
[OrderRel].[OrderRelNum] as [OrderRel_OrderRelNum],
[OrderRel].[LineType] as [OrderRel_LineType],
('') as [Calculated_OurInventoryShipQty],
('') as [Calculated_OurJobShipQty],
[JobProd].[JobNum] as [JobProd_JobNum],
('') as [Calculated_Packages],
[OrderDtl].[PartNum] as [OrderDtl_PartNum],
[OrderDtl].[LineDesc] as [OrderDtl_LineDesc],
[OrderDtl].[IUM] as [OrderDtl_IUM],
[OrderDtl].[RevisionNum] as [OrderDtl_RevisionNum],
[OrderDtl].[ShipComment] as [OrderDtl_ShipComment],
('') as [Calculated_ShipCmpl],
[OrderRel].[WarehouseCode] as [OrderRel_WarehouseCode],
[PartBin].[BinNum] as [PartBin_BinNum],
("") as [Calculated_UpdatedInventory],
[OrderDtl].[XPartNum] as [OrderDtl_XPartNum],
[OrderDtl].[XRevisionNum] as [OrderDtl_XRevisionNum],
[OrderRel].[ShpConNum] as [OrderRel_ShpConNum],
[OrderDtl].[TMBilling] as [OrderDtl_TMBilling]
from Erp.OrderHed as OrderHed
inner join Erp.OrderDtl as OrderDtl on
OrderHed.Company = OrderDtl.Company
and OrderHed.OrderNum = OrderDtl.OrderNum
and ( not OrderDtl.PartNum like '%number%' )

inner join Erp.OrderRel as OrderRel on
OrderDtl.Company = OrderRel.Company
and OrderDtl.OrderNum = OrderRel.OrderNum
and OrderDtl.OrderLine = OrderRel.OrderLine
inner join Erp.PartBin as PartBin on
OrderRel.PartNum = PartBin.PartNum
and OrderRel.WarehouseCode = PartBin.WarehouseCode
left outer join Erp.JobProd as JobProd on
OrderDtl.Company = JobProd.Company
and OrderDtl.OrderNum = JobProd.OrderNum
and OrderDtl.OrderLine = JobProd.OrderLine
where (OrderHed.OrderNum = @OrderNum)

Found the issue. On one of the calculated fields had " and not '.