← Back to Benchmark Results

Business Logic

Codeunits, calculations, algorithms, and string manipulation

Report generated: February 14, 2026 at 8:13 PM

Benchmark data: Feb 8, 2026 – Feb 13, 2026

12
Models
11
Tasks
68.2%
Pass Rate

Model Rankings

pass@1 pass@3 (additional)
Kimi K2.5 (t0.1)
55%
54.5%
Glm 5 (t0.1)
52%
21%
72.7%
Qwen3 Coder Next (t0.1)
52%
12%
63.6%
Gemini 3 Pro (t0.1)
45%
18%
63.6%

Model Performance

anthropic/claude-opus-4-6

Runs:3
pass@1:81.8%
pass@3:81.8%
Consistency:100.0%
1st: 232nd: 4Failed: 29/11 passed
Temperature:0.1
Thinking:-
Tokens/run:52,951
Cost/run:$0.94

Known Shortcomings (6)

  • reserved-keyword-as-parameter-name 1x
  • cross-join-dataitem-link 1x
  • incomplete-procedure-body 1x
  • flowfield-calcfields-requirement 1x
  • parse-failure 1x
+1 more View all 6
View details ›

openai/gpt-5.2-2025-12-11@thinking=high

Runs:3
pass@1:78.8%
pass@3:81.8%
Consistency:90.9%
1st: 182nd: 8Failed: 29/11 passed
Temperature:0.1
Thinking:high
Tokens/run:27,045
Cost/run:$0.25

Known Shortcomings (10)

  • interface-definition-syntax 2x
  • table-field-caption-property 1x
  • query-object-syntax 1x
  • query-crossjoin-syntax 1x
  • parse-failure 1x
+5 more View all 10
View details ›

anthropic/claude-opus-4-5-20251101@thinking=50000

Runs:3
pass@1:75.8%
pass@3:81.8%
Consistency:90.9%
1st: 212nd: 4Failed: 29/11 passed
Temperature:0.1
Thinking:50,000
Tokens/run:38,498
Cost/run:$0.65

Known Shortcomings (8)

  • page-extension-with-table-extension 1x
  • reserved-keyword-as-parameter-name 1x
  • dictionary-iteration-syntax 1x
  • empty-or-malformed-code-generation 1x
  • temporary-table-parameter-handling 1x
+3 more View all 8
View details ›

anthropic/claude-sonnet-4-5-20250929

Runs:3
pass@1:72.7%
pass@3:81.8%
Consistency:81.8%
1st: 152nd: 9Failed: 29/11 passed
Temperature:0.1
Thinking:-
Tokens/run:34,603
Cost/run:$0.34

Known Shortcomings (8)

  • multiline-string-literals 1x
  • query-filter-element-syntax 1x
  • jsonobject-get-method-signature 1x
  • cross-join-dataitem-link-constraints 1x
  • reserved-keyword-as-variable-name 1x
+3 more View all 8
View details ›

openrouter/x-ai/grok-code-fast-1

Runs:3
pass@1:66.7%
pass@3:72.7%
Consistency:81.8%
1st: 182nd: 4Failed: 38/11 passed
Temperature:0.1
Thinking:-
Tokens/run:39,117
Cost/run:$0.38

Known Shortcomings (12)

  • query-object-syntax 2x
  • multiline-string-literals 1x
  • page-extension-cardpageid-override 1x
  • json-api-methods 1x
  • recordref-fieldref-dynamic-manipulation 1x
+7 more View all 12
View details ›

openrouter/moonshotai/kimi-k2.5

Runs:3
pass@1:54.5%
pass@3:54.5%
Consistency:100.0%
1st: 172nd: 1Failed: 56/11 passed
Temperature:0.1
Thinking:-
Tokens/run:56,434
Cost/run:$0.45

Known Shortcomings (3)

  • event-subscriber-parameter-syntax 1x
  • page-extension-cardpageid-override 1x
  • parse-failure 1x
View details ›

openrouter/minimax/minimax-m2.5

Runs:3
pass@1:51.5%
pass@3:54.5%
Consistency:90.9%
1st: 162nd: 1Failed: 56/11 passed
Temperature:0.1
Thinking:-
Tokens/run:37,145
Cost/run:$0.27

Known Shortcomings (18)

  • interface-definition-syntax 2x
  • text-char-conversion-copystr 1x
  • page-object-definition 1x
  • event-subscriber-attribute-syntax 1x
  • page-extension-and-table-extension-generation 1x
+13 more View all 18
View details ›

openrouter/z-ai/glm-5

Runs:3
pass@1:51.5%
pass@3:72.7%
Consistency:54.5%
1st: 122nd: 5Failed: 38/11 passed
Temperature:0.1
Thinking:-
Tokens/run:53,019
Cost/run:$0.45

Known Shortcomings (17)

  • list-dictionary-of-interface-clear-method 1x
  • event-subscriber-event-name 1x
  • al-string-literal-escaping 1x
  • query-object-syntax 1x
  • fluent-api-return-self-codeunit 1x
+12 more View all 17
View details ›

openrouter/qwen/qwen3-coder-next

