Preheat oven to 350 degrees.
In a Dutch oven, cook the bacon over medium heat, until the bacon is almost crisp. Using a slotten spoon, move the cooked bacon to a paper towel and leave the bacon fat in the pan.
Over medium heat, cook the onions in the remaining bacon fat until they are golden brown.
Stir in the garlic and cook for another minute.
Stir in the ketchup, mustard, maple syrup, and beer and simmer for 10 minutes.
Stir in the the beans, bacon, and ham.
Cover the Dutch oven and bake for one hour.
Uncover and cook for an additional 30 minutes.
If you aren't serving the beans immediately, cool the beans and refrigerate overnight. Stir in 1 cup of water and reheat covered in 350 degree oven, stirring occasionally.