I have a system in which Procedures can be defined. 
Each Procedure has a series of steps (each step having some attributes) 

It is reasonable to assume that the user will add all of the steps while creating the procedure.

My current approach is using an excel-like grid to enable fast input of the steps.

    Procedure Name
    [Some Name...]

    Name      | Expected Time | Is Invoiced?
    Step 1    | 1 day         | [X]
    Step 2    | 2 days        | []
    add new...               

<!-- Begin mockup: In order to preserve an editable mockup, please
     don't edit this section directly.
     Click the "edit" link below the image in the preview instead. -->


<!-- End mockup -->

I would like to know if this sounds resonable or if there is a better way to solve this problem.

As far a I know, the average procedure has 10-20 steps, and each step can have more than 3 attributes... (although only the Step's name is required)

  [1]: https://gist.github.com/raw/ae5d13d232798337765c/ebf656eab0597573c79ce0d69ef6e539bf01cdee/Balsamiq%20Mockup%20of%20Precedure%20Steps