Runs:3
pass@1:51.5%
pass@3:63.6%
Consistency:72.7%
1st: 142nd: 3Failed: 47/11 passed
Temperature:0.1
Thinking:-
Tokens/run:30,842
Cost/run:$0.29

Known Shortcomings (19)

  • codeunit-generation-empty-output 5x
  • interface-definition-syntax 3x
  • query-object-syntax 2x
  • initvalue-vs-defaultvalue 1x
  • text-trim-method-unavailable 1x
+14 more View all 19
View details ›

openrouter/qwen/qwen3-max-thinking

Runs:3
pass@1:48.5%
pass@3:54.5%
Consistency:90.9%
1st: 132nd: 3Failed: 56/11 passed
Temperature:0.1
Thinking:-
Tokens/run:29,331
Cost/run:$0.23

Known Shortcomings (12)

  • option-field-optionmembers-required 2x
  • enum-frominteger-syntax 1x
  • list-iteration-pattern 1x
  • variant-type-argument-and-interface-definition 1x
  • json-object-api-methods 1x
+7 more View all 12
View details ›

openrouter/deepseek/deepseek-v3.2

Runs:3
pass@1:48.5%
pass@3:54.5%
Consistency:90.9%
1st: 112nd: 5Failed: 56/11 passed
Temperature:0.1
Thinking:-
Tokens/run:32,682
Cost/run:$0.32

Known Shortcomings (18)

  • dictionary-clear-method 1x
  • application-area-in-page-extension-field 1x
  • multiline-string-literals 1x
  • page-extension-cardpageid-override 1x
  • errorinfo-custom-dimensions-api 1x
+13 more View all 18
View details ›

gemini/gemini-3-pro-preview

Runs:3
pass@1:45.5%
pass@3:63.6%
Consistency:63.6%
1st: 142nd: 1Failed: 47/11 passed
Temperature:0.1
Thinking:-
Tokens/run:182,421
Cost/run:$0.21

Known Shortcomings (9)

  • multiline-string-literals 1x
  • inherent-permissions-syntax 1x
  • query-crossjoin-column-datasource 1x
  • complete-codeunit-generation 1x
  • yaml-parsing-string-manipulation 1x
+4 more View all 9
View details ›

Task Results Matrix

N/M = passed N of M runs (hover for details)

TaskDescriptionClaude Opus 4.6GPT-5.2Claude Opus 4.5 (50K)Claude Sonnet 4.5Grok Code Fast 1Kimi K2.5Minimax M2.5Glm 5Qwen3 Coder NextQwen3 Max ThinkingDeepseek V3.2Gemini 3 Pro
CG-AL-E005Create a simple AL codeunit called "Text Utilities" with ID 70000. The codeunit should have the following public procedures: - CapitalizeFirstLetter(InputText: Text): Text - capitalizes the first letter of input text - CountWords(InputText: Text): Integer - counts the number of words in the input text - IsValidEmail(EmailAddress: Text): Boolean - basic validation to check if text contains @ and .3/33/33/33/33/33/30/33/32/31/33/31/3
CG-AL-E050Create an AL codeunit named "CG Text Builder" with ID 70050 that uses multiline string literals.3/32/31/30/30/30/30/30/30/30/30/30/3
CG-AL-E051Create an AL codeunit named "CG Number Sequence" with ID 70051 that increments string values with numeric portions.3/33/33/32/32/30/30/31/30/30/30/32/3
CG-AL-E052Create an AL codeunit named "CG Type Converter" with ID 70052 for converting simple types to text.3/33/33/33/33/30/32/31/33/33/31/30/3
CG-AL-H001Create a codeunit called "Tax Calculator" with ID 70100. The codeunit should implement international tax calculation with the following procedure:3/33/33/33/33/33/33/32/33/33/33/32/3
CG-AL-H009Create a codeunit that implements proper BC currency rounding patterns.3/33/33/33/33/33/33/32/33/33/33/31/3
CG-AL-H013Create an AL codeunit named "CG Loop Utilities" with ID 70013 that demonstrates the continue keyword:3/33/33/33/32/33/33/33/33/33/33/33/3
CG-AL-M002Create a comprehensive business logic codeunit called "Sales Order Calculator" with ID 70001. The codeunit should implement sales calculations including: - CalculateLineTotal(Quantity: Decimal; UnitPrice: Decimal): Decimal - basic calculation - CalculateLineTotal(Quantity: Decimal; UnitPrice: Decimal; DiscountPercent: Decimal): Decimal - with discount - CalculateOrderTotal(LineTotals: List of [Decimal]): Decimal - sum all line totals from list - ApplyVolumeDiscount(OrderTotal: Decimal): Decimal - apply tiered discounts:3/33/33/33/33/33/33/33/32/30/30/33/3
CG-AL-M008Create a workflow implementation codeunit called "Purchase Approval Workflow" with ID 70003.0/30/30/31/30/30/30/30/30/30/30/30/3
CG-AL-M010Create a complete multi-object scenario for a "Project Management" system with related objects:0/30/30/30/30/30/30/30/30/30/30/30/3
CG-AL-M0881. Create an Enum with ID 70188 named "Subscription Plan".3/33/33/33/33/33/33/32/31/33/33/33/3