Hi Alvin
CustomerNumber is the number that is assigned to the Debtor and displayed in the UI.
You can use Debtor_GetNextAvailableNumber to find next available number.
It doesn't make sense to randomize but you might like to number debtors the same across solutions.
ProductNumber is used for the product SKU.
To perform actions on a product or Customer through API you use the Handle ID.
If you have the product number you can use Product_FindByNumber to resolve the Handle
Same goes for debtor: Debtor_FindByNumber
Have a look at https://api.e-conomic.com/secure/api1/EconomicWebService.asmx for a list of functions available.