Lo primero es la elicitación de requisitos, si no la haces, estás perdido. Tienes que saber QUÉ quiere de verdad el comprador. Y eso ya se cobra. De tirón, es un servicio. Aunque sean 20€, tu los metes en la factura final, que es tu tiempo y tus conocimientos. Luego le tienes que hacer un software que le de 100% lo que quiere. Si no, se sentirá estafado, y con razón. El cliente no tiene que saber informática, de hecho, ni siquiera tiene que saber lo que quiere. Eres tú el que debe decirle lo que quiere o lo que le conviene para su negocio, y eso compañero se llama "modelo de negocio". Así que te toca "saber de qué curra el tipo, cómo curra y qué es informatizable y qué no es informatizable". Eso, también se cobra. Porque es tu tiempo en su empresa para ver cómo funcionan y qué deberían tener.
Y luego viene el MANTENIMIENTO y SOPORTE. Que precisamente, ninguna de las dos fases es para "arreglar cosas". La corrección del software se hace en fase de desarrollo (dependiendo si lo haces con ciclos de vida iterativo, modular, incremental, o simplemente "a la buena de Dios"). Jamás le podrás cobrar por un "cambio" si no has hecho la elicitación. Y eso es lo que es: un contrato donde dice "tu querías esto, y aquí lo tienes".
Cliente: "No, es que el fondo lo quiero en Rosa".
Tú con elicitación: "eso no es lo que usted dijo, así que... a pagar".
Tú sin elicitación: "eso no es lo que usted dijo..." "¿Cómo que no? Claro que sí!".
Dejalo muy, muy claro desde el principio. Cuando tengas hecho eso, asegúrate varias veces. Esto evita malos entendidos y que eches horas "extras" para "retocar o terminar". Explicale que todo lo que no vaya en la elicitación, es más desarrollo software y más dinero que tiene que poner.
Añadir nuevas funcionalidad es soporte y mantenimiento (a veces). Por eso también se cobra. "Añadir" cosas porque el cliente "pensaba, creía" se llama trabajar gratis. Y crea mal rollo por un lado y por el otro.
Es mi consejo.
Y para cobrarlo, pues así en plan amateur... yo menos de 300€ no cobraba, de hecho, ni me movía a hacerle el modelo de negocio ni la elicitación. Y tiene que ser algo que lo monte en un pispas. Piensa que a poco que uses alguna herramienta comercial, legalmente deberías de tener licencias por las que deberías pagar. Y si picas desde 0, más de lo mismo.
Si le parece mucho, tendrá que buscar otro amateur que le haga lo que quiere, pero tu conservas tu caché y tu profesionalidad. Si el otro quiere vender oro a precio de ganga, es su problema. Y si no tiene dinero para más, tendrá que ahorrar como todo hijo de vecino cuando quiere algo y no tiene para pagarlo.
Y si "un profesional" le cobra lo mismo, dile literalmente "vaya usted al profesional". Que ya te digo yo que es un farol y te lo dicen para sacarte el mínimo posible

.
No tires el precio a no ser que tengas que COMER de ello y ese mes no llegues.
No te olvides de que el código debe de ser eficiente, las herramientas legales, todo el código legible, comentado y documentado. Más el "manual" de instrucciones o su "soporte in situ" para enseñarles a usar el sistema. Todo eso se cobra.
300€ es de risa. A poco que cobres 10€ la hora x 1 día que desarrolles 8 horas, 80€. Más el día de la elicitación, la documentación, otro para el modelo de negocio, otro para explicar el funcionamiento... ya te digo, que no le ganas por ese dinero.
Eso si quieres algo "profesional" que el tipo diga "este tío es la caña". Si quieres montarle una BD, una consulta, se lo explicas, pin pan, vamonos que nos vamos... 300€ es un buen precio.
Y sí, en el soporte es donde más se gana, una megaempresa está dispuesta a pagarla. Una pymes o una mini-pyme... acudir al soporte les significa "menudo paliza el informático que hizo esta mierda". Así que más vale cobrar fuerte y dar algo bueno, a cobrar a medias esperando un soporte que va a ser un problemón. Más la paliza que es para ti cada 2 x 3 arreglar cosas.