Вопрос: Что в себя должна включать поддержка ПО и сколько за это брать денег?

Лучший ответ: Не зная софта тяжело сказать что и как требуется. Но обычно:
1. Гарантийные обязательства обычно включают в себя:
  - Указание срока его предоставления.
  - Исправление критических ошибок
  - Консультирование клиента в рамках функционирования ПО (отдельно можно описать круг тем).
  - Обновлении версий
  - Функционирование ПО в рамках обязательств заключенных в договоре (или приложении ТЗ к нему) или указанных в акте (или иных договоренностей) на момент сдачи ПО. 
  - Иное обслуживание ранее указанное в договоре/акте/... на момент сдачи ПО. Например, Вы договорились что у клиента ориентировочно через 3 мес откроется пару филиалов и Вы настроете ПО на работу с ним.
2. Поддержка может включать в себя обычно: техническое обслуживание, аварийное обслуживание, обучение.
2.1 Аварийное обслуживание. Заранее прописывают 2 вещи: категорию аварии и время реагирования/время устранения + штрафы(не обязательно финансовые, может быть разрыв договора) в случаи нарушения. Например, 
1я категория - не запускается софт (например из-за установки service pack на ОС) время реагирования=30 минут, время устранения=3 часа. 
3я категория - криво сформировался ежегодный отчет (в следствие нарушения данных и т.п.) . Время реагирования=1 час, время устранения=5 раб. дней.
2.2 Техническое обслуживание. Обычно тут "хотелки" (написать небольшой дополнительный функционал, например, добавить ИТОГО,графики + доп колонки в какой-либо отчет) либо доп. требования (например, выгрузка каких-либо данных для налоговой из инет-магазина при изменении законодательства). В договоре опять-же категоризируют такие работы (например: установка дополнительного АРМ, экспорт-импорт данных в XML/JSON/TXT в стороннее ПО ...) и устанавливают доп цены на них принципу:
N штук таких работ выставляют в виде периодической абонплаты, а выше N - по отдельной цене (например, за фиксированную почасовую оплату). Будет хорошо, если вы приложите расценки с указаниям кол-ва часов для решения наиболее возникающих проблем. Также указывают штрафы при нарушении сроков и т.п.
2.3. Обучение. Обычно после сдачи софта разработчик берется:
- Обучить N сотрудников работе с ним в течении X дней.
- При изменении версии (или критическом обновлении) произвести обучении M сотрудникам в течении Y дней.
- Периодически проводить семинары для Z сотрудников не реже S дней в квартал
Все что за пределами этого (и не входит в гарантийные обязательства) - прописывается и категоризируется. Отдельно прописываются права третьих лиц за отдельные виды работ (например, возможность нанимать внештатных инженеров).
Также совет - попросите у знакомых (лучше работающих в иностранных конторах) анонимайзированные (персональные и юр/фин данные забиты ИВан Иванычами и *) договоров продажи ПО с прописанными SLA, приложениями (категории и виды доп работа, бланки-заказов, актов  и т.п.  - сразу станет понятнее.

Худший ответ: Самый понятный подход такой:
вы резервируете для клиента например 8 часов в месяц, по цене в 2-3 раза больше чем ваша часовая ставка. Если он их не израсходовал то они сгорают. Если эти часы расходуются то идёт доплата, которая опять же выше вашей почасовой ставки.
Тут надо находить баланс между часами и стоимость, клиент предоплачивает мало часов поэтому для него сумма не значительна, но вы оба понимаете, что она достаточна, что бы вы отложили свои текущие дела.
Потом смотрите на специфику этого проекта, т.к. поддержка бывает разная от базовой "поддержка только по электронной почте и время реакции на письмо  сутки" до премиальной "время реакции один час, канал связи любой, в любое время суток".  Время и каналы связи рекомендую обговаривать в любом случае.