krasselt/afs-order-format 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

krasselt/afs-order-format

Composer 安装命令:

composer require krasselt/afs-order-format

包简介

Generates AFS Vorgangimport email bodies from order data

README 文档

README

PHP library that generates email bodies in the AFS Vorgangimport format (###AFS_VORGANGIMPORT#). Designed to bridge online shop orders into AFS billing software via email.

The output contains both a human-readable order summary and the machine-readable ###FIELD:VALUE# import block that AFS parses automatically.

Requirements

  • PHP 8.2+
  • ext-bcmath

Installation

composer require krasselt/afs-order-format

Usage

use Krasselt\AfsOrderFormat\AfsOrderGenerator;
use Krasselt\AfsOrderFormat\OrderData;
use Krasselt\AfsOrderFormat\CustomerData;
use Krasselt\AfsOrderFormat\ShippingData;
use Krasselt\AfsOrderFormat\PaymentData;
use Krasselt\AfsOrderFormat\CartItem;

$generator = new AfsOrderGenerator(shopName: 'My Shop');

$order = new OrderData(
    customer: new CustomerData(
        customerNumber: 'KU-1937',
        company: 'Example GmbH',
        lastName: 'Mustermann',
        firstName: 'Max',
        street: 'Musterstraße 1',
        zip: '01234',
        city: 'Musterstadt',
        state: 'Sachsen',
        phone: '0123-456789',
        email: 'max@example.de',
    ),
    shipping: new ShippingData(
        method: 'Vorkasse DHL-Paketversand',
        cost: '5.50',
        deliveryType: 'per DHL Paketdienst',
    ),
    payment: new PaymentData(
        method: 'Vorkasse DHL-Paketversand',
    ),
    items: [
        new CartItem(
            position: 1,
            quantity: 2,
            articleNumber: '031',
            description: 'Terminal Servicegebühr',
            unitPrice: '10.00',
            totalPrice: '20.00',
        ),
        new CartItem(
            position: 2,
            quantity: 1,
            articleNumber: '109',
            description: 'Mobile-Daten SIM Karte n. Verb.',
            unitPrice: '4.35',
            totalPrice: '4.35',
        ),
    ],
    orderDate: new \DateTimeImmutable(),
    orderId: 'ORD-001',
    vatAmount: '3.89',
);

// Full email body (human-readable + AFS import block)
$emailBody = $generator->generate($order);

// Or generate sections individually
$humanReadable = $generator->generateHumanReadable($order);
$afsImport = $generator->generateAfsImport($order);

Data classes

Class Purpose
CustomerData Customer number, company, name, address, contact, EU tax ID
ShippingData Shipping method, cost, delivery type, surcharge, delivery address
PaymentData Payment method, bank details, credit card, voucher
CartItem Position number, quantity, article number, description, unit/total price
OrderData Composes all of the above + order date, ID, remarks, VAT

All fields default to empty strings, so you only need to pass what you have. OrderData provides getSubtotal() and getGrandTotal() computed from the cart items and shipping.

Output format

The generated text contains two sections:

1. Human-readable summary — formatted order confirmation with customer data, articles, and totals.

2. AFS import block — starts with AUTOVORGANGIMPORT: ###AFS_VORGANGIMPORT# followed by tagged fields:

###KNUMMER:KU-1937#
###FIRMA:Example GmbH#
###NAME:Mustermann#
...
###POSTEN#
###POS_NR:1#
###POS_ANZAHL:2#
###POS_ARTIKELNR:031#
###POS_ARTIKELBE:Terminal Servicegebühr#
###POS_EPREIS:10.00#
###POS_GPREIS:20.00#

License

Proprietary

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 6
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: proprietary
  • 更新时间: 2026-04-16

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固