Skip to content
This repository has been archived by the owner on Jan 31, 2022. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

📝 Proposal Plugin for Grav CMS

This plugin provides additional functionality to Grav that could help you avoid the pains of a traditional sales process:

  1. Write your proposal as a .doc or .pdf
  2. Email it your client
  3. Wait for a response...
  4. If they agree, wait for them to bank transfer a deposit...

You can make it easier for your client to say yes to whatever you are proposing if you:

  1. Write your proposal as a 🔐 page on your website
  2. Support your words with embedded media 📹🖼️
  3. Let them instantly agree & pay the deposit by 💳

This idea isn't completely new as a number of paid online proposal services already exist. See how you could achieve comparable results with Grav & the Proposal Plugin:

Features grav-plugin-proposal
Responsive Template ☑️ ☑️ ☑️ ☑️
Define a Cover Image 🖼️ ☑️ ☑️ ☑️ ☑️
Include private media 🤐 ☑️
Pay a deposit with Stripe 💳 ☑️ ☑️ ☑️ ☑️
🍎 Pay (& others) ☑️
Digital Signature ✍️ ☑️ ☑️ ☑️
Custom domain 🌐 ☑️ ☑️ ☑️ ☑️
Free & unlimited users 👥 ☑️
Free & unlimited proposals 📝 ☑️

How it works

After you have installed the Proposal Plugin, add your Stripe Publishable & Secret keys - this can be done through the Admin Panel:


Then set what currency you want to receive deposits in:


⚠️ To support Apple Pay you need to complete an additional verification step

Now you'll be able to write your proposals in markdown ( that will use a self-contained template (proposal.html.twig) to transform them into attractive pages that look & read great on any device.


Template features

  • table of contents (inc. smooth scroll to sections) generated from ## ### section headings in your proposal
  • images/video can stretch to full width (
  • uses system fonts for performance
  • > make quotes that stand out
  • highlight important points with <mark>Important Point</mark>

Proposal options

  • Select an image to cover the opening section
  • Decide how much of a deposit you want the client to make to accept the proposal in the page frontmatter e.g. deposit: 700
  • Choose who you want to be able to access the page, thanks to the Login plugin


End result



Installing the Proposal plugin can be done in one of three ways. If you use the Grav Admin Panel the Proposal plugin should be available to install within a few clicks. The GPM (Grav Package Manager) installation method enables you to quickly and easily install the plugin with a simple terminal command, while the manual method enables you to do so via a zip file.

GPM Installation

Install the Proposal plugin via the Grav Package Manager (GPM) through your system's terminal (also called the command line). From the root of your Grav install type:

bin/gpm install proposal

This will install the Proposal plugin into your /user/plugins directory within Grav. Its files can be found under /your/site/grav/user/plugins/proposal.

Manual Installation

To install this plugin, just download the zip version of this repository and unzip it under /your/site/grav/user/plugins. Then, rename the folder to proposal. You can find these files on GitHub or via

You should now have all the plugin files under



Before configuring this plugin, you should copy the user/plugins/proposal/proposal.yaml to user/config/plugins/proposal.yaml and only edit that copy.

Here is the default configuration and an explanation of available options:

enabled: true
pay_route: /you-can-change-this-url-that-processes-proposal-acceptance
stripe_public_key: ''
stripe_secret_key: ''
stripe_country: GB
stripe_currency: gbp

Extra tips

  • Include your own live chat into proposal.html.twig
  • Install the Admin User Manager Addon to easily create new users & give them access to your proposals.
  • Install the Editor Buttons Plugin to make it easy to insert markdown formatted pricing tables


🌟 Made by Jack Bryce-Smith at Markage Ltd.