# The anybill POS SDK

With the anybill POS SDK we enable POS manufacturers to easily integrate our Vendor API. The SDK handles authentication, communication with the Vendor API and includes the data model to enable fast mapping of data. The SDK is currently only available for C#.

Generated technical documentation including models and changelog:

# Changelog

All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning (opens new window).

# 3.0.0.38 – 2025-09-10

# Added

  • CardPaymentDetails: CardPaymentDetails can now be initiated as PaymentDetail class to use when no specific card type is available.

  • CardPayment: CardPayment can be used as PaymenType if no detailed Card information is available.

# 3.0.0.36 – 2025-09-10

# Added

  • Card payments: AuthCode parameter added to CardPaymentDetails.

    • Enables passing the payment authorization/approval code alongside existing card fields.
  • Misc extension: ReceiptType added and exposed through misc extension.

    • Introduces a first-class type for classifying receipts (e.g., purchase, return, etc.).
  • External category: Added support for an external (third-party) category value on misc extensions.

    • Allows mapping to external product/category taxonomies without losing fidelity.

# Migration notes

# CardPaymentDetails: pass AuthCode (if available)

If you receive an approval/authorization code from your PSP or terminal, add it to your card payment details:

using anybill.POS.Client.Abstractions.Models.Receipt.PaymentType.Extension.PaymentDetails;

var details = new CardPaymentDetails
{
    // existing fields
    CardPan = "411111******1111",
    // new field
    AuthCode = "A12345"
};

The property is optional. No breaking changes to existing code if you don’t set it.

# ReceiptType on misc extension

When building receipts, populate ReceiptType via the misc extension:

using anybill.POS.Client.Abstractions.Models.Receipt.Misc.Extension;

var misc = new AnybillMiscExtension
{
    ReceiptType = ReceiptType.DeliveryNote,   // e.g., Receipt, DeliveryNote, EInvoice
};

# ExternalCategory on item extension

var itemExtension = new AnybillItemExtension
{
    ExternalCategory = "Lebensmittel > Milchprodukte > Käse > Hartkäse > Gereift > Parmesan"     // new external category / Warengruppe
}


For technical questions, feel free to contact us:

dev@anybill.de