MenuCalc Integration
MenuCalc provides FDA-compliant nutritional analysis for restaurant menus. This integration imports nutrition data directly into EveryBite, keeping your menu nutrition accurate and up-to-date.Overview
What Gets Synced
| MenuCalc Data | EveryBite Field | Notes |
|---|---|---|
| Recipe name | Dish name | Matched by name or ID |
| Calories | nutrition.calories | Per serving |
| Macronutrients | nutrition.protein, etc. | Full macro breakdown |
| Micronutrients | nutrition.vitamins, etc. | When available |
| Allergens | allergens[] | All 9 major allergens |
| Serving size | nutrition.servingSize | As configured |
Setup
Prerequisites
- MenuCalc account with API access
- EveryBite Brand or Chain admin access
- Menu items created in both systems
Step 1: Get MenuCalc API Credentials
- Log into MenuCalc
- Go to Settings → API Access
- Generate an API key
- Copy the API key and secret
Step 2: Enable in EveryBite
Step 3: Map Menu Items
If your dish names don’t match exactly between systems, create mappings:Step 4: Run Initial Sync
Configuration Options
Sync Behavior
Automatic Matching
WhenmatchBy: NAME, EveryBite attempts to match dishes by name:
- Case insensitive: “CAESAR SALAD” = “Caesar Salad”
- Punctuation ignored: “B.L.T.” = “BLT”
- Common abbreviations: “w/” = “with”
Handling New Items
When MenuCalc has items not in EveryBite:Conflict Resolution
When data exists in both systems:| Strategy | Behavior |
|---|---|
OVERWRITE | MenuCalc data replaces EveryBite data |
KEEP_EXISTING | EveryBite data preserved |
MANUAL | Conflicts flagged for review |
Nutrition Data Format
MenuCalc provides comprehensive nutrition data:Handling Customizable Items
For build-your-own dishes, sync component nutrition:Best Practices
Keep names consistent
Keep names consistent
Use identical names in MenuCalc and EveryBite when possible. This makes automatic matching reliable and reduces manual mapping.
Sync after recipe changes
Sync after recipe changes
Trigger a manual sync after updating recipes in MenuCalc to ensure EveryBite reflects the latest nutrition data.
Review before going live
Review before going live
Run syncs in preview mode first:
Monitor sync health
Monitor sync health
Set up webhooks to alert on sync failures:
Troubleshooting
”Item not found in MenuCalc”
The dish exists in EveryBite but not MenuCalc. Either:- Add the recipe to MenuCalc
- Create a manual mapping to a different MenuCalc recipe
- Exclude the item from sync
”Nutrition values differ significantly”
Large differences may indicate:- Different serving sizes
- Recipe was updated in one system
- Wrong items mapped together
”Allergen mismatch”
MenuCalc and EveryBite may categorize allergens differently. Check:- Allergen type mapping in integration settings
- Whether “May Contain” vs “Contains” is handled correctly