diff --git a/web-jspack/org.openbravo.core2/src/components/VirtualNumericInput/VirtualNumericInput.jsx b/web-jspack/org.openbravo.core2/src/components/VirtualNumericInput/VirtualNumericInput.jsx
index 894ca388..92c2d9a2 100644
--- a/web-jspack/org.openbravo.core2/src/components/VirtualNumericInput/VirtualNumericInput.jsx
+++ b/web-jspack/org.openbravo.core2/src/components/VirtualNumericInput/VirtualNumericInput.jsx
@@ -64,7 +64,8 @@ const VirtualNumericInput = ({
   horizontalPosition = 'right',
   shouldOpenPopOverOnRender = false,
   iconClass = '',
-  errorMessage = ''
+  errorMessage = '',
+  showErrorWhenEmpty = true
 }) => {
   const inputRef = useRef(null);
   const initAnchorEl = () => {
@@ -158,7 +159,7 @@ const VirtualNumericInput = ({
   };
 
   const getContentValue = () => {
-    return `${getLocalValue()} ${symbol}`;
+    return getLocalValue() !== '' ? `${getLocalValue()} ${symbol}` : null;
   };
 
   const hasEmptyLocalValue = () => {
@@ -205,7 +206,10 @@ const VirtualNumericInput = ({
       onKeyDown={onKeyDownAction}
     >
       <BaseFormInput
-        error={hasEmptyLocalValue()}
+        error={
+          (required && hasEmptyLocalValue() && showErrorWhenEmpty) ||
+          errorMessage
+        }
         errorMessage={errorMessage}
         value={getContentValue()}
         inputRef={inputRef}
@@ -255,7 +259,8 @@ VirtualNumericInput.propTypes = {
   required: PropTypes.bool,
   shouldOpenPopOverOnRender: PropTypes.bool,
   iconClass: PropTypes.string,
-  errorMessage: PropTypes.string
+  errorMessage: PropTypes.string,
+  showErrorWhenEmpty: PropTypes.string
 };
 
 export default VirtualNumericInput;
