Remove any stones or dirt from the beans. Cover with cold water and soak overnight.
Drain and rinse thoroughly. In a pot, add the beans and cover with vegetable stock. Add the onion and salt. Cook beans until soft; the cooking time depends on the bean used, but around one hour. Let the beans sit in the cooking liquid until cold. Drain off liquid.
In a food processor, add the cooked beans and all the other ingredients. Process until creamy. Refrigerate until ready to use, or freeze in smaller portions using freezer bags.
Beans are highly perishable and should be used within three days.