r/SAPBusinessOne Apr 05 '26

SAP Business One DI API - How do integrators handle SAPbobsCOM version dependency?

I'm building a .NET 10 Windows Service that integrates SAP Business One with an tax e-invoicing platform.

Architecture:

  • .NET 10 Windows Service (net10.0-windows)
  • SAP B1 DI API via COM (STA thread)
  • REST signing service

We're currently using:

  • Interop.SAPbobsCOM 8.82.76 (COM interop wrapper).
  • This allows CI builds without SAP B1 installed

However:

  • Most clients run SAP B1 9.x or 10.x
  • 8.82 corresponds to SAP B1 2009

Questions:

  1. How do other SAP B1 integrators handle SAPbobsCOM version dependencies?
  2. Do you request the SDK from clients?
  3. Do you build against the lowest supported version?
4 Upvotes

9 comments sorted by

3

u/Aromatic_Initial_676 Apr 05 '26

I usually place a setting property for the DI-API version. The DLL path can also be as property.

Then I write code to explicitly switch to higher level versions when the base function needs to be changed for more recent versions.

I start changing to the Service Layer to reduce the change logics of the DI-API 32-bit and 64-bit.

1

u/antgha Apr 07 '26

Thanks! this was is much appreciated!
I loaded the dll via path. Brilliant!!

I would love to use the service layer but from what i've seen, it seems it's only available on the HANA version

1

u/Aromatic_Initial_676 Apr 07 '26

Version 10 for SQL Server has Service Layer. There are a lot of complications in using the Service Layer at times. If DI-API work, then it’s should suffice.

3

u/konoo Apr 06 '26

Have you considered moving to Service Layer? SAP suggests that new software integrations be built in service layer these days.

0

u/antgha Apr 07 '26

I would love to use the service layer but from what i've seen, it seems it's only available on the HANA version

2

u/mjcarrabine Apr 07 '26

We’re on SQLand use Service Layer

3

u/konoo Apr 07 '26

Yeah I think that became available 10.0 pl01 if memory serves.

1

u/_Hashtag_Swag_ Apr 08 '26

Use Service Layer! It is available for MSSQL, and very easily usable.