Unable to stack automatic discount and Square Loyalty reward

I’ve noticed that when using Orders API, I’m unable to have an automatic discount applied with a Square Loyalty reward at the same time. The Calculate Order API call seems to always pick the greater monetary discount of the two no matter what. Is this a bug? It seems like it might be since you’re able to stack discounts in the Square apps.

Also in the Calculate Order API response you do see that the automatic discount is applied plus a Square Loyalty reward applied, so it seems Square is recognizing the reward, just not allowing multiple discounts. Below is an example API response, notice the discounts field for the automatic discount and the rewards field for the Loyalty reward.

To make things worse, even if you request a Square Loyalty Reward to apply this to the actual order created later, it still takes points away even if it didn’t actually apply the discount.

Have I overlooked anything in the API?

{
    "order": {
        "location_id": "7NQN05K9MWN92",
        "line_items": [
            {
                "uid": "1d7f5d00-d46e-4089-83dd-f477fefd8cda",
                "catalog_object_id": "SI43KR4XMLDYDLQNMWM7IL4A",
                "catalog_version": 1665623562085,
                "quantity": "1",
                "name": "Mini Burger",
                "variation_name": "Regular",
                "base_price_money": {
                    "amount": 200,
                    "currency": "USD"
                },
                "note": "",
                "gross_sales_money": {
                    "amount": 200,
                    "currency": "USD"
                },
                "total_tax_money": {
                    "amount": 37,
                    "currency": "USD"
                },
                "total_discount_money": {
                    "amount": 60,
                    "currency": "USD"
                },
                "total_money": {
                    "amount": 166,
                    "currency": "USD"
                },
                "variation_total_price_money": {
                    "amount": 200,
                    "currency": "USD"
                },
                "applied_taxes": [
                    {
                        "uid": "6df9a8c5-e5c5-4165-acf8-cdf9154c55ac",
                        "tax_uid": "7AR7B2GXDIV4MK5VTJAABRUJ_0.0_INCLUSIVE",
                        "applied_money": {
                            "amount": 0,
                            "currency": "USD"
                        }
                    },
                    {
                        "uid": "cca53d9c-f86f-4b4b-bf1c-e331c430286c",
                        "tax_uid": "4SDL5TOSUXHJMMSGWHFOYVFK_3.4_ADDITIVE",
                        "applied_money": {
                            "amount": 4,
                            "currency": "USD"
                        }
                    },
                    {
                        "uid": "81ce923a-cc3d-4c91-a21a-a2956eb01ba5",
                        "tax_uid": "HQHT2HLEESFH5OQTPAI7UQBE_7.0_ADDITIVE",
                        "applied_money": {
                            "amount": 9,
                            "currency": "USD"
                        }
                    },
                    {
                        "uid": "e1de001d-dc02-4f46-a796-53ca8d7fd3c4",
                        "tax_uid": "JBVDQANJJIBPELWHRQ5QNY6W_8.25_INCLUSIVE",
                        "applied_money": {
                            "amount": 11,
                            "currency": "USD"
                        }
                    },
                    {
                        "uid": "f12b5156-3b18-486e-a876-01719cae5ade",
                        "tax_uid": "22KNWQX5DJSFMNSLDIZI3F6S_10.0_ADDITIVE",
                        "applied_money": {
                            "amount": 13,
                            "currency": "USD"
                        }
                    }
                ],
                "applied_discounts": [
                    {
                        "uid": "1f5ea264-5068-426e-a1b6-26cae23897f8",
                        "discount_uid": "349391a3-5f41-41ac-8d65-0380fb4aae42",
                        "applied_money": {
                            "amount": 60,
                            "currency": "USD"
                        }
                    }
                ],
                "item_type": "ITEM"
            },
            {
                "uid": "1c8daaa6-70cd-420f-b8a3-aad0954bb426",
                "catalog_object_id": "SI43KR4XMLDYDLQNMWM7IL4A",
                "catalog_version": 1665623562085,
                "quantity": "1",
                "name": "Mini Burger",
                "variation_name": "Regular",
                "base_price_money": {
                    "amount": 200,
                    "currency": "USD"
                },
                "note": "",
                "gross_sales_money": {
                    "amount": 200,
                    "currency": "USD"
                },
                "total_tax_money": {
                    "amount": 36,
                    "currency": "USD"
                },
                "total_discount_money": {
                    "amount": 60,
                    "currency": "USD"
                },
                "total_money": {
                    "amount": 166,
                    "currency": "USD"
                },
                "variation_total_price_money": {
                    "amount": 200,
                    "currency": "USD"
                },
                "applied_taxes": [
                    {
                        "uid": "d002d684-bca1-47d8-adfa-ad779922cee8",
                        "tax_uid": "7AR7B2GXDIV4MK5VTJAABRUJ_0.0_INCLUSIVE",
                        "applied_money": {
                            "amount": 0,
                            "currency": "USD"
                        }
                    },
                    {
                        "uid": "e81d36f4-6dc3-4ed0-844f-8a960a9f9b58",
                        "tax_uid": "4SDL5TOSUXHJMMSGWHFOYVFK_3.4_ADDITIVE",
                        "applied_money": {
                            "amount": 4,
                            "currency": "USD"
                        }
                    },
                    {
                        "uid": "d5e21b5a-7f0e-48c3-bfdb-dfac44d2bdbd",
                        "tax_uid": "HQHT2HLEESFH5OQTPAI7UQBE_7.0_ADDITIVE",
                        "applied_money": {
                            "amount": 9,
                            "currency": "USD"
                        }
                    },
                    {
                        "uid": "f53b2017-159c-4cbe-ace8-e0bc99b24d32",
                        "tax_uid": "JBVDQANJJIBPELWHRQ5QNY6W_8.25_INCLUSIVE",
                        "applied_money": {
                            "amount": 10,
                            "currency": "USD"
                        }
                    },
                    {
                        "uid": "4e9ad9de-0f63-4b11-9b4a-a44714174451",
                        "tax_uid": "22KNWQX5DJSFMNSLDIZI3F6S_10.0_ADDITIVE",
                        "applied_money": {
                            "amount": 13,
                            "currency": "USD"
                        }
                    }
                ],
                "applied_discounts": [
                    {
                        "uid": "36c56d34-9d2a-4a09-9370-b7fca318438d",
                        "discount_uid": "349391a3-5f41-41ac-8d65-0380fb4aae42",
                        "applied_money": {
                            "amount": 60,
                            "currency": "USD"
                        }
                    }
                ],
                "item_type": "ITEM"
            },
            {
                "uid": "5a8b0fa6-8de4-4d3f-b53b-9eb7f2723ff9",
                "catalog_object_id": "SI43KR4XMLDYDLQNMWM7IL4A",
                "catalog_version": 1665623562085,
                "quantity": "1",
                "name": "Mini Burger",
                "variation_name": "Regular",
                "base_price_money": {
                    "amount": 200,
                    "currency": "USD"
                },
                "note": "",
                "gross_sales_money": {
                    "amount": 200,
                    "currency": "USD"
                },
                "total_tax_money": {
                    "amount": 38,
                    "currency": "USD"
                },
                "total_discount_money": {
                    "amount": 60,
                    "currency": "USD"
                },
                "total_money": {
                    "amount": 167,
                    "currency": "USD"
                },
                "variation_total_price_money": {
                    "amount": 200,
                    "currency": "USD"
                },
                "applied_taxes": [
                    {
                        "uid": "d2b1ee56-c252-4f6a-81ab-4fae082a2ff3",
                        "tax_uid": "7AR7B2GXDIV4MK5VTJAABRUJ_0.0_INCLUSIVE",
                        "applied_money": {
                            "amount": 0,
                            "currency": "USD"
                        }
                    },
                    {
                        "uid": "270dfc7a-aecc-4c86-9d29-5075f5557f3a",
                        "tax_uid": "4SDL5TOSUXHJMMSGWHFOYVFK_3.4_ADDITIVE",
                        "applied_money": {
                            "amount": 5,
                            "currency": "USD"
                        }
                    },
                    {
                        "uid": "7b536bf6-fece-4b3f-99cb-61c5d1836740",
                        "tax_uid": "HQHT2HLEESFH5OQTPAI7UQBE_7.0_ADDITIVE",
                        "applied_money": {
                            "amount": 9,
                            "currency": "USD"
                        }
                    },
                    {
                        "uid": "d600d657-3eab-42ba-89db-9f4ba23dd24c",
                        "tax_uid": "JBVDQANJJIBPELWHRQ5QNY6W_8.25_INCLUSIVE",
                        "applied_money": {
                            "amount": 11,
                            "currency": "USD"
                        }
                    },
                    {
                        "uid": "9041faf6-2061-4370-b097-ec007407fb98",
                        "tax_uid": "22KNWQX5DJSFMNSLDIZI3F6S_10.0_ADDITIVE",
                        "applied_money": {
                            "amount": 13,
                            "currency": "USD"
                        }
                    }
                ],
                "applied_discounts": [
                    {
                        "uid": "23bd005c-f833-4b2a-8d65-29745a301e98",
                        "discount_uid": "349391a3-5f41-41ac-8d65-0380fb4aae42",
                        "applied_money": {
                            "amount": 60,
                            "currency": "USD"
                        }
                    }
                ],
                "item_type": "ITEM"
            }
        ],
        "taxes": [
            {
                "uid": "7AR7B2GXDIV4MK5VTJAABRUJ_0.0_INCLUSIVE",
                "name": "Secondary Tax",
                "percentage": "0.0",
                "type": "INCLUSIVE",
                "applied_money": {
                    "amount": 0,
                    "currency": "USD"
                },
                "scope": "LINE_ITEM"
            },
            {
                "uid": "4SDL5TOSUXHJMMSGWHFOYVFK_3.4_ADDITIVE",
                "name": "Card Service Fee",
                "percentage": "3.4",
                "type": "ADDITIVE",
                "applied_money": {
                    "amount": 13,
                    "currency": "USD"
                },
                "scope": "LINE_ITEM"
            },
            {
                "uid": "JBVDQANJJIBPELWHRQ5QNY6W_8.25_INCLUSIVE",
                "name": "Included",
                "percentage": "8.25",
                "type": "INCLUSIVE",
                "applied_money": {
                    "amount": 32,
                    "currency": "USD"
                },
                "scope": "LINE_ITEM"
            },
            {
                "uid": "HQHT2HLEESFH5OQTPAI7UQBE_7.0_ADDITIVE",
                "name": "Sales Tax",
                "percentage": "7.0",
                "type": "ADDITIVE",
                "applied_money": {
                    "amount": 27,
                    "currency": "USD"
                },
                "scope": "LINE_ITEM"
            },
            {
                "uid": "22KNWQX5DJSFMNSLDIZI3F6S_10.0_ADDITIVE",
                "name": "Tax All Locations",
                "percentage": "10.0",
                "type": "ADDITIVE",
                "applied_money": {
                    "amount": 39,
                    "currency": "USD"
                },
                "scope": "LINE_ITEM"
            }
        ],
        "discounts": [
            {
                "uid": "349391a3-5f41-41ac-8d65-0380fb4aae42",
                "catalog_object_id": "SESLETC6RXFPCY5OLTILQCMG",
                "catalog_version": 1606802018633,
                "name": "Buy 3 mini burgers get 30% off",
                "percentage": "30.0",
                "applied_money": {
                    "amount": 180,
                    "currency": "USD"
                },
                "type": "FIXED_PERCENTAGE",
                "scope": "LINE_ITEM",
                "pricing_rule_id": "RNLULXXV2GSGW4AWS5I2MHI3"
            }
        ],
        "created_at": "2022-10-13T01:24:18.580Z",
        "updated_at": "2022-10-13T01:24:18.580Z",
        "state": "OPEN",
        "version": 1,
        "reference_id": "caa8f45e-9d44-4c1e-a072-38854ace428e",
        "total_tax_money": {
            "amount": 111,
            "currency": "USD"
        },
        "total_discount_money": {
            "amount": 180,
            "currency": "USD"
        },
        "total_tip_money": {
            "amount": 0,
            "currency": "USD"
        },
        "total_money": {
            "amount": 499,
            "currency": "USD"
        },
        "total_service_charge_money": {
            "amount": 0,
            "currency": "USD"
        },
        "net_amounts": {
            "total_money": {
                "amount": 499,
                "currency": "USD"
            },
            "tax_money": {
                "amount": 111,
                "currency": "USD"
            },
            "discount_money": {
                "amount": 180,
                "currency": "USD"
            },
            "tip_money": {
                "amount": 0,
                "currency": "USD"
            },
            "service_charge_money": {
                "amount": 0,
                "currency": "USD"
            }
        },
        "rewards": [
            {
                "id": "8054695e-981e-4f49-9b57-814cf3388227",
                "reward_tier_id": "8054695e-981e-4f49-9b57-814cf3388227"
            }
        ],
        "pricing_options": {
            "auto_apply_discounts": true
        },
        "net_amount_due_money": {
            "amount": 499,
            "currency": "USD"
        }
    }
}

I believe this is the expected behavior for discounts and loyalty rewards. It will pick the largest monetary amount. As for the rewards being deducted what’s the loyalty account that you’ve seen this behavior with and the order_id that deducted the points? :slightly_smiling_face:

Why is it possible to stack discounts in Square POS? If it’s possible first-party, we should at least have the option to choose which behavior to go with via API (largest monetary amount vs whatever’s in the order request).

Loyalty account should be 1d39496b-c7a8-485a-b1c0-c3cf92f76f19, order_id WuvzD8guX50eHXBmQyn4wvx881MZY.