diff --git a/errors/errors.go b/errors/errors.go
index e0ead60d2ddd6a1a90a7f4205ac8e4211a920312..0eae331099ed9dd70d372bd1dce4f895aa2eda38 100644
--- a/errors/errors.go
+++ b/errors/errors.go
@@ -64,6 +64,19 @@ func Wrap(err error, msg string) *CustomError {
 	return wrappedErr
 }
 
+func ToCustomError(err error) *CustomError {
+	if err == nil {
+		return nil
+	}
+
+	wrappedErr := &CustomError{
+		caller: GetCaller(2),
+		cause:  err,
+	}
+
+	return wrappedErr
+}
+
 func HTTP(code int, err error, format string, args ...interface{}) *CustomError {
 	wrappedErr := &CustomError{
 		code:    code,