Getting started with Order Adjuster plugin Starting with the Business Logic plugin from https://github.com/lindseydiloreto/craft-businesslogic I'm following 3 for 2 etc with Craft Commerce to get started.

I have my main plugin file containing:

&lt;?php
namespace Craft;
require_once('Adjusters/BusinessLogic_TaxRemover.php');

class BusinessLogicPlugin extends BasePlugin
{

    public function getName()
    {
        return 'BusinessLogic';
    }

    public function getDescription()
    {
        return '';
    }

    public function getVersion()
    {
        return '1.0.0';
    }

    public function getDeveloper()
    {
        return craft()-&gt;getSiteName();
    }

    public function getDeveloperUrl()
    {
        return '';
    }

    public function init()
    {
    }

    public function commerce_registerOrderAdjusters(){

        return [

            new Commerce_TaxAdjuster

        ];
    }

}


And within Adjusters/BusinessLogic_TaxRemover.php I have:

&lt;?php

namespace Commerce\Adjusters;
use Craft\Commerce_LineItemModel;
use Craft\Commerce_OrderAdjustmentModel;
use Craft\Commerce_OrderModel;

class BusinessLogic_TaxRemover implements Commerce_AdjusterInterface {

    public function adjust(Commerce_OrderModel &amp;$order, array $lineItems = []){

        $myAdjuster = new Commerce_OrderAdjustmentModel();

        $order-&gt;baseDiscount = $order-&gt;baseDiscount - 5;

        $myAdjuster-&gt;type = "Test";
        $myAdjuster-&gt;name = "Test Adjuster";
        $myAdjuster-&gt;description = "Takes $5 off the order";
        $myAdjuster-&gt;amount = -5.0;
        $myAdjuster-&gt;orderId = $order-&gt;id;

        //if your Adjuster affects lineItems rather than the total, you record the ids here
        $myAdjuster-&gt;optionsJson = ['lineItemsAffected'=&gt;null];
        $myAdjuster-&gt;included = false;

        return [$myAdjuster];

    }

}


But whenever doing anything to the cart, I just get the error:

Error

Class 'Craft\BusinessLogic_TaxRemover' not found

C:\Users\clive\Desktop\repos\_craft\craft\plugins\businesslogic\BusinessLogicPlugin.php(38)

26     }
27 
28     public function getDeveloperUrl()
29     {
30         return '';
31     }
32 
33     public function init()
34     {
35     }
36     public function commerce_registerOrderAdjusters(){
37            return [
38             new BusinessLogic_TaxRemover
39             
40            ];
41     }
42 
43 }
To get an adjuster working, it's really all about consistent naming and making sure PHP can find the class.  Here are the main things to address:

Your adjuster should be defined in a file that matches it's classname

So in this case a folder off the main plugin folder:

 /craft/plugins/businesslogic/Adjusters/BusinessLogic_TaxRemover.php


Include the Adjuster class file. 

You can do this (at least) two ways:

include or require the adjuster file in your main plugin class

e.g.

&lt;?php
namespace Craft;

require_once('Adjusters/BusinessLogic_TaxRemover.php');


OR you can use Craft::import (which is probably the better way I guess?)

Craft::import('plugins.businesslogic.adjusters.BusinessLogic_TaxRemover');


** The Classname must match the filename **

So e.g. in this case

&lt;?php

namespace Commerce\Adjusters;
use Craft\Commerce_LineItemModel;
use Craft\Commerce_OrderAdjustmentModel;
use Craft\Commerce_OrderModel;

class BusinessLogic_TaxRemover implements Commerce_AdjusterInterface {

   etc
}


You must also finally register your Adjuster with commerce 

And again you must use the same classname (and be mindful of namespaces!)
So in this example:

public function commerce_registerOrderAdjusters(){
    return [
        new \Commerce\Adjusters\BusinessLogic_TaxRemover

    ];
}