diff --git a/src/components/DetailExchangeRate.js b/src/components/DetailExchangeRate.js
new file mode 100644
index 000000000..2b7399e99
--- /dev/null
+++ b/src/components/DetailExchangeRate.js
@@ -0,0 +1,33 @@
+import React from 'react';
+import { DetailItem } from 'components';
+import intl from 'react-intl-universal';
+
+import { useSelector } from 'react-redux';
+import { createSelector } from 'reselect';
+import { isEqual } from 'lodash';
+
+const organizationBaseCurrecy = createSelector(
+ (state) => {
+ const tenantId = state.authentication.tenantId;
+ return state.organizations.data[tenantId];
+ },
+ (organization) => organization?.base_currency,
+);
+
+export function ExchangeRateDetailItem({
+ // #ownProps
+ exchangeRate,
+ toCurrency,
+}) {
+ const fromCurrency = useSelector(organizationBaseCurrecy);
+
+ if (isEqual(fromCurrency, toCurrency)) {
+ return null;
+ }
+
+ return (
+
+ 1 {fromCurrency} = {exchangeRate} {toCurrency}
+
+ );
+}
diff --git a/src/components/index.js b/src/components/index.js
index ffc51e6d2..642e27e4c 100644
--- a/src/components/index.js
+++ b/src/components/index.js
@@ -55,6 +55,7 @@ import AvaterCell from './AvaterCell';
import { ItemsMultiSelect } from './Items';
import MoreMenuItems from './MoreMenutItems';
import CustomSelectList from './CustomSelectList';
+import { ExchangeRateDetailItem } from './DetailExchangeRate';
export * from './Dialog';
export * from './Menu';
@@ -169,4 +170,5 @@ export {
AvaterCell,
MoreMenuItems,
CustomSelectList,
+ ExchangeRateDetailItem,
};
diff --git a/src/containers/Drawers/InvoiceDetailDrawer/InvoiceDetailHeader.js b/src/containers/Drawers/InvoiceDetailDrawer/InvoiceDetailHeader.js
index 144dab077..2d4f76a36 100644
--- a/src/containers/Drawers/InvoiceDetailDrawer/InvoiceDetailHeader.js
+++ b/src/containers/Drawers/InvoiceDetailDrawer/InvoiceDetailHeader.js
@@ -13,6 +13,8 @@ import {
CommercialDocHeader,
CommercialDocTopHeader,
CustomerDrawerLink,
+ // DetailExchangeRate,
+ ExchangeRateDetailItem,
} from 'components';
import { useInvoiceDetailDrawerContext } from './InvoiceDetailDrawerProvider';
import { InvoiceDetailsStatus } from './utils';
@@ -59,6 +61,10 @@ export default function InvoiceDetailHeader() {
{invoice.invoice_no}
+
diff --git a/src/lang/en/index.json b/src/lang/en/index.json
index 1bd878cda..d80b28b0c 100644
--- a/src/lang/en/index.json
+++ b/src/lang/en/index.json
@@ -1222,6 +1222,7 @@
"invoice.details.payment_amount": "Payment amount",
"invoice.details.invoice_message": "Invoice Message",
"invoice.details.invoice_no": "Invoice #",
+ "invoice.details.exchange_rate": "Exchange rate",
"bill.drawer.title": "Bill details {number}",
"bill.details.reference": "Reference #",
"bill.details.bill_number": "Bill #",