diff --git a/package.json b/package.json
index 3f2ee5a..8ea668a 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "openstack-uicore-foundation",
- "version": "5.0.18-beta.1",
+ "version": "5.0.19-beta.1",
"description": "ui reactjs components for openstack marketing site",
"main": "lib/openstack-uicore-foundation.js",
"scripts": {
diff --git a/src/components/index.js b/src/components/index.js
index b227454..6e956bb 100644
--- a/src/components/index.js
+++ b/src/components/index.js
@@ -76,7 +76,7 @@ export {useSnackbarMessage} from './mui/SnackbarNotification/Context'
export {default as MuiInfiniteTable} from './mui/infinite-table'
export {default as MuiEditableTable} from './mui/editable-table/mui-table-editable'
export {default as MuiTable} from './mui/table/mui-table'
-export {TotalRow as MuiTotalRow, NotesRow as MuiNotesRow, FeeRow as MuiFeeRow, PaymentRow as MuiPaymentRow, RefundRow as MuiRefundRow} from './mui/table/extra-rows'
+export {TotalRow as MuiTotalRow, NotesRow as MuiNotesRow, FeeRow as MuiFeeRow, PaymentRow as MuiPaymentRow, RefundRow as MuiRefundRow, DiscountRow as MuiDiscountRow} from './mui/table/extra-rows'
export {default as MuiFormikAsyncSelect} from './mui/formik-inputs/mui-formik-async-select'
export {default as MuiFormikCheckboxGroup} from './mui/formik-inputs/mui-formik-checkbox-group'
export {default as MuiFormikCheckbox} from './mui/formik-inputs/mui-formik-checkbox'
diff --git a/src/components/mui/table/extra-rows/DiscountRow.jsx b/src/components/mui/table/extra-rows/DiscountRow.jsx
new file mode 100644
index 0000000..4e0d84b
--- /dev/null
+++ b/src/components/mui/table/extra-rows/DiscountRow.jsx
@@ -0,0 +1,62 @@
+/**
+ * Copyright 2026 OpenStack Foundation
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * */
+
+import React from "react";
+import T from "i18n-react/dist/i18n-react";
+import TableRow from "@mui/material/TableRow";
+import TableCell from "@mui/material/TableCell";
+import Typography from "@mui/material/Typography";
+import { currencyAmountFromCents } from "../../../../utils/money";
+
+
+const DiscountRow = ({ discount, discountTotal, colGap = 2, trailing = 0 }) => {
+
+ if (discountTotal === 0) return null;
+
+ return (
+
+ {T.translate("mui_table.dis")}
+
+
+ {T.translate("mui_table.discount")}
+
+
+ {[...Array(colGap)].map((_, i) => (
+ // eslint-disable-next-line react/no-array-index-key
+
+ ))}
+
+
+ {discount}
+
+
+
+
+ -{currencyAmountFromCents(discountTotal)}
+
+
+ {[...Array(trailing)].map((_, i) => (
+ // eslint-disable-next-line react/no-array-index-key
+
+ ))}
+
+ );
+};
+
+export default DiscountRow;
diff --git a/src/components/mui/table/extra-rows/NotesRow.jsx b/src/components/mui/table/extra-rows/NotesRow.jsx
index b25cfdf..a71d4d4 100644
--- a/src/components/mui/table/extra-rows/NotesRow.jsx
+++ b/src/components/mui/table/extra-rows/NotesRow.jsx
@@ -15,15 +15,22 @@ import TableCell from "@mui/material/TableCell";
import TableRow from "@mui/material/TableRow";
import * as React from "react";
import { Typography } from "@mui/material";
+import T from "i18n-react";
-const NotesRow = ({ colCount, note }) => (
+const NotesRow = ({ colCount, note, showCode = false }) => {
+ const colSpan = showCode ? colCount - 1 : colCount;
+ return (
-
-
+ {showCode && (
+ {T.translate("mui_table.note")}
+ )}
+
+
{note}
);
+}
export default NotesRow;
diff --git a/src/components/mui/table/extra-rows/index.js b/src/components/mui/table/extra-rows/index.js
index 18f36ef..a0f9c1d 100644
--- a/src/components/mui/table/extra-rows/index.js
+++ b/src/components/mui/table/extra-rows/index.js
@@ -16,3 +16,4 @@ export { default as NotesRow } from "./NotesRow";
export { default as FeeRow } from "./FeeRow";
export { default as PaymentRow } from "./PaymentRow";
export { default as RefundRow } from "./RefundRow";
+export { default as DiscountRow } from "./DiscountRow";
diff --git a/src/i18n/en.json b/src/i18n/en.json
index 262b913..a6ccb50 100644
--- a/src/i18n/en.json
+++ b/src/i18n/en.json
@@ -65,7 +65,10 @@
"ref": "REF",
"refund": "Refund",
"payfee": "PAYFEE",
- "amount_due": "AMOUNT DUE"
+ "dis": "DIS",
+ "discount": "Discount",
+ "amount_due": "AMOUNT DUE",
+ "note": "NOTE"
},
"meta_fields": {
"delete_value_warning": "Please verify you want to delete the added value",