diff --git a/pkg/delivery/transport/grpc/protobuf_type_converters.microgen.go b/pkg/delivery/transport/grpc/protobuf_type_converters.microgen.go
index aedb4ff8a7612702413760f2a1276153c1571c9e..6961c709da405a34710e76ff6c1ad6f34c218f1b 100644
--- a/pkg/delivery/transport/grpc/protobuf_type_converters.microgen.go
+++ b/pkg/delivery/transport/grpc/protobuf_type_converters.microgen.go
@@ -302,39 +302,11 @@ func ProtoToPtrItemsFilter(protoFilter *itemspb.Filter) (*items.Filter, error) {
 }
 
 func PtrServicesFindOptionsToProto(options *services.FindOptions) (*common.FindOptions, error) {
-	if options == nil {
-		return nil, nil
-	}
-	return &common.FindOptions{
-		Sort:          options.Sort,
-		PageNum:       int32(options.PageNum),
-		PageSize:      int32(options.PageSize),
-		Offset:        int32(options.Offset),
-		Limit:         int32(options.Limit),
-		Fields:        options.Fields,
-		ExcludeFields: options.ExcludeFields,
-	}, nil
+	return services.FindOptionsToPB(options), nil
 }
 
 func ProtoToPtrServicesFindOptions(protoOptions *common.FindOptions) (*services.FindOptions, error) {
-	if protoOptions == nil {
-		return nil, nil
-	}
-	return &services.FindOptions{
-		SortOptions: services.SortOptions{
-			Sort: protoOptions.Sort,
-		},
-		PaginationOptions: services.PaginationOptions{
-			PageNum:  int(protoOptions.PageNum),
-			PageSize: int(protoOptions.PageSize),
-			Offset:   int(protoOptions.Offset),
-			Limit:    int(protoOptions.Limit),
-		},
-		FieldOptions: services.FieldOptions{
-			Fields:        protoOptions.Fields,
-			ExcludeFields: protoOptions.ExcludeFields,
-		},
-	}, nil
+	return services.FindOptionsFromPB(protoOptions), nil
 }
 
 func ListPtrItemsItemToProto(itms []*items.Item) ([]*itemspb.Item, error) {
diff --git a/pkg/items/transport/grpc/protobuf_type_converters.microgen.go b/pkg/items/transport/grpc/protobuf_type_converters.microgen.go
index 0b214cc93c44392ad1490ced7665dd1b595b76b3..d66afe5c164b03e1cecabce26eee845e95ca36d5 100644
--- a/pkg/items/transport/grpc/protobuf_type_converters.microgen.go
+++ b/pkg/items/transport/grpc/protobuf_type_converters.microgen.go
@@ -144,39 +144,14 @@ func ProtoToPtrFilter(protoFilter *pb.Filter) (*service.Filter, error) {
 }
 
 func PtrServicesFindOptionsToProto(opts *options.FindOptions) (*pbcommon.FindOptions, error) {
-	if opts == nil {
-		return nil, nil
-	}
-	return &pbcommon.FindOptions{
-		Sort:          opts.Sort,
-		PageNum:       int32(opts.PageNum),
-		PageSize:      int32(opts.PageSize),
-		Offset:        int32(opts.Offset),
-		Limit:         int32(opts.Limit),
-		Fields:        opts.Fields,
-		ExcludeFields: opts.ExcludeFields,
-	}, nil
+	return options.FindOptionsToPB(opts), nil
 }
 
 func ProtoToPtrServicesFindOptions(protoOpts *pbcommon.FindOptions) (*options.FindOptions, error) {
 	if protoOpts == nil {
 		return nil, nil
 	}
-	return &options.FindOptions{
-		SortOptions: options.SortOptions{
-			Sort: protoOpts.Sort,
-		},
-		PaginationOptions: options.PaginationOptions{
-			PageNum:  int(protoOpts.PageNum),
-			PageSize: int(protoOpts.PageSize),
-			Offset:   int(protoOpts.Offset),
-			Limit:    int(protoOpts.Limit),
-		},
-		FieldOptions: options.FieldOptions{
-			Fields:        protoOpts.Fields,
-			ExcludeFields: protoOpts.ExcludeFields,
-		},
-	}, nil
+	return options.FindOptionsFromPB(protoOpts), nil
 }
 
 func ListPtrItemToProto(items []*service.Item) ([]*pb.Item, error) {
diff --git a/pkg/options/options.go b/pkg/options/options.go
index 066d3f8aa347a4b08fb901c87e2fc9afee7aa15f..d1e7960895bb6239c89c15b4b82968bf33974ae5 100644
--- a/pkg/options/options.go
+++ b/pkg/options/options.go
@@ -95,8 +95,10 @@ func FindOptionsFromPB(protoOpts *commonpb.FindOptions) *FindOptions {
 			Sort: protoOpts.Sort,
 		},
 		PaginationOptions: PaginationOptions{
-			Offset: int(protoOpts.Offset),
-			Limit:  int(protoOpts.Limit),
+			PageNum:  int(protoOpts.PageNum),
+			PageSize: int(protoOpts.PageSize),
+			Limit:    int(protoOpts.Limit),
+			Offset:   int(protoOpts.Offset),
 		},
 		FieldOptions: FieldOptions{
 			Fields:        protoOpts.Fields,
@@ -105,7 +107,7 @@ func FindOptionsFromPB(protoOpts *commonpb.FindOptions) *FindOptions {
 	}
 
 	if fo.Offset == 0 && fo.Limit == 0 && fo.PageSize != 0 {
-		fo.Offset = fo.PageSize * (fo.PageNum - 1)
+		fo.Offset = fo.PageSize * fo.PageNum
 		fo.Limit = fo.PageSize
 	}
 
@@ -127,7 +129,7 @@ func FindOptionsToPB(opts *FindOptions) *commonpb.FindOptions {
 	}
 	if fo.PageSize != 0 && fo.Limit == 0 {
 		fo.Limit = fo.PageSize
-		fo.Offset = fo.PageSize * (fo.PageNum - 1)
+		fo.Offset = fo.PageSize * fo.PageNum
 	}
 	if fo.Limit != 0 && fo.PageSize == 0 {
 		fo.PageSize = fo.Limit
diff --git a/pkg/organizations/transport/grpc/protobuf_type_converters.microgen.go b/pkg/organizations/transport/grpc/protobuf_type_converters.microgen.go
index 2c024a9e6973181ccb5ff683b14be4aaad98792c..9a35f86e871d4e9b7792aa31590fd8f1b1fd0e12 100644
--- a/pkg/organizations/transport/grpc/protobuf_type_converters.microgen.go
+++ b/pkg/organizations/transport/grpc/protobuf_type_converters.microgen.go
@@ -61,33 +61,11 @@ func ProtoToPtrFilter(protoFilter *pb.Filter) (*organizations.Filter, error) {
 }
 
 func PtrServicesFindOptionsToProto(opts *options.FindOptions) (*common.FindOptions, error) {
-	if opts == nil {
-		return nil, nil
-	}
-	return &common.FindOptions{
-		Sort:     opts.Sort,
-		PageNum:  int32(opts.PageNum),
-		PageSize: int32(opts.PageSize),
-		Offset:   int32(opts.Offset),
-		Limit:    int32(opts.Limit),
-	}, nil
+	return options.FindOptionsToPB(opts), nil
 }
 
 func ProtoToPtrServicesFindOptions(protoOpts *common.FindOptions) (*options.FindOptions, error) {
-	if protoOpts == nil {
-		return nil, nil
-	}
-	return &options.FindOptions{
-		SortOptions: options.SortOptions{
-			Sort: protoOpts.Sort,
-		},
-		PaginationOptions: options.PaginationOptions{
-			PageNum:  int(protoOpts.PageNum),
-			PageSize: int(protoOpts.PageSize),
-			Offset:   int(protoOpts.Offset),
-			Limit:    int(protoOpts.Limit),
-		},
-	}, nil
+	return options.FindOptionsFromPB(protoOpts), nil
 }
 
 func ListPtrOrganizationToProto(orgs []*organizations.Organization) ([]*pb.Organization, error) {
diff --git a/pkg/users/transport/grpc/protobuf_type_converters.microgen.go b/pkg/users/transport/grpc/protobuf_type_converters.microgen.go
index 3a73ddd7680439be98f1e8ca6ec0f4dbb70b076a..5f98e2486e50a16049db5ee136cc4d2c943264d7 100644
--- a/pkg/users/transport/grpc/protobuf_type_converters.microgen.go
+++ b/pkg/users/transport/grpc/protobuf_type_converters.microgen.go
@@ -127,27 +127,9 @@ func ProtoToListPtrUser(protoCreates []*pb.User) ([]*service.User, error) {
 }
 
 func PtrServicesFindOptionsToProto(opts *options.FindOptions) (*common.FindOptions, error) {
-	if opts == nil {
-		return nil, nil
-	}
-	return &common.FindOptions{
-		Sort:     opts.Sort,
-		PageNum:  int32(opts.PageNum),
-		PageSize: int32(opts.PageSize),
-	}, nil
+	return options.FindOptionsToPB(opts), nil
 }
 
 func ProtoToPtrServicesFindOptions(protoOpts *common.FindOptions) (*options.FindOptions, error) {
-	if protoOpts == nil {
-		return nil, nil
-	}
-	return &options.FindOptions{
-		SortOptions: options.SortOptions{
-			Sort: protoOpts.Sort,
-		},
-		PaginationOptions: options.PaginationOptions{
-			PageNum:  int(protoOpts.PageNum),
-			PageSize: int(protoOpts.PageSize),
-		},
-	}, nil
+	return options.FindOptionsFromPB(protoOpts), nil
 }