Giter VIP home page Giter VIP logo

partner-billing's Introduction

Introduction

This app implements basic billing functionality for freelancers and small consultancies. The app is created and developed based on my personal needs as an independent salesforce consulting and implementation partner. I currently do not have decided upon a license, so please do not fork / clone!

Overview

In a galaxy far, far away, this app will provide full Billing / Account Management capabilities. For now, you can:

  • Create Budgets for your Accounts to keep track of hours logged and hours invoiced (against said budget)
  • Log time entries to track your work (store additional information like the resource and the product)
  • Perform a bill run to convert time entries to invoices
  • Generate PDFs for your invoice records and send them to billing contacts (using e-mail).

I use JIRA to organize releases and epics, however the release logs in GitHub are accurate.

Mass Edit Line Items

  • Conventiently mass-edit line items in tableview
  • Highlight edited cells (fields) and new rows
  • Reset changes (for complete table or single row)
  • Add new rows and delete complete rows with single button-clicks
  • Commit all changes with a single button-click

Edit line items animation

Create PDFs from Invoice Records

Many utility features to handle PDF generation from the record.

Preview the generated PDF

  • Multi-language support (maintain existing and add new translations with translation workbench)
  • Toggle rendering of the Invoice's timesheet
  • Select your company profile, that is used to fill header and footer
  • Review all changes in real-time

PDF Preview

Preview for Draft

Store generated PDFs as Attachments and Documents

  • Store all generated PDFs as full "Content Documents"
  • Creates new content versions for subsequently generated PDFs with same settings, new Documents for different settings
  • Watermark is added for PDFs that are generated while Invoice is still a draft (currently not localized)

Draft and activated PDF

Handle automatic sync or delete of PDF

  • Track changes on all relevant fields (amount, billing address, date, etc)
  • Decide, if changes will create a new version of PDF or delete the whole document alltogether
  • Store the configurable options that will be used when creating a new PDF file

Sync/Delete PDFs

Perform invoicing runs

  • Automatically generate invoices for selected time entries in a filtered service period
  • Review and edit generated draft invoices and activate them
  • Generate PDFs for all activated invoices and preview them
  • Send PDFs with selected E-Mail template to configured billing contacts

Full Invoicing Run

Contribute

Please contact me if you want to fork the repo or contribute. Lincense is tbd.

Branching Model

Branching model is based on GitFlow, but slightly adjusted to better work with SFDX (Package deploys & CI). The main stable branch is master and I use multiple feature and version branches (feature/PB-xx-story-name and version/major.minor.patch) where development is done. To reduce overhead, work can be done in both feature and version branches (as long as the version is developed by a single person). Feature branches always merge to version branches. Version branches merge to master. CI triggers on version branches will create new package versions and install them on Staging / UAT Sandboxes and perform a full regression run of all apex & jest tests.

Development Workflow

Setup Scratch org using the scripts. This will speed up test data import, permission sets, etc.

Windows:

.\dev-tools\win\default_init.ps1 -a "ScratchAlias"

MacOs:

bash dev-tools/macOS/default_init.sh

partner-billing's People

Contributors

j-schreiber avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.