EC-CUBE 3.0.16 でカスタマイズしています。
受注CSVに利用ポイントと加算ポイントを追加しました。

カスタマイズ方法としては、
1. dtb_csv に利用ポイントと加算ポイントを挿入
2. プログラムに処理を追加
です。
3系になってからは、標準項目の追加なら、DBに値を追加するだけで出力してくれるので非常に便利でした。

ただプラグインの場合はそのプラグインがCSVの処理を入れてない場合 1. だけでは出力できないので、
プログラム側にカスタマイズが必要でした。
そこで今回は苦戦しました。またあまり正しくない方法で取り急ぎの対応…になります。


ググってみると、
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=18139&forum=13
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=19444&forum=11
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=19318&forum=11
https://github.com/EC-CUBE/ec-cube/pull/1944
などなど、参考になりそうなトピックスがありました。


まずは、1. dtb_csv に利用ポイントと加算ポイントを挿入を実行。
SQLでサクッと行います。
INSERT INTO `dtb_csv` (`csv_id`, `csv_type`, `creator_id`, `entity_name`, `field_name`, `reference_field_name`, `disp_name`, `rank`, `enable_flg`, `create_date`, `update_date`) VALUES (NULL, '3', '1', 'Plugin\Point\Entity\Point', 'point', 'use', '利用ポイント', '', '1', '', '');
INSERT INTO `dtb_csv` (`csv_id`, `csv_type`, `creator_id`, `entity_name`, `field_name`, `reference_field_name`, `disp_name`, `rank`, `enable_flg`, `create_date`, `update_date`) VALUES (NULL, '3', '1', 'Plugin\Point\Entity\Point', 'point', 'add', '加算ポイント', '', '1', '', '');
`entity_name` は恐らく 'Plugin\Point\Entity\Point' であっていると思いますが、
`field_name` と `reference_field_name` とはダミーになります。
↑は、'Plugin\Point\Entity\Point' で定義されているファイルの中の変数を入れると思いますが、
適切なものが見当たりませんでしたので…
この辺アドバイスされたい…(>_<)


次に、2. プログラムに処理を追加
本来は新たに処理用のプラグインを作るようですが、今回は取り急ぎのため本体コードを編集します。
/src/Eccube/Controller/Admin/Order/OrderController.php が、
管理画面の受注画面をコントロールしているファイルになります。
exportOrder関数の中の、だいたい260行目に
$event = new EventArgs(
とあるので、その上に下記を追記します。
/src/Eccube/Controller/Admin/Order/OrderController.php$Customer = $Order->getCustomer();
// 会員のみ処理
if ($Customer) {
    if ($Csv->getDispName() === '利用ポイント') {
        // 利用ポイント取得
        $usePoint = $app['eccube.plugin.point.repository.point']->getLatestUsePoint($Order);
        $usePoint = abs($usePoint);
        $ExportCsvRow->setData($usePoint);
    }
    if ($Csv->getDispName() === '加算ポイント') {
        // 加算ポイント取得
        $addPoint = $app['eccube.plugin.point.repository.point']->getLatestAddPointByOrder($Order);
        $ExportCsvRow->setData($addPoint);
    }
} else {
    if ($Csv->getDispName() === '利用ポイント') {
        // $ExportCsvRow->setData(0);
    }
    if ($Csv->getDispName() === '加算ポイント') {
        // $ExportCsvRow->setData(0);
    }
}
まず会員であるかをチェックして、非会員の場合は空欄(場合によっては0を出力してもよいかも)にしています。
非会員でも加算ポイントを取得しようとするとエラーが出るので会員チェックは重要です。

次に 'eccube.plugin.point.repository.point' でポイントのリポジトリにアクセスできるので、
用意されている関数に $Order を渡すと利用ポイント取得、加算ポイント取得が取得できます。
取得できたポイントを $Csv->getDispName() が '利用ポイント' と '加算ポイント' との時に、
CSVにセットする、という感じになっています。


配送CSVも同じ作業でできました。

以上ですが、冒頭にも言いましたがこれは良い方法でないので、
参考程度が良いかと思います。

それにしてもSymfonyとSilexを勉強しないとついていけませんね...。